| 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_LAYERS_RENDER_SURFACE_IMPL_H_ | 5 #ifndef CC_LAYERS_RENDER_SURFACE_IMPL_H_ |
| 6 #define CC_LAYERS_RENDER_SURFACE_IMPL_H_ | 6 #define CC_LAYERS_RENDER_SURFACE_IMPL_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 | 9 |
| 10 #include <memory> | 10 #include <memory> |
| (...skipping 10 matching lines...) Expand all Loading... |
| 21 #include "ui/gfx/geometry/rect.h" | 21 #include "ui/gfx/geometry/rect.h" |
| 22 #include "ui/gfx/geometry/rect_f.h" | 22 #include "ui/gfx/geometry/rect_f.h" |
| 23 #include "ui/gfx/transform.h" | 23 #include "ui/gfx/transform.h" |
| 24 | 24 |
| 25 namespace cc { | 25 namespace cc { |
| 26 | 26 |
| 27 class DamageTracker; | 27 class DamageTracker; |
| 28 class FilterOperations; | 28 class FilterOperations; |
| 29 class Occlusion; | 29 class Occlusion; |
| 30 class LayerImpl; | 30 class LayerImpl; |
| 31 class LayerIterator; | |
| 32 class LayerTreeImpl; | 31 class LayerTreeImpl; |
| 33 | 32 |
| 34 struct AppendQuadsData; | 33 struct AppendQuadsData; |
| 35 | 34 |
| 36 class CC_EXPORT RenderSurfaceImpl { | 35 class CC_EXPORT RenderSurfaceImpl { |
| 37 public: | 36 public: |
| 38 RenderSurfaceImpl(LayerTreeImpl* layer_tree_impl, int stable_effect_id); | 37 RenderSurfaceImpl(LayerTreeImpl* layer_tree_impl, int stable_effect_id); |
| 39 virtual ~RenderSurfaceImpl(); | 38 virtual ~RenderSurfaceImpl(); |
| 40 | 39 |
| 41 // Returns the RenderSurfaceImpl that this render surface contributes to. Root | 40 // Returns the RenderSurfaceImpl that this render surface contributes to. Root |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 124 void ClearLayerLists(); | 123 void ClearLayerLists(); |
| 125 | 124 |
| 126 int id() const { return stable_effect_id_; } | 125 int id() const { return stable_effect_id_; } |
| 127 | 126 |
| 128 LayerImpl* MaskLayer(); | 127 LayerImpl* MaskLayer(); |
| 129 bool HasMask() const; | 128 bool HasMask() const; |
| 130 | 129 |
| 131 const FilterOperations& Filters() const; | 130 const FilterOperations& Filters() const; |
| 132 const FilterOperations& BackgroundFilters() const; | 131 const FilterOperations& BackgroundFilters() const; |
| 133 gfx::PointF FiltersOrigin() const; | 132 gfx::PointF FiltersOrigin() const; |
| 134 gfx::Transform FiltersTransform() const; | 133 gfx::Transform SurfaceScale() const; |
| 135 | 134 |
| 136 bool HasCopyRequest() const; | 135 bool HasCopyRequest() const; |
| 137 | 136 |
| 138 void ResetPropertyChangedFlags(); | 137 void ResetPropertyChangedFlags(); |
| 139 bool SurfacePropertyChanged() const; | 138 bool SurfacePropertyChanged() const; |
| 140 bool SurfacePropertyChangedOnlyFromDescendant() const; | 139 bool SurfacePropertyChangedOnlyFromDescendant() const; |
| 141 bool AncestorPropertyChanged() const; | 140 bool AncestorPropertyChanged() const; |
| 142 void NoteAncestorPropertyChanged(); | 141 void NoteAncestorPropertyChanged(); |
| 143 | 142 |
| 144 DamageTracker* damage_tracker() const { return damage_tracker_.get(); } | 143 DamageTracker* damage_tracker() const { return damage_tracker_.get(); } |
| 145 gfx::Rect GetDamageRect(); | 144 gfx::Rect GetDamageRect(); |
| 146 | 145 |
| 147 int GetRenderPassId(); | 146 int GetRenderPassId(); |
| 148 | 147 |
| 149 std::unique_ptr<RenderPass> CreateRenderPass(); | 148 std::unique_ptr<RenderPass> CreateRenderPass(); |
| 150 void AppendQuads(RenderPass* render_pass, AppendQuadsData* append_quads_data); | 149 void AppendQuads(RenderPass* render_pass, AppendQuadsData* append_quads_data); |
| 151 | 150 |
| 152 int TransformTreeIndex() const; | 151 int TransformTreeIndex() const; |
| 153 int ClipTreeIndex() const; | 152 int ClipTreeIndex() const; |
| 154 | 153 |
| 155 void set_effect_tree_index(int index) { effect_tree_index_ = index; } | 154 void set_effect_tree_index(int index) { effect_tree_index_ = index; } |
| 156 int EffectTreeIndex() const; | 155 int EffectTreeIndex() const; |
| 157 | 156 |
| 157 const EffectNode* OwningEffectNode() const; |
| 158 |
| 158 private: | 159 private: |
| 159 void SetContentRect(const gfx::Rect& content_rect); | 160 void SetContentRect(const gfx::Rect& content_rect); |
| 160 gfx::Rect CalculateClippedAccumulatedContentRect(); | 161 gfx::Rect CalculateClippedAccumulatedContentRect(); |
| 161 gfx::Rect CalculateExpandedClipForFilters( | 162 gfx::Rect CalculateExpandedClipForFilters( |
| 162 const gfx::Transform& target_to_surface); | 163 const gfx::Transform& target_to_surface); |
| 163 | 164 |
| 164 const EffectNode* OwningEffectNode() const; | |
| 165 | |
| 166 LayerTreeImpl* layer_tree_impl_; | 165 LayerTreeImpl* layer_tree_impl_; |
| 167 int stable_effect_id_; | 166 int stable_effect_id_; |
| 168 int effect_tree_index_; | 167 int effect_tree_index_; |
| 169 | 168 |
| 170 // Container for properties that render surfaces need to compute before they | 169 // Container for properties that render surfaces need to compute before they |
| 171 // can be drawn. | 170 // can be drawn. |
| 172 struct DrawProperties { | 171 struct DrawProperties { |
| 173 DrawProperties(); | 172 DrawProperties(); |
| 174 ~DrawProperties(); | 173 ~DrawProperties(); |
| 175 | 174 |
| (...skipping 26 matching lines...) Expand all Loading... |
| 202 | 201 |
| 203 LayerImplList layer_list_; | 202 LayerImplList layer_list_; |
| 204 Occlusion occlusion_in_content_space_; | 203 Occlusion occlusion_in_content_space_; |
| 205 | 204 |
| 206 // The nearest ancestor target surface that will contain the contents of this | 205 // The nearest ancestor target surface that will contain the contents of this |
| 207 // surface, and that ignores outside occlusion. This can point to itself. | 206 // surface, and that ignores outside occlusion. This can point to itself. |
| 208 const RenderSurfaceImpl* nearest_occlusion_immune_ancestor_; | 207 const RenderSurfaceImpl* nearest_occlusion_immune_ancestor_; |
| 209 | 208 |
| 210 std::unique_ptr<DamageTracker> damage_tracker_; | 209 std::unique_ptr<DamageTracker> damage_tracker_; |
| 211 | 210 |
| 212 // For LayerIteratorActions | |
| 213 int target_render_surface_layer_index_history_; | |
| 214 size_t current_layer_index_history_; | |
| 215 | |
| 216 friend class LayerIterator; | |
| 217 | |
| 218 DISALLOW_COPY_AND_ASSIGN(RenderSurfaceImpl); | 211 DISALLOW_COPY_AND_ASSIGN(RenderSurfaceImpl); |
| 219 }; | 212 }; |
| 220 | 213 |
| 221 } // namespace cc | 214 } // namespace cc |
| 222 #endif // CC_LAYERS_RENDER_SURFACE_IMPL_H_ | 215 #endif // CC_LAYERS_RENDER_SURFACE_IMPL_H_ |
| OLD | NEW |