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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 class FontAtlas; | 43 class FontAtlas; |
44 class Layer; | 44 class Layer; |
45 class LayerTreeHostImpl; | 45 class LayerTreeHostImpl; |
46 class LayerTreeHostImplClient; | 46 class LayerTreeHostImplClient; |
47 class PrioritizedResourceManager; | 47 class PrioritizedResourceManager; |
48 class ResourceUpdateQueue; | 48 class ResourceUpdateQueue; |
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 LayerTreeDebugState { |
54 LayerTreeSettings(); | 54 LayerTreeDebugState(); |
55 ~LayerTreeSettings(); | 55 ~LayerTreeDebugState(); |
56 | 56 |
57 bool acceleratePainting; | 57 bool showFPSCounter; |
| 58 bool showPlatformLayerTree; |
58 bool showDebugBorders; | 59 bool showDebugBorders; |
59 bool showPlatformLayerTree; | 60 |
60 bool showPaintRects; | 61 bool showPaintRects; |
61 bool showPropertyChangedRects; | 62 bool showPropertyChangedRects; |
62 bool showSurfaceDamageRects; | 63 bool showSurfaceDamageRects; |
63 bool showScreenSpaceRects; | 64 bool showScreenSpaceRects; |
64 bool showReplicaScreenSpaceRects; | 65 bool showReplicaScreenSpaceRects; |
65 bool showOccludingRects; | 66 bool showOccludingRects; |
66 bool showNonOccludingRects; | 67 bool showNonOccludingRects; |
| 68 |
| 69 bool showHudInfo() const; |
| 70 bool showHudRects() const; |
| 71 |
| 72 static bool equal(const LayerTreeDebugState& a, const LayerTreeDebugState& b
); |
| 73 static LayerTreeDebugState merge(const LayerTreeDebugState& a, const LayerTr
eeDebugState& b); |
| 74 }; |
| 75 |
| 76 struct CC_EXPORT LayerTreeSettings { |
| 77 LayerTreeSettings(); |
| 78 ~LayerTreeSettings(); |
| 79 |
| 80 bool acceleratePainting; |
67 bool renderVSyncEnabled; | 81 bool renderVSyncEnabled; |
68 bool perTilePaintingEnabled; | 82 bool perTilePaintingEnabled; |
69 bool partialSwapEnabled; | 83 bool partialSwapEnabled; |
70 bool acceleratedAnimationEnabled; | 84 bool acceleratedAnimationEnabled; |
71 bool pageScalePinchZoomEnabled; | 85 bool pageScalePinchZoomEnabled; |
72 bool backgroundColorInsteadOfCheckerboard; | 86 bool backgroundColorInsteadOfCheckerboard; |
73 bool showOverdrawInTracing; | 87 bool showOverdrawInTracing; |
74 double refreshRate; | 88 double refreshRate; |
75 size_t maxPartialTextureUpdates; | 89 size_t maxPartialTextureUpdates; |
76 gfx::Size defaultTileSize; | 90 gfx::Size defaultTileSize; |
77 gfx::Size maxUntiledLayerSize; | 91 gfx::Size maxUntiledLayerSize; |
78 gfx::Size minimumOcclusionTrackingSize; | 92 gfx::Size minimumOcclusionTrackingSize; |
79 | 93 |
80 bool showDebugInfo() const { return showPlatformLayerTree || showDebugRects(
); } | 94 LayerTreeDebugState initialDebugState; |
81 bool showDebugRects() const { return showPaintRects || showPropertyChangedRe
cts || showSurfaceDamageRects || showScreenSpaceRects || showReplicaScreenSpaceR
ects || showOccludingRects || showNonOccludingRects; } | |
82 }; | 95 }; |
83 | 96 |
84 // Provides information on an Impl's rendering capabilities back to the LayerTre
eHost | 97 // Provides information on an Impl's rendering capabilities back to the LayerTre
eHost |
85 struct CC_EXPORT RendererCapabilities { | 98 struct CC_EXPORT RendererCapabilities { |
86 RendererCapabilities(); | 99 RendererCapabilities(); |
87 ~RendererCapabilities(); | 100 ~RendererCapabilities(); |
88 | 101 |
89 GLenum bestTextureFormat; | 102 GLenum bestTextureFormat; |
90 bool contextHasCachedFrontBuffer; | 103 bool contextHasCachedFrontBuffer; |
91 bool usingPartialSwap; | 104 bool usingPartialSwap; |
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
175 | 188 |
176 void setAnimationEvents(scoped_ptr<AnimationEventsVector>, base::Time wallCl
ockTime); | 189 void setAnimationEvents(scoped_ptr<AnimationEventsVector>, base::Time wallCl
ockTime); |
177 virtual void didAddAnimation(); | 190 virtual void didAddAnimation(); |
178 | 191 |
179 Layer* rootLayer() { return m_rootLayer.get(); } | 192 Layer* rootLayer() { return m_rootLayer.get(); } |
180 const Layer* rootLayer() const { return m_rootLayer.get(); } | 193 const Layer* rootLayer() const { return m_rootLayer.get(); } |
181 void setRootLayer(scoped_refptr<Layer>); | 194 void setRootLayer(scoped_refptr<Layer>); |
182 | 195 |
183 const LayerTreeSettings& settings() const { return m_settings; } | 196 const LayerTreeSettings& settings() const { return m_settings; } |
184 | 197 |
| 198 void setDebugState(const LayerTreeDebugState& debugState); |
| 199 const LayerTreeDebugState& debugState() const { return m_debugState; } |
| 200 |
185 void setViewportSize(const gfx::Size& layoutViewportSize, const gfx::Size& d
eviceViewportSize); | 201 void setViewportSize(const gfx::Size& layoutViewportSize, const gfx::Size& d
eviceViewportSize); |
186 | 202 |
187 const gfx::Size& layoutViewportSize() const { return m_layoutViewportSize; } | 203 const gfx::Size& layoutViewportSize() const { return m_layoutViewportSize; } |
188 const gfx::Size& deviceViewportSize() const { return m_deviceViewportSize; } | 204 const gfx::Size& deviceViewportSize() const { return m_deviceViewportSize; } |
189 | 205 |
190 void setPageScaleFactorAndLimits(float pageScaleFactor, float minPageScaleFa
ctor, float maxPageScaleFactor); | 206 void setPageScaleFactorAndLimits(float pageScaleFactor, float minPageScaleFa
ctor, float maxPageScaleFactor); |
191 | 207 |
192 void setBackgroundColor(SkColor color) { m_backgroundColor = color; } | 208 void setBackgroundColor(SkColor color) { m_backgroundColor = color; } |
193 | 209 |
194 void setHasTransparentBackground(bool transparent) { m_hasTransparentBackgro
und = transparent; } | 210 void setHasTransparentBackground(bool transparent) { m_hasTransparentBackgro
und = transparent; } |
(...skipping 18 matching lines...) Expand all Loading... |
213 | 229 |
214 // RateLimitClient implementation | 230 // RateLimitClient implementation |
215 virtual void rateLimit() OVERRIDE; | 231 virtual void rateLimit() OVERRIDE; |
216 | 232 |
217 bool bufferedUpdates(); | 233 bool bufferedUpdates(); |
218 bool requestPartialTextureUpdate(); | 234 bool requestPartialTextureUpdate(); |
219 | 235 |
220 void setDeviceScaleFactor(float); | 236 void setDeviceScaleFactor(float); |
221 float deviceScaleFactor() const { return m_deviceScaleFactor; } | 237 float deviceScaleFactor() const { return m_deviceScaleFactor; } |
222 | 238 |
223 void setShowFPSCounter(bool show); | |
224 void setFontAtlas(scoped_ptr<FontAtlas>); | 239 void setFontAtlas(scoped_ptr<FontAtlas>); |
225 | 240 |
226 HeadsUpDisplayLayer* hudLayer() const { return m_hudLayer.get(); } | 241 HeadsUpDisplayLayer* hudLayer() const { return m_hudLayer.get(); } |
227 | 242 |
228 Proxy* proxy() const { return m_proxy.get(); } | 243 Proxy* proxy() const { return m_proxy.get(); } |
229 | 244 |
230 protected: | 245 protected: |
231 LayerTreeHost(LayerTreeHostClient*, const LayerTreeSettings&); | 246 LayerTreeHost(LayerTreeHostClient*, const LayerTreeSettings&); |
232 bool initialize(scoped_ptr<Thread> implThread); | 247 bool initialize(scoped_ptr<Thread> implThread); |
233 | 248 |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
270 int m_numTimesRecreateShouldFail; | 285 int m_numTimesRecreateShouldFail; |
271 int m_numFailedRecreateAttempts; | 286 int m_numFailedRecreateAttempts; |
272 | 287 |
273 scoped_refptr<Layer> m_rootLayer; | 288 scoped_refptr<Layer> m_rootLayer; |
274 scoped_refptr<HeadsUpDisplayLayer> m_hudLayer; | 289 scoped_refptr<HeadsUpDisplayLayer> m_hudLayer; |
275 | 290 |
276 scoped_ptr<PrioritizedResourceManager> m_contentsTextureManager; | 291 scoped_ptr<PrioritizedResourceManager> m_contentsTextureManager; |
277 scoped_ptr<PrioritizedResource> m_surfaceMemoryPlaceholder; | 292 scoped_ptr<PrioritizedResource> m_surfaceMemoryPlaceholder; |
278 | 293 |
279 LayerTreeSettings m_settings; | 294 LayerTreeSettings m_settings; |
| 295 LayerTreeDebugState m_debugState; |
280 | 296 |
281 gfx::Size m_layoutViewportSize; | 297 gfx::Size m_layoutViewportSize; |
282 gfx::Size m_deviceViewportSize; | 298 gfx::Size m_deviceViewportSize; |
283 float m_deviceScaleFactor; | 299 float m_deviceScaleFactor; |
284 | 300 |
285 bool m_visible; | 301 bool m_visible; |
286 | 302 |
287 typedef base::hash_map<WebKit::WebGraphicsContext3D*, scoped_refptr<RateLimi
ter> > RateLimiterMap; | 303 typedef base::hash_map<WebKit::WebGraphicsContext3D*, scoped_refptr<RateLimi
ter> > RateLimiterMap; |
288 RateLimiterMap m_rateLimiters; | 304 RateLimiterMap m_rateLimiters; |
289 | 305 |
290 float m_pageScaleFactor; | 306 float m_pageScaleFactor; |
291 float m_minPageScaleFactor, m_maxPageScaleFactor; | 307 float m_minPageScaleFactor, m_maxPageScaleFactor; |
292 gfx::Transform m_implTransform; | 308 gfx::Transform m_implTransform; |
293 bool m_triggerIdleUpdates; | 309 bool m_triggerIdleUpdates; |
294 | 310 |
295 SkColor m_backgroundColor; | 311 SkColor m_backgroundColor; |
296 bool m_hasTransparentBackground; | 312 bool m_hasTransparentBackground; |
297 | 313 |
298 typedef ScopedPtrVector<PrioritizedResource> TextureList; | 314 typedef ScopedPtrVector<PrioritizedResource> TextureList; |
299 size_t m_partialTextureUpdateRequests; | 315 size_t m_partialTextureUpdateRequests; |
300 | 316 |
301 static bool s_needsFilterContext; | 317 static bool s_needsFilterContext; |
302 | 318 |
303 DISALLOW_COPY_AND_ASSIGN(LayerTreeHost); | 319 DISALLOW_COPY_AND_ASSIGN(LayerTreeHost); |
304 }; | 320 }; |
305 | 321 |
306 } // namespace cc | 322 } // namespace cc |
307 | 323 |
308 #endif // CC_LAYER_TREE_HOST_H_ | 324 #endif // CC_LAYER_TREE_HOST_H_ |
OLD | NEW |