Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(41)

Side by Side Diff: cc/layer_tree_host_impl.h

Issue 11552009: Add support for calculating the position of the top controls in the cc layer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Forgot to add the changes to cc_messages.h Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/cc_export.h" 12 #include "cc/cc_export.h"
13 #include "cc/input_handler.h" 13 #include "cc/input_handler.h"
14 #include "cc/output_surface_client.h" 14 #include "cc/output_surface_client.h"
15 #include "cc/render_pass.h" 15 #include "cc/render_pass.h"
16 #include "cc/render_pass_sink.h" 16 #include "cc/render_pass_sink.h"
17 #include "cc/renderer.h" 17 #include "cc/renderer.h"
18 #include "cc/tile_manager.h" 18 #include "cc/tile_manager.h"
19 #include "cc/top_controls_manager.h"
19 #include "third_party/skia/include/core/SkColor.h" 20 #include "third_party/skia/include/core/SkColor.h"
20 #include "ui/gfx/rect.h" 21 #include "ui/gfx/rect.h"
21 22
22 namespace cc { 23 namespace cc {
23 24
24 class CompletionEvent; 25 class CompletionEvent;
25 class CompositorFrameMetadata; 26 class CompositorFrameMetadata;
26 class DebugRectHistory; 27 class DebugRectHistory;
27 class FrameRateCounter; 28 class FrameRateCounter;
28 class LayerImpl; 29 class LayerImpl;
29 class LayerTreeHostImplTimeSourceAdapter; 30 class LayerTreeHostImplTimeSourceAdapter;
30 class LayerTreeImpl; 31 class LayerTreeImpl;
31 class PageScaleAnimation; 32 class PageScaleAnimation;
32 class RenderPassDrawQuad; 33 class RenderPassDrawQuad;
33 class ResourceProvider; 34 class ResourceProvider;
35 class TopControlsManager;
34 struct RendererCapabilities; 36 struct RendererCapabilities;
35 struct RenderingStats; 37 struct RenderingStats;
36 38
37 // LayerTreeHost->Proxy callback interface. 39 // LayerTreeHost->Proxy callback interface.
38 class LayerTreeHostImplClient { 40 class LayerTreeHostImplClient {
39 public: 41 public:
40 virtual void didLoseOutputSurfaceOnImplThread() = 0; 42 virtual void didLoseOutputSurfaceOnImplThread() = 0;
41 virtual void onSwapBuffersCompleteOnImplThread() = 0; 43 virtual void onSwapBuffersCompleteOnImplThread() = 0;
42 virtual void onVSyncParametersChanged(base::TimeTicks timebase, base::TimeDe lta interval) = 0; 44 virtual void onVSyncParametersChanged(base::TimeTicks timebase, base::TimeDe lta interval) = 0;
43 virtual void onCanDrawStateChanged(bool canDraw) = 0; 45 virtual void onCanDrawStateChanged(bool canDraw) = 0;
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 float m_deviceScaleFactor; 108 float m_deviceScaleFactor;
107 109
108 gfx::Vector2dF m_zoomedViewportOffset; 110 gfx::Vector2dF m_zoomedViewportOffset;
109 gfx::SizeF m_layoutViewportSize; 111 gfx::SizeF m_layoutViewportSize;
110 }; 112 };
111 113
112 // LayerTreeHostImpl owns the LayerImpl tree as well as associated rendering sta te 114 // LayerTreeHostImpl owns the LayerImpl tree as well as associated rendering sta te
113 class CC_EXPORT LayerTreeHostImpl : public InputHandlerClient, 115 class CC_EXPORT LayerTreeHostImpl : public InputHandlerClient,
114 public RendererClient, 116 public RendererClient,
115 public TileManagerClient, 117 public TileManagerClient,
116 public OutputSurfaceClient { 118 public OutputSurfaceClient,
119 public TopControlsDelegate {
117 typedef std::vector<LayerImpl*> LayerList; 120 typedef std::vector<LayerImpl*> LayerList;
118 121
119 public: 122 public:
120 static scoped_ptr<LayerTreeHostImpl> create(const LayerTreeSettings&, LayerT reeHostImplClient*, Proxy*); 123 static scoped_ptr<LayerTreeHostImpl> create(const LayerTreeSettings&, LayerT reeHostImplClient*, Proxy*);
121 virtual ~LayerTreeHostImpl(); 124 virtual ~LayerTreeHostImpl();
122 125
123 // InputHandlerClient implementation 126 // InputHandlerClient implementation
124 virtual InputHandlerClient::ScrollStatus scrollBegin(gfx::Point, InputHandle rClient::ScrollInputType) OVERRIDE; 127 virtual InputHandlerClient::ScrollStatus scrollBegin(gfx::Point, InputHandle rClient::ScrollInputType) OVERRIDE;
125 virtual bool scrollBy(const gfx::Point&, const gfx::Vector2d&) OVERRIDE; 128 virtual bool scrollBy(const gfx::Point&, const gfx::Vector2d&) OVERRIDE;
126 virtual void scrollEnd() OVERRIDE; 129 virtual void scrollEnd() OVERRIDE;
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 bool initializeRenderer(scoped_ptr<OutputSurface>); 201 bool initializeRenderer(scoped_ptr<OutputSurface>);
199 bool isContextLost(); 202 bool isContextLost();
200 TileManager* tileManager() { return m_tileManager.get(); } 203 TileManager* tileManager() { return m_tileManager.get(); }
201 Renderer* renderer() { return m_renderer.get(); } 204 Renderer* renderer() { return m_renderer.get(); }
202 const RendererCapabilities& rendererCapabilities() const; 205 const RendererCapabilities& rendererCapabilities() const;
203 206
204 bool swapBuffers(); 207 bool swapBuffers();
205 208
206 void readback(void* pixels, const gfx::Rect&); 209 void readback(void* pixels, const gfx::Rect&);
207 210
208 LayerTreeImpl* activeTree() { return m_activeTree.get(); } 211 virtual LayerTreeImpl* activeTree() OVERRIDE;
209 LayerTreeImpl* pendingTree() { return m_pendingTree.get(); } 212 LayerTreeImpl* pendingTree() { return m_pendingTree.get(); }
210 213
211 // TODO(nduca): Remove these in favor of LayerTreeImpl. 214 // TODO(nduca): Remove these in favor of LayerTreeImpl.
212 void setRootLayer(scoped_ptr<LayerImpl>); 215 void setRootLayer(scoped_ptr<LayerImpl>);
213 LayerImpl* rootLayer() const; 216 LayerImpl* rootLayer() const;
214 217
215 // Release ownership of the current layer tree and replace it with an empty 218 // Release ownership of the current layer tree and replace it with an empty
216 // tree. Returns the root layer of the detached tree. 219 // tree. Returns the root layer of the detached tree.
217 scoped_ptr<LayerImpl> detachLayerTree(); 220 scoped_ptr<LayerImpl> detachLayerTree();
218 221
(...skipping 27 matching lines...) Expand all
246 SkColor backgroundColor() const { return m_backgroundColor; } 249 SkColor backgroundColor() const { return m_backgroundColor; }
247 void setBackgroundColor(SkColor color) { m_backgroundColor = color; } 250 void setBackgroundColor(SkColor color) { m_backgroundColor = color; }
248 251
249 bool hasTransparentBackground() const { return m_hasTransparentBackground; } 252 bool hasTransparentBackground() const { return m_hasTransparentBackground; }
250 void setHasTransparentBackground(bool transparent) { m_hasTransparentBackgro und = transparent; } 253 void setHasTransparentBackground(bool transparent) { m_hasTransparentBackgro und = transparent; }
251 254
252 bool needsAnimateLayers() const { return m_needsAnimateLayers; } 255 bool needsAnimateLayers() const { return m_needsAnimateLayers; }
253 void setNeedsAnimateLayers() { m_needsAnimateLayers = true; } 256 void setNeedsAnimateLayers() { m_needsAnimateLayers = true; }
254 257
255 bool needsUpdateDrawProperties() const { return m_needsUpdateDrawProperties; } 258 bool needsUpdateDrawProperties() const { return m_needsUpdateDrawProperties; }
256 void setNeedsUpdateDrawProperties() { m_needsUpdateDrawProperties = true; } 259 virtual void setNeedsUpdateDrawProperties() OVERRIDE;
257 260
258 void setNeedsRedraw(); 261 virtual void setNeedsRedraw() OVERRIDE;
259 262
260 void renderingStats(RenderingStats*) const; 263 void renderingStats(RenderingStats*) const;
261 264
262 void updateRootScrollLayerImplTransform(); 265 void updateRootScrollLayerImplTransform();
263 266
264 void sendManagedMemoryStats( 267 void sendManagedMemoryStats(
265 size_t memoryVisibleBytes, 268 size_t memoryVisibleBytes,
266 size_t memoryVisibleAndNearbyBytes, 269 size_t memoryVisibleAndNearbyBytes,
267 size_t memoryUseBytes); 270 size_t memoryUseBytes);
268 271
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 375
373 SkColor m_backgroundColor; 376 SkColor m_backgroundColor;
374 bool m_hasTransparentBackground; 377 bool m_hasTransparentBackground;
375 378
376 // If this is true, it is necessary to traverse the layer tree ticking the a nimators. 379 // If this is true, it is necessary to traverse the layer tree ticking the a nimators.
377 bool m_needsAnimateLayers; 380 bool m_needsAnimateLayers;
378 bool m_needsUpdateDrawProperties; 381 bool m_needsUpdateDrawProperties;
379 bool m_pinchGestureActive; 382 bool m_pinchGestureActive;
380 gfx::Point m_previousPinchAnchor; 383 gfx::Point m_previousPinchAnchor;
381 384
385 scoped_ptr<TopControlsManager> m_topControlsManager;
386
382 scoped_ptr<PageScaleAnimation> m_pageScaleAnimation; 387 scoped_ptr<PageScaleAnimation> m_pageScaleAnimation;
383 388
384 // This is used for ticking animations slowly when hidden. 389 // This is used for ticking animations slowly when hidden.
385 scoped_ptr<LayerTreeHostImplTimeSourceAdapter> m_timeSourceClientAdapter; 390 scoped_ptr<LayerTreeHostImplTimeSourceAdapter> m_timeSourceClientAdapter;
386 391
387 // List of visible layers for the most recently prepared frame. Used for 392 // List of visible layers for the most recently prepared frame. Used for
388 // rendering and input event hit testing. 393 // rendering and input event hit testing.
389 LayerList m_renderSurfaceLayerList; 394 LayerList m_renderSurfaceLayerList;
390 395
391 PinchZoomViewport m_pinchZoomViewport; 396 PinchZoomViewport m_pinchZoomViewport;
(...skipping 11 matching lines...) Expand all
403 size_t m_lastSentMemoryVisibleBytes; 408 size_t m_lastSentMemoryVisibleBytes;
404 size_t m_lastSentMemoryVisibleAndNearbyBytes; 409 size_t m_lastSentMemoryVisibleAndNearbyBytes;
405 size_t m_lastSentMemoryUseBytes; 410 size_t m_lastSentMemoryUseBytes;
406 411
407 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl); 412 DISALLOW_COPY_AND_ASSIGN(LayerTreeHostImpl);
408 }; 413 };
409 414
410 } // namespace cc 415 } // namespace cc
411 416
412 #endif // CC_LAYER_TREE_HOST_IMPL_H_ 417 #endif // CC_LAYER_TREE_HOST_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698