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) {} |
sunnyps
2017/05/22 06:46:38
This should be a pure abstract class otherwise we
sunnyps
2017/05/22 06:46:38
Should we add the begin frame args and ack to Surf
Eric Seckler
2017/05/22 15:32:15
Done.
Eric Seckler
2017/05/22 15:32:15
We could, but it's not really relevant in that sit
| |
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) {} |
20 virtual void OnSurfaceDamaged(const SurfaceId& surface_id, bool* changed) = 0; | 23 |
24 // Runs when a Surface is damaged (a new CompositorFrame is activated). | |
25 // *changed should be set to true if this causes a Display to be damaged. | |
26 virtual void OnSurfaceDamaged(const SurfaceId& surface_id, bool* changed) {} | |
27 | |
28 // Runs when a Surface's CompositorFrame producer has received a BeginFrame. | |
29 virtual void OnSurfaceReceivedBeginFrame(const SurfaceId& surface_id, | |
sunnyps
2017/05/22 06:46:38
bikeshed nit: OnSurfaceBeginFrame
Eric Seckler
2017/05/22 15:32:15
Done.
| |
30 const BeginFrameArgs& args) {} | |
31 | |
32 // Runs when a Surface's CompositorFrame producer has completed a BeginFrame | |
33 // either by submitting a CompositorFrame or confirming that it will not | |
34 // submit one. | |
35 virtual void OnSurfaceFinishedBeginFrame(const SurfaceId& surface_id, | |
sunnyps
2017/05/22 06:46:38
bikeshed nit: OnSurfaceBeginFrameAck
Eric Seckler
2017/05/22 15:32:15
Done.
| |
36 const BeginFrameAck& ack) {} | |
21 }; | 37 }; |
22 | 38 |
23 } // namespace cc | 39 } // namespace cc |
24 | 40 |
25 #endif // CC_SURFACES_SURFACE_OBSERVER_H_ | 41 #endif // CC_SURFACES_SURFACE_OBSERVER_H_ |
OLD | NEW |