OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 COMPONENTS_EXO_SURFACE_DELEGATE_H_ | 5 #ifndef COMPONENTS_EXO_SURFACE_DELEGATE_H_ |
6 #define COMPONENTS_EXO_SURFACE_DELEGATE_H_ | 6 #define COMPONENTS_EXO_SURFACE_DELEGATE_H_ |
7 | 7 |
8 namespace exo { | 8 namespace exo { |
9 | 9 |
10 // Handles events on surfaces in context-specific ways. | 10 // Handles events on surfaces in context-specific ways. |
11 class SurfaceDelegate { | 11 class SurfaceDelegate { |
12 public: | 12 public: |
13 // Called when the surface is destroyed. The delegate can use this | |
14 // opportunity to delete itself if necessary. | |
15 virtual void OnSurfaceDestroying() = 0; | |
16 | |
17 // Called when surface was requested to commit all double-buffered state. | 13 // Called when surface was requested to commit all double-buffered state. |
18 virtual void OnSurfaceCommit() = 0; | 14 virtual void OnSurfaceCommit() = 0; |
19 | 15 |
| 16 // Returns true if surface is in synchronized mode. ie. commit of |
| 17 // double-buffered state should be synchronized with parent surface. |
| 18 virtual bool IsSurfaceSynchronized() const = 0; |
| 19 |
20 protected: | 20 protected: |
21 virtual ~SurfaceDelegate() {} | 21 virtual ~SurfaceDelegate() {} |
22 }; | 22 }; |
23 | 23 |
24 } // namespace exo | 24 } // namespace exo |
25 | 25 |
26 #endif // COMPONENTS_EXO_SURFACE_DELEGATE_H_ | 26 #endif // COMPONENTS_EXO_SURFACE_DELEGATE_H_ |
OLD | NEW |