| 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 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 91 // RenderSurface that is being drawn for the current frame. It could still be | 91 // RenderSurface that is being drawn for the current frame. It could still be |
| 92 // drawn to as a target, but its output will not be a part of any other | 92 // drawn to as a target, but its output will not be a part of any other |
| 93 // surface. | 93 // surface. |
| 94 bool contributes_to_drawn_surface() const { | 94 bool contributes_to_drawn_surface() const { |
| 95 return contributes_to_drawn_surface_; | 95 return contributes_to_drawn_surface_; |
| 96 } | 96 } |
| 97 void set_contributes_to_drawn_surface(bool contributes_to_drawn_surface) { | 97 void set_contributes_to_drawn_surface(bool contributes_to_drawn_surface) { |
| 98 contributes_to_drawn_surface_ = contributes_to_drawn_surface; | 98 contributes_to_drawn_surface_ = contributes_to_drawn_surface; |
| 99 } | 99 } |
| 100 | 100 |
| 101 void set_has_contributing_layer_that_escapes_clip( |
| 102 bool contributing_layer_escapes_clip) { |
| 103 has_contributing_layer_that_escapes_clip_ = contributing_layer_escapes_clip; |
| 104 } |
| 105 bool has_contributing_layer_that_escapes_clip() const { |
| 106 return has_contributing_layer_that_escapes_clip_; |
| 107 } |
| 108 |
| 101 void CalculateContentRectFromAccumulatedContentRect(int max_texture_size); | 109 void CalculateContentRectFromAccumulatedContentRect(int max_texture_size); |
| 102 void SetContentRectToViewport(); | 110 void SetContentRectToViewport(); |
| 103 void SetContentRectForTesting(const gfx::Rect& rect); | 111 void SetContentRectForTesting(const gfx::Rect& rect); |
| 104 gfx::Rect content_rect() const { return draw_properties_.content_rect; } | 112 gfx::Rect content_rect() const { return draw_properties_.content_rect; } |
| 105 | 113 |
| 106 void ClearAccumulatedContentRect(); | 114 void ClearAccumulatedContentRect(); |
| 107 void AccumulateContentRectFromContributingLayer( | 115 void AccumulateContentRectFromContributingLayer( |
| 108 LayerImpl* contributing_layer); | 116 LayerImpl* contributing_layer); |
| 109 void AccumulateContentRectFromContributingRenderSurface( | 117 void AccumulateContentRectFromContributingRenderSurface( |
| 110 RenderSurfaceImpl* contributing_surface); | 118 RenderSurfaceImpl* contributing_surface); |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 188 gfx::Rect clip_rect; | 196 gfx::Rect clip_rect; |
| 189 | 197 |
| 190 // True if the surface needs to be clipped by clip_rect. | 198 // True if the surface needs to be clipped by clip_rect. |
| 191 bool is_clipped : 1; | 199 bool is_clipped : 1; |
| 192 }; | 200 }; |
| 193 | 201 |
| 194 DrawProperties draw_properties_; | 202 DrawProperties draw_properties_; |
| 195 | 203 |
| 196 // Is used to calculate the content rect from property trees. | 204 // Is used to calculate the content rect from property trees. |
| 197 gfx::Rect accumulated_content_rect_; | 205 gfx::Rect accumulated_content_rect_; |
| 206 // Is used to decide if the surface is clipped. |
| 207 bool has_contributing_layer_that_escapes_clip_ : 1; |
| 198 bool surface_property_changed_ : 1; | 208 bool surface_property_changed_ : 1; |
| 199 bool ancestor_property_changed_ : 1; | 209 bool ancestor_property_changed_ : 1; |
| 200 | 210 |
| 201 bool contributes_to_drawn_surface_ : 1; | 211 bool contributes_to_drawn_surface_ : 1; |
| 202 | 212 |
| 203 LayerImplList layer_list_; | 213 LayerImplList layer_list_; |
| 204 Occlusion occlusion_in_content_space_; | 214 Occlusion occlusion_in_content_space_; |
| 205 | 215 |
| 206 // The nearest ancestor target surface that will contain the contents of this | 216 // The nearest ancestor target surface that will contain the contents of this |
| 207 // surface, and that ignores outside occlusion. This can point to itself. | 217 // surface, and that ignores outside occlusion. This can point to itself. |
| 208 const RenderSurfaceImpl* nearest_occlusion_immune_ancestor_; | 218 const RenderSurfaceImpl* nearest_occlusion_immune_ancestor_; |
| 209 | 219 |
| 210 std::unique_ptr<DamageTracker> damage_tracker_; | 220 std::unique_ptr<DamageTracker> damage_tracker_; |
| 211 | 221 |
| 212 // For LayerIteratorActions | 222 // For LayerIteratorActions |
| 213 int target_render_surface_layer_index_history_; | 223 int target_render_surface_layer_index_history_; |
| 214 size_t current_layer_index_history_; | 224 size_t current_layer_index_history_; |
| 215 | 225 |
| 216 friend class LayerIterator; | 226 friend class LayerIterator; |
| 217 | 227 |
| 218 DISALLOW_COPY_AND_ASSIGN(RenderSurfaceImpl); | 228 DISALLOW_COPY_AND_ASSIGN(RenderSurfaceImpl); |
| 219 }; | 229 }; |
| 220 | 230 |
| 221 } // namespace cc | 231 } // namespace cc |
| 222 #endif // CC_LAYERS_RENDER_SURFACE_IMPL_H_ | 232 #endif // CC_LAYERS_RENDER_SURFACE_IMPL_H_ |
| OLD | NEW |