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 23 matching lines...) Expand all Loading... |
34 struct hash<WebKit::WebGraphicsContext3D*> { | 34 struct hash<WebKit::WebGraphicsContext3D*> { |
35 size_t operator()(WebKit::WebGraphicsContext3D* ptr) const { | 35 size_t operator()(WebKit::WebGraphicsContext3D* ptr) const { |
36 return hash<size_t>()(reinterpret_cast<size_t>(ptr)); | 36 return hash<size_t>()(reinterpret_cast<size_t>(ptr)); |
37 } | 37 } |
38 }; | 38 }; |
39 } // namespace BASE_HASH_NAMESPACE | 39 } // namespace BASE_HASH_NAMESPACE |
40 #endif // COMPILER | 40 #endif // COMPILER |
41 | 41 |
42 namespace cc { | 42 namespace cc { |
43 | 43 |
| 44 class AnimationRegistrar; |
44 class Layer; | 45 class Layer; |
45 class LayerTreeHostImpl; | 46 class LayerTreeHostImpl; |
46 class LayerTreeHostImplClient; | 47 class LayerTreeHostImplClient; |
47 class PrioritizedResourceManager; | 48 class PrioritizedResourceManager; |
48 class ResourceUpdateQueue; | 49 class ResourceUpdateQueue; |
49 class HeadsUpDisplayLayer; | 50 class HeadsUpDisplayLayer; |
50 class Region; | 51 class Region; |
51 struct ScrollAndScaleSet; | 52 struct ScrollAndScaleSet; |
52 | 53 |
53 | 54 |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 void loseOutputSurface(int numTimes); | 140 void loseOutputSurface(int numTimes); |
140 | 141 |
141 void setNeedsAnimate(); | 142 void setNeedsAnimate(); |
142 // virtual for testing | 143 // virtual for testing |
143 virtual void setNeedsCommit(); | 144 virtual void setNeedsCommit(); |
144 virtual void setNeedsFullTreeSync(); | 145 virtual void setNeedsFullTreeSync(); |
145 void setNeedsRedraw(); | 146 void setNeedsRedraw(); |
146 bool commitRequested() const; | 147 bool commitRequested() const; |
147 | 148 |
148 void setAnimationEvents(scoped_ptr<AnimationEventsVector>, base::Time wallCl
ockTime); | 149 void setAnimationEvents(scoped_ptr<AnimationEventsVector>, base::Time wallCl
ockTime); |
149 virtual void didAddAnimation(); | |
150 | 150 |
151 Layer* rootLayer() { return m_rootLayer.get(); } | 151 Layer* rootLayer() { return m_rootLayer.get(); } |
152 const Layer* rootLayer() const { return m_rootLayer.get(); } | 152 const Layer* rootLayer() const { return m_rootLayer.get(); } |
153 void setRootLayer(scoped_refptr<Layer>); | 153 void setRootLayer(scoped_refptr<Layer>); |
154 | 154 |
155 const LayerTreeSettings& settings() const { return m_settings; } | 155 const LayerTreeSettings& settings() const { return m_settings; } |
156 | 156 |
157 void setDebugState(const LayerTreeDebugState& debugState); | 157 void setDebugState(const LayerTreeDebugState& debugState); |
158 const LayerTreeDebugState& debugState() const { return m_debugState; } | 158 const LayerTreeDebugState& debugState() const { return m_debugState; } |
159 | 159 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 bool bufferedUpdates(); | 192 bool bufferedUpdates(); |
193 bool requestPartialTextureUpdate(); | 193 bool requestPartialTextureUpdate(); |
194 | 194 |
195 void setDeviceScaleFactor(float); | 195 void setDeviceScaleFactor(float); |
196 float deviceScaleFactor() const { return m_deviceScaleFactor; } | 196 float deviceScaleFactor() const { return m_deviceScaleFactor; } |
197 | 197 |
198 HeadsUpDisplayLayer* hudLayer() const { return m_hudLayer.get(); } | 198 HeadsUpDisplayLayer* hudLayer() const { return m_hudLayer.get(); } |
199 | 199 |
200 Proxy* proxy() const { return m_proxy.get(); } | 200 Proxy* proxy() const { return m_proxy.get(); } |
201 | 201 |
| 202 AnimationRegistrar* animationRegistrar() const { return m_animationRegistrar
.get(); } |
| 203 |
202 protected: | 204 protected: |
203 LayerTreeHost(LayerTreeHostClient*, const LayerTreeSettings&); | 205 LayerTreeHost(LayerTreeHostClient*, const LayerTreeSettings&); |
204 bool initialize(scoped_ptr<Thread> implThread); | 206 bool initialize(scoped_ptr<Thread> implThread); |
205 bool initializeForTesting(scoped_ptr<Proxy> proxyForTesting); | 207 bool initializeForTesting(scoped_ptr<Proxy> proxyForTesting); |
206 | 208 |
207 private: | 209 private: |
208 typedef std::vector<scoped_refptr<Layer> > LayerList; | 210 typedef std::vector<scoped_refptr<Layer> > LayerList; |
209 | 211 |
210 bool initializeProxy(scoped_ptr<Proxy> proxy); | 212 bool initializeProxy(scoped_ptr<Proxy> proxy); |
211 void initializeRenderer(); | 213 void initializeRenderer(); |
212 | 214 |
213 void update(Layer*, ResourceUpdateQueue&, const OcclusionTracker*); | 215 void update(Layer*, ResourceUpdateQueue&, const OcclusionTracker*); |
214 bool paintLayerContents(const LayerList&, ResourceUpdateQueue&); | 216 bool paintLayerContents(const LayerList&, ResourceUpdateQueue&); |
215 bool paintMasksForRenderSurface(Layer*, ResourceUpdateQueue&); | 217 bool paintMasksForRenderSurface(Layer*, ResourceUpdateQueue&); |
216 | 218 |
217 void updateLayers(Layer*, ResourceUpdateQueue&); | 219 void updateLayers(Layer*, ResourceUpdateQueue&); |
218 void triggerPrepaint(); | 220 void triggerPrepaint(); |
219 | 221 |
220 void prioritizeTextures(const LayerList&, OverdrawMetrics&); | 222 void prioritizeTextures(const LayerList&, OverdrawMetrics&); |
221 void setPrioritiesForSurfaces(size_t surfaceMemoryBytes); | 223 void setPrioritiesForSurfaces(size_t surfaceMemoryBytes); |
222 void setPrioritiesForLayers(const LayerList&); | 224 void setPrioritiesForLayers(const LayerList&); |
223 size_t calculateMemoryForRenderSurfaces(const LayerList& updateList); | 225 size_t calculateMemoryForRenderSurfaces(const LayerList& updateList); |
224 | 226 |
225 void animateLayers(base::TimeTicks monotonicTime); | 227 void animateLayers(base::TimeTicks monotonicTime); |
226 bool animateLayersRecursive(Layer* current, base::TimeTicks time); | 228 bool animateLayersRecursive(Layer* current, base::TimeTicks time); |
227 void setAnimationEventsRecursive(const AnimationEventsVector&, Layer*, base:
:Time wallClockTime); | 229 void setAnimationEventsRecursive(const AnimationEventsVector&, Layer*, base:
:Time wallClockTime); |
228 | 230 |
229 bool m_animating; | 231 bool m_animating; |
230 bool m_needsAnimateLayers; | |
231 bool m_needsFullTreeSync; | 232 bool m_needsFullTreeSync; |
232 | 233 |
233 base::CancelableClosure m_prepaintCallback; | 234 base::CancelableClosure m_prepaintCallback; |
234 | 235 |
235 LayerTreeHostClient* m_client; | 236 LayerTreeHostClient* m_client; |
236 scoped_ptr<Proxy> m_proxy; | 237 scoped_ptr<Proxy> m_proxy; |
237 | 238 |
238 int m_commitNumber; | 239 int m_commitNumber; |
239 RenderingStats m_renderingStats; | 240 RenderingStats m_renderingStats; |
240 | 241 |
(...skipping 24 matching lines...) Expand all Loading... |
265 float m_minPageScaleFactor, m_maxPageScaleFactor; | 266 float m_minPageScaleFactor, m_maxPageScaleFactor; |
266 gfx::Transform m_implTransform; | 267 gfx::Transform m_implTransform; |
267 bool m_triggerIdleUpdates; | 268 bool m_triggerIdleUpdates; |
268 | 269 |
269 SkColor m_backgroundColor; | 270 SkColor m_backgroundColor; |
270 bool m_hasTransparentBackground; | 271 bool m_hasTransparentBackground; |
271 | 272 |
272 typedef ScopedPtrVector<PrioritizedResource> TextureList; | 273 typedef ScopedPtrVector<PrioritizedResource> TextureList; |
273 size_t m_partialTextureUpdateRequests; | 274 size_t m_partialTextureUpdateRequests; |
274 | 275 |
| 276 scoped_ptr<AnimationRegistrar> m_animationRegistrar; |
| 277 |
275 static bool s_needsFilterContext; | 278 static bool s_needsFilterContext; |
276 | 279 |
277 DISALLOW_COPY_AND_ASSIGN(LayerTreeHost); | 280 DISALLOW_COPY_AND_ASSIGN(LayerTreeHost); |
278 }; | 281 }; |
279 | 282 |
280 } // namespace cc | 283 } // namespace cc |
281 | 284 |
282 #endif // CC_LAYER_TREE_HOST_H_ | 285 #endif // CC_LAYER_TREE_HOST_H_ |
OLD | NEW |