OLD | NEW |
1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 CC_LAYER_TREE_HOST_IMPL_H_ | 5 #ifndef CC_LAYER_TREE_HOST_IMPL_H_ |
6 #define CC_LAYER_TREE_HOST_IMPL_H_ | 6 #define CC_LAYER_TREE_HOST_IMPL_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/memory/scoped_ptr.h" | 9 #include "base/memory/scoped_ptr.h" |
10 #include "base/time.h" | 10 #include "base/time.h" |
11 #include "cc/animation_events.h" | 11 #include "cc/animation_events.h" |
12 #include "cc/animation_registrar.h" | 12 #include "cc/animation_registrar.h" |
13 #include "cc/cc_export.h" | 13 #include "cc/cc_export.h" |
14 #include "cc/input_handler.h" | 14 #include "cc/input_handler.h" |
15 #include "cc/layer_tree_impl.h" | 15 #include "cc/layer_tree_impl.h" |
| 16 #include "cc/output_surface_client.h" |
16 #include "cc/render_pass.h" | 17 #include "cc/render_pass.h" |
17 #include "cc/render_pass_sink.h" | 18 #include "cc/render_pass_sink.h" |
18 #include "cc/renderer.h" | 19 #include "cc/renderer.h" |
19 #include "cc/tile_manager.h" | 20 #include "cc/tile_manager.h" |
20 #include "third_party/skia/include/core/SkColor.h" | 21 #include "third_party/skia/include/core/SkColor.h" |
21 #include "ui/gfx/rect.h" | 22 #include "ui/gfx/rect.h" |
22 #include <public/WebCompositorOutputSurfaceClient.h> | |
23 | 23 |
24 namespace cc { | 24 namespace cc { |
25 | 25 |
26 class CompletionEvent; | 26 class CompletionEvent; |
27 class DebugRectHistory; | 27 class DebugRectHistory; |
28 class FrameRateCounter; | 28 class FrameRateCounter; |
29 class LayerImpl; | 29 class LayerImpl; |
30 class LayerTreeHostImplTimeSourceAdapter; | 30 class LayerTreeHostImplTimeSourceAdapter; |
31 class PageScaleAnimation; | 31 class PageScaleAnimation; |
32 class RenderPassDrawQuad; | 32 class RenderPassDrawQuad; |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
108 gfx::Vector2dF m_zoomedViewportOffset; | 108 gfx::Vector2dF m_zoomedViewportOffset; |
109 gfx::SizeF m_layoutViewportSize; | 109 gfx::SizeF m_layoutViewportSize; |
110 }; | 110 }; |
111 | 111 |
112 // LayerTreeHostImpl owns the LayerImpl tree as well as associated rendering sta
te | 112 // LayerTreeHostImpl owns the LayerImpl tree as well as associated rendering sta
te |
113 class CC_EXPORT LayerTreeHostImpl : public InputHandlerClient, | 113 class CC_EXPORT LayerTreeHostImpl : public InputHandlerClient, |
114 public RendererClient, | 114 public RendererClient, |
115 public TileManagerClient, | 115 public TileManagerClient, |
116 public LayerTreeImplClient, | 116 public LayerTreeImplClient, |
117 public AnimationRegistrar, | 117 public AnimationRegistrar, |
118 public NON_EXPORTED_BASE(WebKit::WebComposit
orOutputSurfaceClient) { | 118 public OutputSurfaceClient { |
119 typedef std::vector<LayerImpl*> LayerList; | 119 typedef std::vector<LayerImpl*> LayerList; |
120 typedef base::hash_set<LayerAnimationController*> AnimationControllerSet; | 120 typedef base::hash_set<LayerAnimationController*> AnimationControllerSet; |
121 | 121 |
122 public: | 122 public: |
123 static scoped_ptr<LayerTreeHostImpl> create(const LayerTreeSettings&, LayerT
reeHostImplClient*, Proxy*); | 123 static scoped_ptr<LayerTreeHostImpl> create(const LayerTreeSettings&, LayerT
reeHostImplClient*, Proxy*); |
124 virtual ~LayerTreeHostImpl(); | 124 virtual ~LayerTreeHostImpl(); |
125 | 125 |
126 // InputHandlerClient implementation | 126 // InputHandlerClient implementation |
127 virtual InputHandlerClient::ScrollStatus scrollBegin(gfx::Point, InputHandle
rClient::ScrollInputType) OVERRIDE; | 127 virtual InputHandlerClient::ScrollStatus scrollBegin(gfx::Point, InputHandle
rClient::ScrollInputType) OVERRIDE; |
128 virtual bool scrollBy(const gfx::Point&, const gfx::Vector2d&) OVERRIDE; | 128 virtual bool scrollBy(const gfx::Point&, const gfx::Vector2d&) OVERRIDE; |
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 virtual void onSwapBuffersComplete() OVERRIDE; | 172 virtual void onSwapBuffersComplete() OVERRIDE; |
173 virtual void setFullRootLayerDamage() OVERRIDE; | 173 virtual void setFullRootLayerDamage() OVERRIDE; |
174 virtual void setManagedMemoryPolicy(const ManagedMemoryPolicy& policy) OVERR
IDE; | 174 virtual void setManagedMemoryPolicy(const ManagedMemoryPolicy& policy) OVERR
IDE; |
175 virtual void enforceManagedMemoryPolicy(const ManagedMemoryPolicy& policy) O
VERRIDE; | 175 virtual void enforceManagedMemoryPolicy(const ManagedMemoryPolicy& policy) O
VERRIDE; |
176 virtual bool hasImplThread() const OVERRIDE; | 176 virtual bool hasImplThread() const OVERRIDE; |
177 | 177 |
178 // TileManagerClient implementation. | 178 // TileManagerClient implementation. |
179 virtual void ScheduleManageTiles() OVERRIDE; | 179 virtual void ScheduleManageTiles() OVERRIDE; |
180 virtual void ScheduleCheckForCompletedSetPixels() OVERRIDE; | 180 virtual void ScheduleCheckForCompletedSetPixels() OVERRIDE; |
181 | 181 |
182 // WebCompositorOutputSurfaceClient implementation. | 182 // OutputSurfaceClient implementation. |
183 virtual void onVSyncParametersChanged(double monotonicTimebase, double inter
valInSeconds) OVERRIDE; | 183 virtual void OnVSyncParametersChanged(base::TimeTicks timebase, base::TimeDe
lta interval) OVERRIDE; |
| 184 virtual void OnSendFrameToParentCompositorAck(const CompositorFrameAck&) OVE
RRIDE; |
184 | 185 |
185 // LayerTreeImplClient implementation. | 186 // LayerTreeImplClient implementation. |
186 virtual void OnCanDrawStateChangedForTree(LayerTreeImpl*) OVERRIDE; | 187 virtual void OnCanDrawStateChangedForTree(LayerTreeImpl*) OVERRIDE; |
187 | 188 |
188 // Implementation | 189 // Implementation |
189 bool canDraw(); | 190 bool canDraw(); |
190 OutputSurface* outputSurface() const; | 191 OutputSurface* outputSurface() const; |
191 | 192 |
192 std::string layerTreeAsText() const; | 193 std::string layerTreeAsText() const; |
193 | 194 |
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
391 #if !defined(NDEBUG) | 392 #if !defined(NDEBUG) |
392 AnimationControllerSet m_allAnimationControllers; | 393 AnimationControllerSet m_allAnimationControllers; |
393 #endif | 394 #endif |
394 | 395 |
395 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl); | 396 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl); |
396 }; | 397 }; |
397 | 398 |
398 } // namespace cc | 399 } // namespace cc |
399 | 400 |
400 #endif // CC_LAYER_TREE_HOST_IMPL_H_ | 401 #endif // CC_LAYER_TREE_HOST_IMPL_H_ |
OLD | NEW |