Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(43)

Side by Side Diff: cc/trees/property_tree_builder.cc

Issue 2502373003: stop using SkXfermode -- use SkBlendMode instead (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698