OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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_TREES_LAYER_TREE_IMPL_H_ | 5 #ifndef CC_TREES_LAYER_TREE_IMPL_H_ |
6 #define CC_TREES_LAYER_TREE_IMPL_H_ | 6 #define CC_TREES_LAYER_TREE_IMPL_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 25 matching lines...) Expand all Loading... |
36 class OutputSurface; | 36 class OutputSurface; |
37 class PaintTimeCounter; | 37 class PaintTimeCounter; |
38 class Proxy; | 38 class Proxy; |
39 class ResourceProvider; | 39 class ResourceProvider; |
40 class ScrollbarLayerImpl; | 40 class ScrollbarLayerImpl; |
41 class TileManager; | 41 class TileManager; |
42 struct RendererCapabilities; | 42 struct RendererCapabilities; |
43 | 43 |
44 class CC_EXPORT LayerTreeImpl { | 44 class CC_EXPORT LayerTreeImpl { |
45 public: | 45 public: |
46 typedef std::vector<LayerImpl*> LayerList; | |
47 | |
48 static scoped_ptr<LayerTreeImpl> create( | 46 static scoped_ptr<LayerTreeImpl> create( |
49 LayerTreeHostImpl* layer_tree_host_impl) { | 47 LayerTreeHostImpl* layer_tree_host_impl) { |
50 return make_scoped_ptr(new LayerTreeImpl(layer_tree_host_impl)); | 48 return make_scoped_ptr(new LayerTreeImpl(layer_tree_host_impl)); |
51 } | 49 } |
52 virtual ~LayerTreeImpl(); | 50 virtual ~LayerTreeImpl(); |
53 | 51 |
54 // Methods called by the layer tree that pass-through or access LTHI. | 52 // Methods called by the layer tree that pass-through or access LTHI. |
55 // --------------------------------------------------------------------------- | 53 // --------------------------------------------------------------------------- |
56 const LayerTreeSettings& settings() const; | 54 const LayerTreeSettings& settings() const; |
57 const RendererCapabilities& GetRendererCapabilities() const; | 55 const RendererCapabilities& GetRendererCapabilities() const; |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
154 return needs_update_draw_properties_; | 152 return needs_update_draw_properties_; |
155 } | 153 } |
156 | 154 |
157 void set_needs_full_tree_sync(bool needs) { needs_full_tree_sync_ = needs; } | 155 void set_needs_full_tree_sync(bool needs) { needs_full_tree_sync_ = needs; } |
158 bool needs_full_tree_sync() const { return needs_full_tree_sync_; } | 156 bool needs_full_tree_sync() const { return needs_full_tree_sync_; } |
159 | 157 |
160 void ClearRenderSurfaces(); | 158 void ClearRenderSurfaces(); |
161 | 159 |
162 bool AreVisibleResourcesReady() const; | 160 bool AreVisibleResourcesReady() const; |
163 | 161 |
164 const LayerList& RenderSurfaceLayerList() const; | 162 const LayerImplList& RenderSurfaceLayerList() const; |
165 | 163 |
166 // These return the size of the root scrollable area and the size of | 164 // These return the size of the root scrollable area and the size of |
167 // the user-visible scrolling viewport, in CSS layout coordinates. | 165 // the user-visible scrolling viewport, in CSS layout coordinates. |
168 gfx::Size ScrollableSize() const; | 166 gfx::Size ScrollableSize() const; |
169 gfx::SizeF ScrollableViewportSize() const; | 167 gfx::SizeF ScrollableViewportSize() const; |
170 | 168 |
171 LayerImpl* LayerById(int id); | 169 LayerImpl* LayerById(int id); |
172 | 170 |
173 // These should be called by LayerImpl's ctor/dtor. | 171 // These should be called by LayerImpl's ctor/dtor. |
174 void RegisterLayer(LayerImpl* layer); | 172 void RegisterLayer(LayerImpl* layer); |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
232 float max_page_scale_factor_; | 230 float max_page_scale_factor_; |
233 | 231 |
234 typedef base::hash_map<int, LayerImpl*> LayerIdMap; | 232 typedef base::hash_map<int, LayerImpl*> LayerIdMap; |
235 LayerIdMap layer_id_map_; | 233 LayerIdMap layer_id_map_; |
236 | 234 |
237 // Persisted state for non-impl-side-painting. | 235 // Persisted state for non-impl-side-painting. |
238 int scrolling_layer_id_from_previous_tree_; | 236 int scrolling_layer_id_from_previous_tree_; |
239 | 237 |
240 // List of visible layers for the most recently prepared frame. Used for | 238 // List of visible layers for the most recently prepared frame. Used for |
241 // rendering and input event hit testing. | 239 // rendering and input event hit testing. |
242 LayerList render_surface_layer_list_; | 240 LayerImplList render_surface_layer_list_; |
243 | 241 |
244 bool contents_textures_purged_; | 242 bool contents_textures_purged_; |
245 bool viewport_size_invalid_; | 243 bool viewport_size_invalid_; |
246 bool needs_update_draw_properties_; | 244 bool needs_update_draw_properties_; |
247 | 245 |
248 // In impl-side painting mode, this is true when the tree may contain | 246 // In impl-side painting mode, this is true when the tree may contain |
249 // structural differences relative to the active tree. | 247 // structural differences relative to the active tree. |
250 bool needs_full_tree_sync_; | 248 bool needs_full_tree_sync_; |
251 | 249 |
252 DISALLOW_COPY_AND_ASSIGN(LayerTreeImpl); | 250 DISALLOW_COPY_AND_ASSIGN(LayerTreeImpl); |
253 }; | 251 }; |
254 | 252 |
255 } // namespace cc | 253 } // namespace cc |
256 | 254 |
257 #endif // CC_TREES_LAYER_TREE_IMPL_H_ | 255 #endif // CC_TREES_LAYER_TREE_IMPL_H_ |
OLD | NEW |