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

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

Issue 2048723002: cc: Compute mask draw properties directly (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months 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/draw_property_utils.h" 5 #include "cc/trees/draw_property_utils.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <vector> 9 #include <vector>
10 10
(...skipping 1072 matching lines...) Expand 10 before | Expand all | Expand 10 after
1083 clip_node->data.layers_are_clipped_when_surfaces_disabled; 1083 clip_node->data.layers_are_clipped_when_surfaces_disabled;
1084 } 1084 }
1085 1085
1086 gfx::Rect bounds_in_target_space = MathUtil::MapEnclosingClippedRect( 1086 gfx::Rect bounds_in_target_space = MathUtil::MapEnclosingClippedRect(
1087 layer->draw_properties().target_space_transform, 1087 layer->draw_properties().target_space_transform,
1088 gfx::Rect(layer->bounds())); 1088 gfx::Rect(layer->bounds()));
1089 layer->draw_properties().drawable_content_rect = LayerDrawableContentRect( 1089 layer->draw_properties().drawable_content_rect = LayerDrawableContentRect(
1090 layer, bounds_in_target_space, layer->draw_properties().clip_rect); 1090 layer, bounds_in_target_space, layer->draw_properties().clip_rect);
1091 } 1091 }
1092 1092
1093 void ComputeMaskDrawProperties(LayerImpl* mask_layer,
1094 const PropertyTrees* property_trees) {
1095 // Mask draw properties are used only for rastering, so most of the draw
1096 // properties computed for other layers are not needed.
1097 mask_layer->draw_properties().screen_space_transform =
1098 ScreenSpaceTransformInternal(mask_layer,
1099 property_trees->transform_tree.Node(
1100 mask_layer->transform_tree_index()));
1101 mask_layer->draw_properties().visible_layer_rect =
1102 gfx::Rect(mask_layer->bounds());
ajuma 2016/06/07 17:59:39 We were previously using the owning layer's bounds
1103 }
1104
1093 void ComputeSurfaceDrawProperties(const PropertyTrees* property_trees, 1105 void ComputeSurfaceDrawProperties(const PropertyTrees* property_trees,
1094 RenderSurfaceImpl* render_surface) { 1106 RenderSurfaceImpl* render_surface) {
1095 const ClipNode* clip_node = 1107 const ClipNode* clip_node =
1096 property_trees->clip_tree.Node(render_surface->ClipTreeIndex()); 1108 property_trees->clip_tree.Node(render_surface->ClipTreeIndex());
1097 1109
1098 SetSurfaceIsClipped(clip_node, render_surface); 1110 SetSurfaceIsClipped(clip_node, render_surface);
1099 SetSurfaceDrawOpacity(property_trees->effect_tree, render_surface); 1111 SetSurfaceDrawOpacity(property_trees->effect_tree, render_surface);
1100 SetSurfaceDrawTransform(property_trees->transform_tree, render_surface); 1112 SetSurfaceDrawTransform(property_trees->transform_tree, render_surface);
1101 render_surface->SetScreenSpaceTransform( 1113 render_surface->SetScreenSpaceTransform(
1102 property_trees->transform_tree.ToScreenSpaceTransformWithoutSublayerScale( 1114 property_trees->transform_tree.ToScreenSpaceTransformWithoutSublayerScale(
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
1214 void UpdateElasticOverscroll(PropertyTrees* property_trees, 1226 void UpdateElasticOverscroll(PropertyTrees* property_trees,
1215 const Layer* overscroll_elasticity_layer, 1227 const Layer* overscroll_elasticity_layer,
1216 const gfx::Vector2dF& elastic_overscroll) { 1228 const gfx::Vector2dF& elastic_overscroll) {
1217 UpdateElasticOverscrollInternal(property_trees, overscroll_elasticity_layer, 1229 UpdateElasticOverscrollInternal(property_trees, overscroll_elasticity_layer,
1218 elastic_overscroll); 1230 elastic_overscroll);
1219 } 1231 }
1220 1232
1221 } // namespace draw_property_utils 1233 } // namespace draw_property_utils
1222 1234
1223 } // namespace cc 1235 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698