| 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 |