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 SERVICES_UI_PUBLIC_CPP_SURFACE_ID_HANDLER_H_ | 5 #ifndef UI_AURA_MUS_SURFACE_ID_HANDLER_H_ |
6 #define SERVICES_UI_PUBLIC_CPP_SURFACE_ID_HANDLER_H_ | 6 #define UI_AURA_MUS_SURFACE_ID_HANDLER_H_ |
7 | 7 |
8 #include "cc/surfaces/surface_id.h" | 8 #include "cc/surfaces/surface_id.h" |
9 #include "cc/surfaces/surface_sequence.h" | 9 #include "cc/surfaces/surface_sequence.h" |
10 #include "ui/gfx/geometry/size.h" | 10 #include "ui/gfx/geometry/size.h" |
11 | 11 |
12 namespace ui { | 12 namespace aura { |
13 | 13 |
14 class Window; | 14 class Window; |
15 | 15 |
16 // Holds information about the current surface held by a Window. | 16 // Holds information about the current surface held by a Window. |
17 // |surface_id| uniquely identifies the surface in the display | 17 // |surface_id| uniquely identifies the surface in the display |
18 // compositor. | 18 // compositor. |
19 // |surface_sequence| is a reference to the surface to retain | 19 // |surface_sequence| is a reference to the surface to retain |
20 // this surface even after a new surface has been created. | 20 // this surface even after a new surface has been created. |
21 // |frame_size| is the size of the frame held by the surface. | 21 // |frame_size| is the size of the frame held by the surface. |
22 // |device_scale_factor| is the scale factor that the frame was | 22 // |device_scale_factor| is the scale factor that the frame was |
23 // renderered for. | 23 // renderered for. |
24 struct SurfaceInfo { | 24 struct SurfaceInfo { |
25 cc::SurfaceId surface_id; | 25 cc::SurfaceId surface_id; |
26 cc::SurfaceSequence surface_sequence; | 26 cc::SurfaceSequence surface_sequence; |
27 gfx::Size frame_size; | 27 gfx::Size frame_size; |
28 float device_scale_factor; | 28 float device_scale_factor; |
29 }; | 29 }; |
30 | 30 |
31 class SurfaceIdHandler { | 31 class SurfaceIdHandler { |
32 public: | 32 public: |
33 // Called when a child window allocates a new surface ID. | 33 // Called when a child window allocates a new surface ID. |
34 // If the handler wishes to retain ownership of the |surface_info|, | 34 // If the handler wishes to retain ownership of the |surface_info|, |
35 // it can move it. If a child's surface has been cleared then | 35 // it can move it. If a child's surface has been cleared then |
36 // |surface_info| will refer to a null pointer. | 36 // |surface_info| will refer to a null pointer. |
37 virtual void OnChildWindowSurfaceChanged( | 37 virtual void OnChildWindowSurfaceChanged( |
38 Window* window, | 38 Window* window, |
39 std::unique_ptr<SurfaceInfo>* surface_info) = 0; | 39 std::unique_ptr<SurfaceInfo>* surface_info) = 0; |
40 }; | 40 }; |
41 | 41 |
42 } // namespace ui | 42 } // namespace aura |
43 | 43 |
44 #endif // SERVICES_UI_PUBLIC_CPP_SURFACE_ID_HANDLER_H_ | 44 #endif // UI_AURA_MUS_SURFACE_ID_HANDLER_H_ |
OLD | NEW |