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

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

Issue 2502373003: stop using SkXfermode -- use SkBlendMode instead (Closed)
Patch Set: rebase 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 787 matching lines...) Expand 10 before | Expand all | Expand 10 after
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
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
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
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
« no previous file with comments | « cc/trees/occlusion_tracker_unittest.cc ('k') | chrome/browser/chromeos/display/overscan_calibrator.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698