| 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_H_ | 5 #ifndef CC_LAYER_TREE_HOST_H_ |
| 6 #define CC_LAYER_TREE_HOST_H_ | 6 #define CC_LAYER_TREE_HOST_H_ |
| 7 | 7 |
| 8 #include <limits> | 8 #include <limits> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 49 class HeadsUpDisplayLayer; | 49 class HeadsUpDisplayLayer; |
| 50 class Region; | 50 class Region; |
| 51 struct ScrollAndScaleSet; | 51 struct ScrollAndScaleSet; |
| 52 | 52 |
| 53 struct CC_EXPORT LayerTreeSettings { | 53 struct CC_EXPORT LayerTreeSettings { |
| 54 LayerTreeSettings(); | 54 LayerTreeSettings(); |
| 55 ~LayerTreeSettings(); | 55 ~LayerTreeSettings(); |
| 56 | 56 |
| 57 bool acceleratePainting; | 57 bool acceleratePainting; |
| 58 bool showDebugBorders; | 58 bool showDebugBorders; |
| 59 bool showPlatformLayerTree; | |
| 60 bool showPaintRects; | |
| 61 bool showPropertyChangedRects; | |
| 62 bool showSurfaceDamageRects; | |
| 63 bool showScreenSpaceRects; | |
| 64 bool showReplicaScreenSpaceRects; | |
| 65 bool showOccludingRects; | |
| 66 bool showNonOccludingRects; | |
| 67 bool renderVSyncEnabled; | 59 bool renderVSyncEnabled; |
| 68 bool perTilePaintingEnabled; | 60 bool perTilePaintingEnabled; |
| 69 bool partialSwapEnabled; | 61 bool partialSwapEnabled; |
| 70 bool acceleratedAnimationEnabled; | 62 bool acceleratedAnimationEnabled; |
| 71 bool pageScalePinchZoomEnabled; | 63 bool pageScalePinchZoomEnabled; |
| 72 bool backgroundColorInsteadOfCheckerboard; | 64 bool backgroundColorInsteadOfCheckerboard; |
| 73 bool showOverdrawInTracing; | 65 bool showOverdrawInTracing; |
| 74 double refreshRate; | 66 double refreshRate; |
| 75 size_t maxPartialTextureUpdates; | 67 size_t maxPartialTextureUpdates; |
| 76 gfx::Size defaultTileSize; | 68 gfx::Size defaultTileSize; |
| 77 gfx::Size maxUntiledLayerSize; | 69 gfx::Size maxUntiledLayerSize; |
| 78 gfx::Size minimumOcclusionTrackingSize; | 70 gfx::Size minimumOcclusionTrackingSize; |
| 79 | |
| 80 bool showDebugInfo() const { return showPlatformLayerTree || showDebugRects(
); } | |
| 81 bool showDebugRects() const { return showPaintRects || showPropertyChangedRe
cts || showSurfaceDamageRects || showScreenSpaceRects || showReplicaScreenSpaceR
ects || showOccludingRects || showNonOccludingRects; } | |
| 82 }; | 71 }; |
| 83 | 72 |
| 84 // Provides information on an Impl's rendering capabilities back to the LayerTre
eHost | 73 // Provides information on an Impl's rendering capabilities back to the LayerTre
eHost |
| 85 struct CC_EXPORT RendererCapabilities { | 74 struct CC_EXPORT RendererCapabilities { |
| 86 RendererCapabilities(); | 75 RendererCapabilities(); |
| 87 ~RendererCapabilities(); | 76 ~RendererCapabilities(); |
| 88 | 77 |
| 89 GLenum bestTextureFormat; | 78 GLenum bestTextureFormat; |
| 90 bool contextHasCachedFrontBuffer; | 79 bool contextHasCachedFrontBuffer; |
| 91 bool usingPartialSwap; | 80 bool usingPartialSwap; |
| (...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 209 | 198 |
| 210 // RateLimitClient implementation | 199 // RateLimitClient implementation |
| 211 virtual void rateLimit() OVERRIDE; | 200 virtual void rateLimit() OVERRIDE; |
| 212 | 201 |
| 213 bool bufferedUpdates(); | 202 bool bufferedUpdates(); |
| 214 bool requestPartialTextureUpdate(); | 203 bool requestPartialTextureUpdate(); |
| 215 | 204 |
| 216 void setDeviceScaleFactor(float); | 205 void setDeviceScaleFactor(float); |
| 217 float deviceScaleFactor() const { return m_deviceScaleFactor; } | 206 float deviceScaleFactor() const { return m_deviceScaleFactor; } |
| 218 | 207 |
| 219 void setShowFPSCounter(bool show); | |
| 220 void setFontAtlas(scoped_ptr<FontAtlas>); | |
| 221 | |
| 222 HeadsUpDisplayLayer* hudLayer() const { return m_hudLayer.get(); } | 208 HeadsUpDisplayLayer* hudLayer() const { return m_hudLayer.get(); } |
| 209 HeadsUpDisplayLayer* requestHUDLayer(); |
| 223 | 210 |
| 224 Proxy* proxy() const { return m_proxy.get(); } | 211 Proxy* proxy() const { return m_proxy.get(); } |
| 225 | 212 |
| 226 protected: | 213 protected: |
| 227 LayerTreeHost(LayerTreeHostClient*, const LayerTreeSettings&); | 214 LayerTreeHost(LayerTreeHostClient*, const LayerTreeSettings&); |
| 228 bool initialize(scoped_ptr<Thread> implThread); | 215 bool initialize(scoped_ptr<Thread> implThread); |
| 229 | 216 |
| 230 private: | 217 private: |
| 231 typedef std::vector<scoped_refptr<Layer> > LayerList; | 218 typedef std::vector<scoped_refptr<Layer> > LayerList; |
| 232 | 219 |
| 233 void initializeRenderer(); | 220 void initializeRenderer(); |
| 234 | 221 |
| 235 void update(Layer*, ResourceUpdateQueue&, const OcclusionTracker*); | 222 void update(Layer*, ResourceUpdateQueue&, const OcclusionTracker*); |
| 236 bool paintLayerContents(const LayerList&, ResourceUpdateQueue&); | 223 bool paintLayerContents(const LayerList&, ResourceUpdateQueue&); |
| 237 bool paintMasksForRenderSurface(Layer*, ResourceUpdateQueue&); | 224 bool paintMasksForRenderSurface(Layer*, ResourceUpdateQueue&); |
| 238 | 225 |
| 239 void updateLayers(Layer*, ResourceUpdateQueue&); | 226 void updateLayers(Layer*, ResourceUpdateQueue&); |
| 240 void triggerPrepaint(); | 227 void triggerPrepaint(); |
| 241 | 228 |
| 242 void prioritizeTextures(const LayerList&, OverdrawMetrics&); | 229 void prioritizeTextures(const LayerList&, OverdrawMetrics&); |
| 243 void setPrioritiesForSurfaces(size_t surfaceMemoryBytes); | 230 void setPrioritiesForSurfaces(size_t surfaceMemoryBytes); |
| 244 void setPrioritiesForLayers(const LayerList&); | 231 void setPrioritiesForLayers(const LayerList&); |
| 245 size_t calculateMemoryForRenderSurfaces(const LayerList& updateList); | 232 size_t calculateMemoryForRenderSurfaces(const LayerList& updateList); |
| 246 | 233 |
| 247 void animateLayers(base::TimeTicks monotonicTime); | 234 void animateLayers(base::TimeTicks monotonicTime); |
| 248 bool animateLayersRecursive(Layer* current, base::TimeTicks time); | 235 bool animateLayersRecursive(Layer* current, base::TimeTicks time); |
| 249 void setAnimationEventsRecursive(const AnimationEventsVector&, Layer*, base:
:Time wallClockTime); | 236 void setAnimationEventsRecursive(const AnimationEventsVector&, Layer*, base:
:Time wallClockTime); |
| 250 | 237 |
| 251 void createHUDLayerIfNeeded(); | |
| 252 | |
| 253 bool m_animating; | 238 bool m_animating; |
| 254 bool m_needsAnimateLayers; | 239 bool m_needsAnimateLayers; |
| 255 | 240 |
| 256 base::CancelableClosure m_prepaintCallback; | 241 base::CancelableClosure m_prepaintCallback; |
| 257 | 242 |
| 258 LayerTreeHostClient* m_client; | 243 LayerTreeHostClient* m_client; |
| 259 scoped_ptr<Proxy> m_proxy; | 244 scoped_ptr<Proxy> m_proxy; |
| 260 | 245 |
| 261 int m_commitNumber; | 246 int m_commitNumber; |
| 262 RenderingStats m_renderingStats; | 247 RenderingStats m_renderingStats; |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 295 size_t m_partialTextureUpdateRequests; | 280 size_t m_partialTextureUpdateRequests; |
| 296 | 281 |
| 297 static bool s_needsFilterContext; | 282 static bool s_needsFilterContext; |
| 298 | 283 |
| 299 DISALLOW_COPY_AND_ASSIGN(LayerTreeHost); | 284 DISALLOW_COPY_AND_ASSIGN(LayerTreeHost); |
| 300 }; | 285 }; |
| 301 | 286 |
| 302 } // namespace cc | 287 } // namespace cc |
| 303 | 288 |
| 304 #endif // CC_LAYER_TREE_HOST_H_ | 289 #endif // CC_LAYER_TREE_HOST_H_ |
| OLD | NEW |