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 786 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
797 } | 797 } |
798 | 798 |
799 static inline float Opacity(Layer* layer) { | 799 static inline float Opacity(Layer* layer) { |
800 return layer->opacity(); | 800 return layer->opacity(); |
801 } | 801 } |
802 | 802 |
803 static inline float Opacity(LayerImpl* layer) { | 803 static inline float Opacity(LayerImpl* layer) { |
804 return layer->test_properties()->opacity; | 804 return layer->test_properties()->opacity; |
805 } | 805 } |
806 | 806 |
807 static inline SkXfermode::Mode BlendMode(Layer* layer) { | 807 static inline SkBlendMode BlendMode(Layer* layer) { |
808 return layer->blend_mode(); | 808 return layer->blend_mode(); |
809 } | 809 } |
810 | 810 |
811 static inline SkXfermode::Mode BlendMode(LayerImpl* layer) { | 811 static inline SkBlendMode BlendMode(LayerImpl* layer) { |
812 return layer->test_properties()->blend_mode; | 812 return layer->test_properties()->blend_mode; |
813 } | 813 } |
814 | 814 |
815 static inline const FilterOperations& Filters(Layer* layer) { | 815 static inline const FilterOperations& Filters(Layer* layer) { |
816 return layer->filters(); | 816 return layer->filters(); |
817 } | 817 } |
818 | 818 |
819 static inline const gfx::PointF FiltersOrigin(Layer* layer) { | 819 static inline const gfx::PointF FiltersOrigin(Layer* layer) { |
820 return layer->filters_origin(); | 820 return layer->filters_origin(); |
821 } | 821 } |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
904 TRACE_EVENT_INSTANT0( | 904 TRACE_EVENT_INSTANT0( |
905 "cc", "PropertyTreeBuilder::ShouldCreateRenderSurface flattening", | 905 "cc", "PropertyTreeBuilder::ShouldCreateRenderSurface flattening", |
906 TRACE_EVENT_SCOPE_THREAD); | 906 TRACE_EVENT_SCOPE_THREAD); |
907 return true; | 907 return true; |
908 } | 908 } |
909 | 909 |
910 // If the layer has blending. | 910 // If the layer has blending. |
911 // TODO(rosca): this is temporary, until blending is implemented for other | 911 // TODO(rosca): this is temporary, until blending is implemented for other |
912 // types of quads than RenderPassDrawQuad. Layers having descendants that draw | 912 // types of quads than RenderPassDrawQuad. Layers having descendants that draw |
913 // content will still create a separate rendering surface. | 913 // content will still create a separate rendering surface. |
914 if (BlendMode(layer) != SkXfermode::kSrcOver_Mode) { | 914 if (BlendMode(layer) != SkBlendMode::kSrcOver) { |
915 TRACE_EVENT_INSTANT0( | 915 TRACE_EVENT_INSTANT0( |
916 "cc", "PropertyTreeBuilder::ShouldCreateRenderSurface blending", | 916 "cc", "PropertyTreeBuilder::ShouldCreateRenderSurface blending", |
917 TRACE_EVENT_SCOPE_THREAD); | 917 TRACE_EVENT_SCOPE_THREAD); |
918 return true; | 918 return true; |
919 } | 919 } |
920 // If the layer clips its descendants but it is not axis-aligned with respect | 920 // If the layer clips its descendants but it is not axis-aligned with respect |
921 // to its parent. | 921 // to its parent. |
922 bool layer_clips_external_content = LayerClipsSubtree(layer); | 922 bool layer_clips_external_content = LayerClipsSubtree(layer); |
923 if (layer_clips_external_content && !preserves_2d_axis_alignment && | 923 if (layer_clips_external_content && !preserves_2d_axis_alignment && |
924 num_descendants_that_draw_content > 0) { | 924 num_descendants_that_draw_content > 0) { |
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1236 layer->set_property_tree_sequence_number( | 1236 layer->set_property_tree_sequence_number( |
1237 data_from_parent.property_trees->sequence_number); | 1237 data_from_parent.property_trees->sequence_number); |
1238 | 1238 |
1239 DataForRecursion<LayerType> data_for_children(data_from_parent); | 1239 DataForRecursion<LayerType> data_for_children(data_from_parent); |
1240 | 1240 |
1241 bool created_render_surface = | 1241 bool created_render_surface = |
1242 AddEffectNodeIfNeeded(data_from_parent, layer, &data_for_children); | 1242 AddEffectNodeIfNeeded(data_from_parent, layer, &data_for_children); |
1243 | 1243 |
1244 if (created_render_surface) { | 1244 if (created_render_surface) { |
1245 data_for_children.render_target = data_for_children.effect_tree_parent; | 1245 data_for_children.render_target = data_for_children.effect_tree_parent; |
1246 layer->set_draw_blend_mode(SkXfermode::kSrcOver_Mode); | 1246 layer->set_draw_blend_mode(SkBlendMode::kSrcOver); |
1247 } else { | 1247 } else { |
1248 layer->set_draw_blend_mode(BlendMode(layer)); | 1248 layer->set_draw_blend_mode(BlendMode(layer)); |
1249 } | 1249 } |
1250 | 1250 |
1251 bool created_transform_node = AddTransformNodeIfNeeded( | 1251 bool created_transform_node = AddTransformNodeIfNeeded( |
1252 data_from_parent, layer, created_render_surface, &data_for_children); | 1252 data_from_parent, layer, created_render_surface, &data_for_children); |
1253 AddClipNodeIfNeeded(data_from_parent, layer, created_render_surface, | 1253 AddClipNodeIfNeeded(data_from_parent, layer, created_render_surface, |
1254 created_transform_node, &data_for_children); | 1254 created_transform_node, &data_for_children); |
1255 | 1255 |
1256 AddScrollNodeIfNeeded(data_from_parent, layer, &data_for_children); | 1256 AddScrollNodeIfNeeded(data_from_parent, layer, &data_for_children); |
(...skipping 239 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 |