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_LAYERS_DRAW_PROPERTIES_H_ | 5 #ifndef CC_LAYERS_DRAW_PROPERTIES_H_ |
6 #define CC_LAYERS_DRAW_PROPERTIES_H_ | 6 #define CC_LAYERS_DRAW_PROPERTIES_H_ |
7 | 7 |
8 #include "base/memory/scoped_ptr.h" | 8 #include "base/memory/scoped_ptr.h" |
9 #include "ui/gfx/rect.h" | 9 #include "ui/gfx/rect.h" |
10 #include "ui/gfx/transform.h" | 10 #include "ui/gfx/transform.h" |
(...skipping 16 matching lines...) Expand all Loading... |
27 contents_scale_x(1.f), | 27 contents_scale_x(1.f), |
28 contents_scale_y(1.f), | 28 contents_scale_y(1.f), |
29 num_descendants_that_draw_content(0), | 29 num_descendants_that_draw_content(0), |
30 num_unclipped_descendants(0), | 30 num_unclipped_descendants(0), |
31 layer_or_descendant_has_copy_request(false), | 31 layer_or_descendant_has_copy_request(false), |
32 has_child_with_a_scroll_parent(false), | 32 has_child_with_a_scroll_parent(false), |
33 sorted_for_recursion(false), | 33 sorted_for_recursion(false), |
34 index_of_first_descendants_addition(0), | 34 index_of_first_descendants_addition(0), |
35 num_descendants_added(0), | 35 num_descendants_added(0), |
36 index_of_first_render_surface_layer_list_addition(0), | 36 index_of_first_render_surface_layer_list_addition(0), |
37 num_render_surfaces_added(0) {} | 37 num_render_surfaces_added(0), |
| 38 last_drawn_render_surface_layer_list_id(0) {} |
38 | 39 |
39 // Transforms objects from content space to target surface space, where | 40 // Transforms objects from content space to target surface space, where |
40 // this layer would be drawn. | 41 // this layer would be drawn. |
41 gfx::Transform target_space_transform; | 42 gfx::Transform target_space_transform; |
42 | 43 |
43 // Transforms objects from content space to screen space (viewport space). | 44 // Transforms objects from content space to screen space (viewport space). |
44 gfx::Transform screen_space_transform; | 45 gfx::Transform screen_space_transform; |
45 | 46 |
46 // DrawProperties::opacity may be different than LayerType::opacity, | 47 // DrawProperties::opacity may be different than LayerType::opacity, |
47 // particularly in the case when a RenderSurface re-parents the layer's | 48 // particularly in the case when a RenderSurface re-parents the layer's |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 // layer will be visited while computing draw properties has been determined. | 112 // layer will be visited while computing draw properties has been determined. |
112 bool sorted_for_recursion; | 113 bool sorted_for_recursion; |
113 | 114 |
114 // If this layer is visited out of order, its contribution to the descendant | 115 // If this layer is visited out of order, its contribution to the descendant |
115 // and render surface layer lists will be put aside in a temporary list. | 116 // and render surface layer lists will be put aside in a temporary list. |
116 // These values will allow for an efficient reordering of these additions. | 117 // These values will allow for an efficient reordering of these additions. |
117 size_t index_of_first_descendants_addition; | 118 size_t index_of_first_descendants_addition; |
118 size_t num_descendants_added; | 119 size_t num_descendants_added; |
119 size_t index_of_first_render_surface_layer_list_addition; | 120 size_t index_of_first_render_surface_layer_list_addition; |
120 size_t num_render_surfaces_added; | 121 size_t num_render_surfaces_added; |
| 122 |
| 123 // Each time we generate a new render surface layer list, an ID is used to |
| 124 // identify it. |last_drawn_render_surface_layer_list_id| is set to the ID |
| 125 // that marked the render surface layer list generation which last updated |
| 126 // these draw properties and determined that this layer will draw itself. |
| 127 // If these draw properties are not a part of the render surface layer list, |
| 128 // or the layer doesn't contribute anything, then this ID will be either out |
| 129 // of date or 0. |
| 130 int last_drawn_render_surface_layer_list_id; |
121 }; | 131 }; |
122 | 132 |
123 } // namespace cc | 133 } // namespace cc |
124 | 134 |
125 #endif // CC_LAYERS_DRAW_PROPERTIES_H_ | 135 #endif // CC_LAYERS_DRAW_PROPERTIES_H_ |
OLD | NEW |