| 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_LAYER_TREE_IMPL_H_ | 5 #ifndef CC_LAYER_TREE_IMPL_H_ |
| 6 #define CC_LAYER_TREE_IMPL_H_ | 6 #define CC_LAYER_TREE_IMPL_H_ |
| 7 | 7 |
| 8 #include "base/hash_tables.h" | 8 #include "base/hash_tables.h" |
| 9 #include "cc/layer_impl.h" | 9 #include "cc/layer_impl.h" |
| 10 | 10 |
| (...skipping 12 matching lines...) Expand all Loading... |
| 23 | 23 |
| 24 class DebugRectHistory; | 24 class DebugRectHistory; |
| 25 class FrameRateCounter; | 25 class FrameRateCounter; |
| 26 class HeadsUpDisplayLayerImpl; | 26 class HeadsUpDisplayLayerImpl; |
| 27 class LayerTreeDebugState; | 27 class LayerTreeDebugState; |
| 28 class LayerTreeHostImpl; | 28 class LayerTreeHostImpl; |
| 29 class LayerTreeImpl; | 29 class LayerTreeImpl; |
| 30 class LayerTreeSettings; | 30 class LayerTreeSettings; |
| 31 class OutputSurface; | 31 class OutputSurface; |
| 32 class PaintTimeCounter; | 32 class PaintTimeCounter; |
| 33 class PinchZoomViewport; | |
| 34 class Proxy; | 33 class Proxy; |
| 35 class ResourceProvider; | 34 class ResourceProvider; |
| 36 class TileManager; | 35 class TileManager; |
| 37 | 36 |
| 38 class CC_EXPORT LayerTreeImpl { | 37 class CC_EXPORT LayerTreeImpl { |
| 39 public: | 38 public: |
| 40 typedef std::vector<LayerImpl*> LayerList; | 39 typedef std::vector<LayerImpl*> LayerList; |
| 41 | 40 |
| 42 static scoped_ptr<LayerTreeImpl> create(LayerTreeHostImpl* layer_tree_host_imp
l) | 41 static scoped_ptr<LayerTreeImpl> create(LayerTreeHostImpl* layer_tree_host_imp
l) |
| 43 { | 42 { |
| (...skipping 23 matching lines...) Expand all Loading... |
| 67 void SetNeedsRedraw(); | 66 void SetNeedsRedraw(); |
| 68 | 67 |
| 69 // TODO(nduca): These are implemented in cc files temporarily, but will become | 68 // TODO(nduca): These are implemented in cc files temporarily, but will become |
| 70 // trivial accessors in a followup patch. | 69 // trivial accessors in a followup patch. |
| 71 const LayerTreeDebugState& debug_state() const; | 70 const LayerTreeDebugState& debug_state() const; |
| 72 float device_scale_factor() const; | 71 float device_scale_factor() const; |
| 73 const gfx::Size& device_viewport_size() const; | 72 const gfx::Size& device_viewport_size() const; |
| 74 const gfx::Size& layout_viewport_size() const; | 73 const gfx::Size& layout_viewport_size() const; |
| 75 std::string layer_tree_as_text() const; | 74 std::string layer_tree_as_text() const; |
| 76 DebugRectHistory* debug_rect_history() const; | 75 DebugRectHistory* debug_rect_history() const; |
| 77 const PinchZoomViewport& pinch_zoom_viewport() const; | |
| 78 | 76 |
| 79 // Other public methods | 77 // Other public methods |
| 80 // --------------------------------------------------------------------------- | 78 // --------------------------------------------------------------------------- |
| 81 LayerImpl* RootLayer() const { return root_layer_.get(); } | 79 LayerImpl* RootLayer() const { return root_layer_.get(); } |
| 82 void SetRootLayer(scoped_ptr<LayerImpl>); | 80 void SetRootLayer(scoped_ptr<LayerImpl>); |
| 83 scoped_ptr<LayerImpl> DetachLayerTree(); | 81 scoped_ptr<LayerImpl> DetachLayerTree(); |
| 84 | 82 |
| 83 void pushPropertiesTo(LayerTreeImpl*); |
| 84 |
| 85 int source_frame_number() const { return source_frame_number_; } | 85 int source_frame_number() const { return source_frame_number_; } |
| 86 void set_source_frame_number(int frame_number) { | 86 void set_source_frame_number(int frame_number) { |
| 87 source_frame_number_ = frame_number; | 87 source_frame_number_ = frame_number; |
| 88 } | 88 } |
| 89 | 89 |
| 90 HeadsUpDisplayLayerImpl* hud_layer() { return hud_layer_; } | 90 HeadsUpDisplayLayerImpl* hud_layer() { return hud_layer_; } |
| 91 void set_hud_layer(HeadsUpDisplayLayerImpl* layer_impl) { | 91 void set_hud_layer(HeadsUpDisplayLayerImpl* layer_impl) { |
| 92 hud_layer_ = layer_impl; | 92 hud_layer_ = layer_impl; |
| 93 } | 93 } |
| 94 | 94 |
| (...skipping 17 matching lines...) Expand all Loading... |
| 112 void set_has_transparent_background(bool transparent) { | 112 void set_has_transparent_background(bool transparent) { |
| 113 has_transparent_background_ = transparent; | 113 has_transparent_background_ = transparent; |
| 114 } | 114 } |
| 115 | 115 |
| 116 enum UpdateDrawPropertiesReason { | 116 enum UpdateDrawPropertiesReason { |
| 117 UPDATE_PENDING_TREE, | 117 UPDATE_PENDING_TREE, |
| 118 UPDATE_ACTIVE_TREE, | 118 UPDATE_ACTIVE_TREE, |
| 119 UPDATE_ACTIVE_TREE_FOR_DRAW | 119 UPDATE_ACTIVE_TREE_FOR_DRAW |
| 120 }; | 120 }; |
| 121 | 121 |
| 122 gfx::Transform ImplTransform() const; |
| 123 |
| 124 void SetPageScaleFactorAndLimits(float page_scale_factor, |
| 125 float min_page_scale_factor, float max_page_scale_factor); |
| 126 void SetPageScaleDelta(float delta); |
| 127 float total_page_scale_factor() const { |
| 128 return page_scale_factor_ * page_scale_delta_; |
| 129 } |
| 130 float page_scale_factor() const { return page_scale_factor_; } |
| 131 float min_page_scale_factor() const { return min_page_scale_factor_; } |
| 132 float max_page_scale_factor() const { return max_page_scale_factor_; } |
| 133 float page_scale_delta() const { return page_scale_delta_; } |
| 134 void set_sent_page_scale_delta(float delta) { |
| 135 sent_page_scale_delta_ = delta; |
| 136 } |
| 137 float sent_page_scale_delta() const { return sent_page_scale_delta_; } |
| 138 |
| 122 // Updates draw properties and render surface layer list | 139 // Updates draw properties and render surface layer list |
| 123 void UpdateDrawProperties(UpdateDrawPropertiesReason reason); | 140 void UpdateDrawProperties(UpdateDrawPropertiesReason reason); |
| 124 void set_needs_update_draw_properties() { | 141 void set_needs_update_draw_properties() { |
| 125 needs_update_draw_properties_ = true; | 142 needs_update_draw_properties_ = true; |
| 126 } | 143 } |
| 127 bool needs_update_draw_properties() const { | 144 bool needs_update_draw_properties() const { |
| 128 return needs_update_draw_properties_; | 145 return needs_update_draw_properties_; |
| 129 } | 146 } |
| 130 | 147 |
| 131 void ClearRenderSurfaces(); | 148 void ClearRenderSurfaces(); |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 | 180 |
| 164 LayerTreeHostImpl* layer_tree_host_impl_; | 181 LayerTreeHostImpl* layer_tree_host_impl_; |
| 165 int source_frame_number_; | 182 int source_frame_number_; |
| 166 scoped_ptr<LayerImpl> root_layer_; | 183 scoped_ptr<LayerImpl> root_layer_; |
| 167 HeadsUpDisplayLayerImpl* hud_layer_; | 184 HeadsUpDisplayLayerImpl* hud_layer_; |
| 168 LayerImpl* root_scroll_layer_; | 185 LayerImpl* root_scroll_layer_; |
| 169 LayerImpl* currently_scrolling_layer_; | 186 LayerImpl* currently_scrolling_layer_; |
| 170 SkColor background_color_; | 187 SkColor background_color_; |
| 171 bool has_transparent_background_; | 188 bool has_transparent_background_; |
| 172 | 189 |
| 190 float page_scale_factor_; |
| 191 float page_scale_delta_; |
| 192 float sent_page_scale_delta_; |
| 193 float min_page_scale_factor_; |
| 194 float max_page_scale_factor_; |
| 195 |
| 173 typedef base::hash_map<int, LayerImpl*> LayerIdMap; | 196 typedef base::hash_map<int, LayerImpl*> LayerIdMap; |
| 174 LayerIdMap layer_id_map_; | 197 LayerIdMap layer_id_map_; |
| 175 | 198 |
| 176 // Persisted state for non-impl-side-painting. | 199 // Persisted state for non-impl-side-painting. |
| 177 int scrolling_layer_id_from_previous_tree_; | 200 int scrolling_layer_id_from_previous_tree_; |
| 178 | 201 |
| 179 // List of visible layers for the most recently prepared frame. Used for | 202 // List of visible layers for the most recently prepared frame. Used for |
| 180 // rendering and input event hit testing. | 203 // rendering and input event hit testing. |
| 181 LayerList render_surface_layer_list_; | 204 LayerList render_surface_layer_list_; |
| 182 | 205 |
| 183 bool contents_textures_purged_; | 206 bool contents_textures_purged_; |
| 184 bool needs_update_draw_properties_; | 207 bool needs_update_draw_properties_; |
| 185 | 208 |
| 186 DISALLOW_COPY_AND_ASSIGN(LayerTreeImpl); | 209 DISALLOW_COPY_AND_ASSIGN(LayerTreeImpl); |
| 187 }; | 210 }; |
| 188 | 211 |
| 189 } | 212 } |
| 190 | 213 |
| 191 #endif // CC_LAYER_TREE_IMPL_H_ | 214 #endif // CC_LAYER_TREE_IMPL_H_ |
| OLD | NEW |