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_WS_FRAME_GENERATOR_H_ | 5 #ifndef SERVICES_UI_WS_FRAME_GENERATOR_H_ |
6 #define SERVICES_UI_WS_FRAME_GENERATOR_H_ | 6 #define SERVICES_UI_WS_FRAME_GENERATOR_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include <unordered_map> | 9 #include <unordered_map> |
10 | 10 |
(...skipping 13 matching lines...) Expand all Loading... |
24 class RenderPass; | 24 class RenderPass; |
25 class SurfaceId; | 25 class SurfaceId; |
26 } | 26 } |
27 | 27 |
28 namespace gpu { | 28 namespace gpu { |
29 class GpuChannelHost; | 29 class GpuChannelHost; |
30 } | 30 } |
31 | 31 |
32 namespace ui { | 32 namespace ui { |
33 | 33 |
34 namespace surfaces { | |
35 class CompositorFrameSink; | |
36 } | |
37 | |
38 class DisplayCompositor; | 34 class DisplayCompositor; |
| 35 class DisplayCompositorFrameSink; |
39 | 36 |
40 namespace ws { | 37 namespace ws { |
41 | 38 |
42 namespace test { | 39 namespace test { |
43 class FrameGeneratorTest; | 40 class FrameGeneratorTest; |
44 } | 41 } |
45 | 42 |
46 class FrameGeneratorDelegate; | 43 class FrameGeneratorDelegate; |
47 class ServerWindow; | 44 class ServerWindow; |
48 class ServerWindowSurface; | 45 class ServerWindowSurface; |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 | 108 |
112 // ServerWindowObserver implementation. | 109 // ServerWindowObserver implementation. |
113 void OnWindowDestroying(ServerWindow* window) override; | 110 void OnWindowDestroying(ServerWindow* window) override; |
114 | 111 |
115 FrameGeneratorDelegate* delegate_; | 112 FrameGeneratorDelegate* delegate_; |
116 scoped_refptr<DisplayCompositor> display_compositor_; | 113 scoped_refptr<DisplayCompositor> display_compositor_; |
117 cc::FrameSinkId frame_sink_id_; | 114 cc::FrameSinkId frame_sink_id_; |
118 cc::SurfaceSequenceGenerator surface_sequence_generator_; | 115 cc::SurfaceSequenceGenerator surface_sequence_generator_; |
119 scoped_refptr<gpu::GpuChannelHost> gpu_channel_; | 116 scoped_refptr<gpu::GpuChannelHost> gpu_channel_; |
120 | 117 |
121 std::unique_ptr<surfaces::CompositorFrameSink> compositor_frame_sink_; | 118 std::unique_ptr<DisplayCompositorFrameSink> compositor_frame_sink_; |
122 gfx::AcceleratedWidget widget_ = gfx::kNullAcceleratedWidget; | 119 gfx::AcceleratedWidget widget_ = gfx::kNullAcceleratedWidget; |
123 | 120 |
124 // The region that needs to be redrawn next time the compositor frame is | 121 // The region that needs to be redrawn next time the compositor frame is |
125 // generated. | 122 // generated. |
126 gfx::Rect dirty_rect_; | 123 gfx::Rect dirty_rect_; |
127 base::Timer draw_timer_; | 124 base::Timer draw_timer_; |
128 bool frame_pending_ = false; | 125 bool frame_pending_ = false; |
129 bool may_contain_video_ = false; | 126 bool may_contain_video_ = false; |
130 struct SurfaceDependency { | 127 struct SurfaceDependency { |
131 cc::LocalFrameId local_frame_id; | 128 cc::LocalFrameId local_frame_id; |
132 cc::SurfaceSequence sequence; | 129 cc::SurfaceSequence sequence; |
133 }; | 130 }; |
134 std::unordered_map<cc::FrameSinkId, SurfaceDependency, cc::FrameSinkIdHash> | 131 std::unordered_map<cc::FrameSinkId, SurfaceDependency, cc::FrameSinkIdHash> |
135 dependencies_; | 132 dependencies_; |
136 | 133 |
137 base::WeakPtrFactory<FrameGenerator> weak_factory_; | 134 base::WeakPtrFactory<FrameGenerator> weak_factory_; |
138 | 135 |
139 DISALLOW_COPY_AND_ASSIGN(FrameGenerator); | 136 DISALLOW_COPY_AND_ASSIGN(FrameGenerator); |
140 }; | 137 }; |
141 | 138 |
142 } // namespace ws | 139 } // namespace ws |
143 | 140 |
144 } // namespace ui | 141 } // namespace ui |
145 | 142 |
146 #endif // SERVICES_UI_WS_FRAME_GENERATOR_H_ | 143 #endif // SERVICES_UI_WS_FRAME_GENERATOR_H_ |
OLD | NEW |