| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #include "cc/trees/property_tree_builder.h" | 5 #include "cc/trees/property_tree_builder.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <map> | 9 #include <map> |
| 10 #include <set> | 10 #include <set> |
| (...skipping 787 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 798 } | 798 } |
| 799 | 799 |
| 800 static inline float Opacity(Layer* layer) { | 800 static inline float Opacity(Layer* layer) { |
| 801 return layer->opacity(); | 801 return layer->opacity(); |
| 802 } | 802 } |
| 803 | 803 |
| 804 static inline float Opacity(LayerImpl* layer) { | 804 static inline float Opacity(LayerImpl* layer) { |
| 805 return layer->test_properties()->opacity; | 805 return layer->test_properties()->opacity; |
| 806 } | 806 } |
| 807 | 807 |
| 808 static inline SkXfermode::Mode BlendMode(Layer* layer) { | 808 static inline SkBlendMode BlendMode(Layer* layer) { |
| 809 return layer->blend_mode(); | 809 return layer->blend_mode(); |
| 810 } | 810 } |
| 811 | 811 |
| 812 static inline SkXfermode::Mode BlendMode(LayerImpl* layer) { | 812 static inline SkBlendMode BlendMode(LayerImpl* layer) { |
| 813 return layer->test_properties()->blend_mode; | 813 return layer->test_properties()->blend_mode; |
| 814 } | 814 } |
| 815 | 815 |
| 816 static inline const FilterOperations& Filters(Layer* layer) { | 816 static inline const FilterOperations& Filters(Layer* layer) { |
| 817 return layer->filters(); | 817 return layer->filters(); |
| 818 } | 818 } |
| 819 | 819 |
| 820 static inline const gfx::PointF FiltersOrigin(Layer* layer) { | 820 static inline const gfx::PointF FiltersOrigin(Layer* layer) { |
| 821 return layer->filters_origin(); | 821 return layer->filters_origin(); |
| 822 } | 822 } |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 905 TRACE_EVENT_INSTANT0( | 905 TRACE_EVENT_INSTANT0( |
| 906 "cc", "PropertyTreeBuilder::ShouldCreateRenderSurface flattening", | 906 "cc", "PropertyTreeBuilder::ShouldCreateRenderSurface flattening", |
| 907 TRACE_EVENT_SCOPE_THREAD); | 907 TRACE_EVENT_SCOPE_THREAD); |
| 908 return true; | 908 return true; |
| 909 } | 909 } |
| 910 | 910 |
| 911 // If the layer has blending. | 911 // If the layer has blending. |
| 912 // TODO(rosca): this is temporary, until blending is implemented for other | 912 // TODO(rosca): this is temporary, until blending is implemented for other |
| 913 // types of quads than RenderPassDrawQuad. Layers having descendants that draw | 913 // types of quads than RenderPassDrawQuad. Layers having descendants that draw |
| 914 // content will still create a separate rendering surface. | 914 // content will still create a separate rendering surface. |
| 915 if (BlendMode(layer) != SkXfermode::kSrcOver_Mode) { | 915 if (BlendMode(layer) != SkBlendMode::kSrcOver) { |
| 916 TRACE_EVENT_INSTANT0( | 916 TRACE_EVENT_INSTANT0( |
| 917 "cc", "PropertyTreeBuilder::ShouldCreateRenderSurface blending", | 917 "cc", "PropertyTreeBuilder::ShouldCreateRenderSurface blending", |
| 918 TRACE_EVENT_SCOPE_THREAD); | 918 TRACE_EVENT_SCOPE_THREAD); |
| 919 return true; | 919 return true; |
| 920 } | 920 } |
| 921 // If the layer clips its descendants but it is not axis-aligned with respect | 921 // If the layer clips its descendants but it is not axis-aligned with respect |
| 922 // to its parent. | 922 // to its parent. |
| 923 bool layer_clips_external_content = LayerClipsSubtree(layer); | 923 bool layer_clips_external_content = LayerClipsSubtree(layer); |
| 924 if (layer_clips_external_content && !preserves_2d_axis_alignment && | 924 if (layer_clips_external_content && !preserves_2d_axis_alignment && |
| 925 num_descendants_that_draw_content > 0) { | 925 num_descendants_that_draw_content > 0) { |
| (...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1237 layer->set_property_tree_sequence_number( | 1237 layer->set_property_tree_sequence_number( |
| 1238 data_from_parent.property_trees->sequence_number); | 1238 data_from_parent.property_trees->sequence_number); |
| 1239 | 1239 |
| 1240 DataForRecursion<LayerType> data_for_children(data_from_parent); | 1240 DataForRecursion<LayerType> data_for_children(data_from_parent); |
| 1241 | 1241 |
| 1242 bool created_render_surface = | 1242 bool created_render_surface = |
| 1243 AddEffectNodeIfNeeded(data_from_parent, layer, &data_for_children); | 1243 AddEffectNodeIfNeeded(data_from_parent, layer, &data_for_children); |
| 1244 | 1244 |
| 1245 if (created_render_surface) { | 1245 if (created_render_surface) { |
| 1246 data_for_children.render_target = data_for_children.effect_tree_parent; | 1246 data_for_children.render_target = data_for_children.effect_tree_parent; |
| 1247 layer->set_draw_blend_mode(SkXfermode::kSrcOver_Mode); | 1247 layer->set_draw_blend_mode(SkBlendMode::kSrcOver); |
| 1248 } else { | 1248 } else { |
| 1249 layer->set_draw_blend_mode(BlendMode(layer)); | 1249 layer->set_draw_blend_mode(BlendMode(layer)); |
| 1250 } | 1250 } |
| 1251 | 1251 |
| 1252 bool created_transform_node = AddTransformNodeIfNeeded( | 1252 bool created_transform_node = AddTransformNodeIfNeeded( |
| 1253 data_from_parent, layer, created_render_surface, &data_for_children); | 1253 data_from_parent, layer, created_render_surface, &data_for_children); |
| 1254 AddClipNodeIfNeeded(data_from_parent, layer, created_render_surface, | 1254 AddClipNodeIfNeeded(data_from_parent, layer, created_render_surface, |
| 1255 created_transform_node, &data_for_children); | 1255 created_transform_node, &data_for_children); |
| 1256 | 1256 |
| 1257 AddScrollNodeIfNeeded(data_from_parent, layer, &data_for_children); | 1257 AddScrollNodeIfNeeded(data_from_parent, layer, &data_for_children); |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1496 color = SkColorSetA(color, 255); | 1496 color = SkColorSetA(color, 255); |
| 1497 BuildPropertyTreesTopLevelInternal( | 1497 BuildPropertyTreesTopLevelInternal( |
| 1498 root_layer, page_scale_layer, inner_viewport_scroll_layer, | 1498 root_layer, page_scale_layer, inner_viewport_scroll_layer, |
| 1499 outer_viewport_scroll_layer, overscroll_elasticity_layer, | 1499 outer_viewport_scroll_layer, overscroll_elasticity_layer, |
| 1500 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, | 1500 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, |
| 1501 device_transform, property_trees, color); | 1501 device_transform, property_trees, color); |
| 1502 property_trees->ResetCachedData(); | 1502 property_trees->ResetCachedData(); |
| 1503 } | 1503 } |
| 1504 | 1504 |
| 1505 } // namespace cc | 1505 } // namespace cc |
| OLD | NEW |