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 |