| OLD | NEW |
| 1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef CC_SURFACES_SURFACE_OBSERVER_H_ | 5 #ifndef CC_SURFACES_SURFACE_OBSERVER_H_ |
| 6 #define CC_SURFACES_SURFACE_OBSERVER_H_ | 6 #define CC_SURFACES_SURFACE_OBSERVER_H_ |
| 7 | 7 |
| 8 namespace cc { | 8 namespace cc { |
| 9 | 9 |
| 10 struct BeginFrameAck; | 10 struct BeginFrameAck; |
| 11 struct BeginFrameArgs; | 11 struct BeginFrameArgs; |
| 12 class SurfaceId; | 12 class SurfaceId; |
| 13 class SurfaceInfo; | 13 class SurfaceInfo; |
| 14 | 14 |
| 15 class SurfaceObserver { | 15 class SurfaceObserver { |
| 16 public: | 16 public: |
| 17 // Runs when a CompositorFrame is activated for the given SurfaceInfo for the | 17 // Runs when a CompositorFrame is activated for the given SurfaceInfo for the |
| 18 // first time. | 18 // first time. |
| 19 virtual void OnSurfaceCreated(const SurfaceInfo& surface_info) = 0; | 19 virtual void OnSurfaceCreated(const SurfaceInfo& surface_info) = 0; |
| 20 | 20 |
| 21 // Runs when a Surface was marked to be destroyed. | |
| 22 virtual void OnSurfaceDestroyed(const SurfaceId& surface_id) = 0; | |
| 23 | |
| 24 // Runs when a Surface is modified, e.g. when a CompositorFrame is | 21 // Runs when a Surface is modified, e.g. when a CompositorFrame is |
| 25 // activated, its producer confirms that no CompositorFrame will be submitted | 22 // activated, its producer confirms that no CompositorFrame will be submitted |
| 26 // in response to a BeginFrame, or a CopyOutputRequest is issued. | 23 // in response to a BeginFrame, or a CopyOutputRequest is issued. |
| 27 // | 24 // |
| 28 // |ack.sequence_number| is only valid if called in response to a BeginFrame. | 25 // |ack.sequence_number| is only valid if called in response to a BeginFrame. |
| 29 // |*changed| should be set to true if this causes a Display to be damaged. | 26 // |*changed| should be set to true if this causes a Display to be damaged. |
| 30 virtual void OnSurfaceDamaged(const SurfaceId& surface_id, | 27 virtual void OnSurfaceDamaged(const SurfaceId& surface_id, |
| 31 const BeginFrameAck& ack, | 28 const BeginFrameAck& ack, |
| 32 bool* changed) = 0; | 29 bool* changed) = 0; |
| 33 | 30 |
| 34 // Called when a surface is garbage-collected. | 31 // Called when a surface is garbage-collected. |
| 35 virtual void OnSurfaceDiscarded(const SurfaceId& surface_id) = 0; | 32 virtual void OnSurfaceDiscarded(const SurfaceId& surface_id) = 0; |
| 36 | 33 |
| 37 // Runs when a Surface's CompositorFrame producer has received a BeginFrame | 34 // Runs when a Surface's CompositorFrame producer has received a BeginFrame |
| 38 // and, thus, is expected to produce damage soon. | 35 // and, thus, is expected to produce damage soon. |
| 39 virtual void OnSurfaceDamageExpected(const SurfaceId& surface_id, | 36 virtual void OnSurfaceDamageExpected(const SurfaceId& surface_id, |
| 40 const BeginFrameArgs& args) = 0; | 37 const BeginFrameArgs& args) = 0; |
| 41 }; | 38 }; |
| 42 | 39 |
| 43 } // namespace cc | 40 } // namespace cc |
| 44 | 41 |
| 45 #endif // CC_SURFACES_SURFACE_OBSERVER_H_ | 42 #endif // CC_SURFACES_SURFACE_OBSERVER_H_ |
| OLD | NEW |