| 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; |
| 11 struct BeginFrameArgs; |
| 12 class SurfaceId; |
| 10 class SurfaceInfo; | 13 class SurfaceInfo; |
| 11 | 14 |
| 12 class SurfaceObserver { | 15 class SurfaceObserver { |
| 13 public: | 16 public: |
| 14 // Runs when a CompositorFrame is received for the given SurfaceInfo for the | 17 // Runs when a CompositorFrame is activated for the given SurfaceInfo for the |
| 15 // first time. | 18 // first time. |
| 16 virtual void OnSurfaceCreated(const SurfaceInfo& surface_info) = 0; | 19 virtual void OnSurfaceCreated(const SurfaceInfo& surface_info) = 0; |
| 17 | 20 |
| 18 // Runs when a Surface is damaged. *changed should be set to true if this | 21 // Runs when a Surface was marked to be destroyed. |
| 19 // causes a Display to be damaged. | 22 virtual void OnSurfaceDestroyed(const SurfaceId& surface_id) = 0; |
| 20 virtual void OnSurfaceDamaged(const SurfaceId& surface_id, bool* changed) = 0; | 23 |
| 24 // Runs when a Surface is modified, e.g. when a CompositorFrame is |
| 25 // activated, its producer confirms that no CompositorFrame will be submitted |
| 26 // in response to a BeginFrame, or a CopyOutputRequest is issued. |
| 27 // |
| 28 // |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. |
| 30 virtual void OnSurfaceDamaged(const SurfaceId& surface_id, |
| 31 const BeginFrameAck& ack, |
| 32 bool* changed) = 0; |
| 21 | 33 |
| 22 // Called when a surface is garbage-collected. | 34 // Called when a surface is garbage-collected. |
| 23 virtual void OnSurfaceDiscarded(const SurfaceId& surface_id) = 0; | 35 virtual void OnSurfaceDiscarded(const SurfaceId& surface_id) = 0; |
| 36 |
| 37 // Runs when a Surface's CompositorFrame producer has received a BeginFrame |
| 38 // and, thus, is expected to produce damage soon. |
| 39 virtual void OnSurfaceDamageExpected(const SurfaceId& surface_id, |
| 40 const BeginFrameArgs& args) = 0; |
| 24 }; | 41 }; |
| 25 | 42 |
| 26 } // namespace cc | 43 } // namespace cc |
| 27 | 44 |
| 28 #endif // CC_SURFACES_SURFACE_OBSERVER_H_ | 45 #endif // CC_SURFACES_SURFACE_OBSERVER_H_ |
| OLD | NEW |