OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 UI_COMPOSITOR_COMPOSITOR_H_ | 5 #ifndef UI_COMPOSITOR_COMPOSITOR_H_ |
6 #define UI_COMPOSITOR_COMPOSITOR_H_ | 6 #define UI_COMPOSITOR_COMPOSITOR_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
(...skipping 30 matching lines...) Expand all Loading... |
41 class AnimationTimeline; | 41 class AnimationTimeline; |
42 class ContextProvider; | 42 class ContextProvider; |
43 class Layer; | 43 class Layer; |
44 class LayerTreeDebugState; | 44 class LayerTreeDebugState; |
45 class LayerTreeHost; | 45 class LayerTreeHost; |
46 class RendererSettings; | 46 class RendererSettings; |
47 class SurfaceManager; | 47 class SurfaceManager; |
48 class TaskGraphRunner; | 48 class TaskGraphRunner; |
49 } | 49 } |
50 | 50 |
| 51 namespace display_compositor { |
| 52 class DisplayCompositor; |
| 53 } |
| 54 |
51 namespace gfx { | 55 namespace gfx { |
52 class Rect; | 56 class Rect; |
53 class ScrollOffset; | 57 class ScrollOffset; |
54 class Size; | 58 class Size; |
55 } | 59 } |
56 | 60 |
57 namespace gpu { | 61 namespace gpu { |
58 class GpuMemoryBufferManager; | 62 class GpuMemoryBufferManager; |
59 } | 63 } |
60 | 64 |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 | 98 |
95 // Removes the reflector, which stops the mirroring. | 99 // Removes the reflector, which stops the mirroring. |
96 virtual void RemoveReflector(Reflector* reflector) = 0; | 100 virtual void RemoveReflector(Reflector* reflector) = 0; |
97 | 101 |
98 // Allocate a new client ID for the display compositor. | 102 // Allocate a new client ID for the display compositor. |
99 virtual cc::FrameSinkId AllocateFrameSinkId() = 0; | 103 virtual cc::FrameSinkId AllocateFrameSinkId() = 0; |
100 | 104 |
101 // Gets the surface manager. | 105 // Gets the surface manager. |
102 virtual cc::SurfaceManager* GetSurfaceManager() = 0; | 106 virtual cc::SurfaceManager* GetSurfaceManager() = 0; |
103 | 107 |
| 108 // Gets the display compositor responsible for hosting a SurfaceManager and |
| 109 // dispensing CompositorFrameSinks. |
| 110 virtual display_compositor::DisplayCompositor* GetDisplayCompositor() = 0; |
| 111 |
104 // Inform the display corresponding to this compositor if it is visible. When | 112 // Inform the display corresponding to this compositor if it is visible. When |
105 // false it does not need to produce any frames. Visibility is reset for each | 113 // false it does not need to produce any frames. Visibility is reset for each |
106 // call to CreateCompositorFrameSink. | 114 // call to CreateCompositorFrameSink. |
107 virtual void SetDisplayVisible(ui::Compositor* compositor, bool visible) = 0; | 115 virtual void SetDisplayVisible(ui::Compositor* compositor, bool visible) = 0; |
108 | 116 |
109 // Resize the display corresponding to this compositor to a particular size. | 117 // Resize the display corresponding to this compositor to a particular size. |
110 virtual void ResizeDisplay(ui::Compositor* compositor, | 118 virtual void ResizeDisplay(ui::Compositor* compositor, |
111 const gfx::Size& size) = 0; | 119 const gfx::Size& size) = 0; |
112 | 120 |
113 // Set the output color profile into which this compositor should render. | 121 // Set the output color profile into which this compositor should render. |
(...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
438 gfx::ColorSpace color_space_; | 446 gfx::ColorSpace color_space_; |
439 | 447 |
440 base::WeakPtrFactory<Compositor> weak_ptr_factory_; | 448 base::WeakPtrFactory<Compositor> weak_ptr_factory_; |
441 | 449 |
442 DISALLOW_COPY_AND_ASSIGN(Compositor); | 450 DISALLOW_COPY_AND_ASSIGN(Compositor); |
443 }; | 451 }; |
444 | 452 |
445 } // namespace ui | 453 } // namespace ui |
446 | 454 |
447 #endif // UI_COMPOSITOR_COMPOSITOR_H_ | 455 #endif // UI_COMPOSITOR_COMPOSITOR_H_ |
OLD | NEW |