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

Side by Side Diff: cc/layers/layer.cc

Issue 687873004: Introduce Property Trees (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@wip-awoloszyn2
Patch Set: . Created 6 years 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 2010 The Chromium Authors. All rights reserved. 1 // Copyright 2010 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/layers/layer.h" 5 #include "cc/layers/layer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/atomic_sequence_num.h" 9 #include "base/atomic_sequence_num.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 num_dependents_need_push_properties_(false), 42 num_dependents_need_push_properties_(false),
43 stacking_order_changed_(false), 43 stacking_order_changed_(false),
44 // Layer IDs start from 1. 44 // Layer IDs start from 1.
45 layer_id_(g_next_layer_id.GetNext() + 1), 45 layer_id_(g_next_layer_id.GetNext() + 1),
46 ignore_set_needs_commit_(false), 46 ignore_set_needs_commit_(false),
47 sorting_context_id_(0), 47 sorting_context_id_(0),
48 parent_(nullptr), 48 parent_(nullptr),
49 layer_tree_host_(nullptr), 49 layer_tree_host_(nullptr),
50 scroll_clip_layer_id_(INVALID_ID), 50 scroll_clip_layer_id_(INVALID_ID),
51 num_descendants_that_draw_content_(0), 51 num_descendants_that_draw_content_(0),
52 transform_tree_index_(-1),
53 opacity_tree_index_(-1),
54 clip_tree_index_(-1),
52 should_scroll_on_main_thread_(false), 55 should_scroll_on_main_thread_(false),
53 have_wheel_event_handlers_(false), 56 have_wheel_event_handlers_(false),
54 have_scroll_event_handlers_(false), 57 have_scroll_event_handlers_(false),
55 user_scrollable_horizontal_(true), 58 user_scrollable_horizontal_(true),
56 user_scrollable_vertical_(true), 59 user_scrollable_vertical_(true),
57 is_root_for_isolated_group_(false), 60 is_root_for_isolated_group_(false),
58 is_container_for_fixed_position_layers_(false), 61 is_container_for_fixed_position_layers_(false),
59 is_drawable_(false), 62 is_drawable_(false),
60 draws_content_(false), 63 draws_content_(false),
61 hide_layer_and_subtree_(false), 64 hide_layer_and_subtree_(false),
(...skipping 1164 matching lines...) Expand 10 before | Expand all | Expand 10 after
1226 DCHECK_GE(num_descendants_that_draw_content_, 0); 1229 DCHECK_GE(num_descendants_that_draw_content_, 0);
1227 DCHECK_GE(num_descendants_that_draw_content_ + num, 0); 1230 DCHECK_GE(num_descendants_that_draw_content_ + num, 0);
1228 if (num == 0) 1231 if (num == 0)
1229 return; 1232 return;
1230 num_descendants_that_draw_content_ += num; 1233 num_descendants_that_draw_content_ += num;
1231 SetNeedsCommit(); 1234 SetNeedsCommit();
1232 if (parent()) 1235 if (parent())
1233 parent()->AddDrawableDescendants(num); 1236 parent()->AddDrawableDescendants(num);
1234 } 1237 }
1235 1238
1239 bool Layer::NeedsVisibleRectUpdated() const {
1240 return DrawsContent();
1241 }
1242
1236 void Layer::RunMicroBenchmark(MicroBenchmark* benchmark) { 1243 void Layer::RunMicroBenchmark(MicroBenchmark* benchmark) {
1237 benchmark->RunOnLayer(this); 1244 benchmark->RunOnLayer(this);
1238 } 1245 }
1239 1246
1240 bool Layer::HasDelegatedContent() const { 1247 bool Layer::HasDelegatedContent() const {
1241 return false; 1248 return false;
1242 } 1249 }
1243 1250
1251 gfx::Transform Layer::debug_screen_space_transform(
1252 const TransformTree& tree) const {
1253 gfx::Transform xform(1, 0, 0, 1, offset_to_transform_parent().x(),
1254 offset_to_transform_parent().y());
1255 if (transform_tree_index() >= 0) {
1256 gfx::Transform ssxform = tree.Node(transform_tree_index())->data.to_screen;
1257 xform.ConcatTransform(ssxform);
1258 }
1259 xform.Scale(1.0 / contents_scale_x(), 1.0 / contents_scale_y());
1260 return xform;
1261 }
1262
1263 gfx::Transform Layer::debug_draw_transform(const TransformTree& tree) const {
1264 if (!has_render_target())
1265 return debug_screen_space_transform(tree);
1266
1267 gfx::Transform xform(1, 0, 0, 1, offset_to_transform_parent().x(),
1268 offset_to_transform_parent().y());
1269 if (transform_tree_index() >= 0) {
1270 gfx::Transform ssxform;
1271 ComputeTransform(tree, transform_tree_index(),
1272 render_target()->transform_tree_index(), &ssxform);
1273 xform.ConcatTransform(ssxform);
1274 }
1275 xform.Scale(1.0 / contents_scale_x(), 1.0 / contents_scale_y());
1276 return xform;
1277 }
1278
1244 } // namespace cc 1279 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698