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

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

Issue 295193002: Get rid of graphics layer anchor points, and replace with transform origin. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix nit. Created 6 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 | Annotate | Revision Log
« no previous file with comments | « cc/layers/layer.h ('k') | cc/layers/layer_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/debug/trace_event.h" 9 #include "base/debug/trace_event.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
54 hide_layer_and_subtree_(false), 54 hide_layer_and_subtree_(false),
55 masks_to_bounds_(false), 55 masks_to_bounds_(false),
56 contents_opaque_(false), 56 contents_opaque_(false),
57 double_sided_(true), 57 double_sided_(true),
58 should_flatten_transform_(true), 58 should_flatten_transform_(true),
59 use_parent_backface_visibility_(false), 59 use_parent_backface_visibility_(false),
60 draw_checkerboard_for_missing_tiles_(false), 60 draw_checkerboard_for_missing_tiles_(false),
61 force_render_surface_(false), 61 force_render_surface_(false),
62 is_3d_sorted_(false), 62 is_3d_sorted_(false),
63 transform_is_invertible_(true), 63 transform_is_invertible_(true),
64 anchor_point_(0.5f, 0.5f),
65 background_color_(0), 64 background_color_(0),
66 opacity_(1.f), 65 opacity_(1.f),
67 blend_mode_(SkXfermode::kSrcOver_Mode), 66 blend_mode_(SkXfermode::kSrcOver_Mode),
68 anchor_point_z_(0.f),
69 scroll_parent_(NULL), 67 scroll_parent_(NULL),
70 clip_parent_(NULL), 68 clip_parent_(NULL),
71 replica_layer_(NULL), 69 replica_layer_(NULL),
72 raster_scale_(0.f), 70 raster_scale_(0.f),
73 client_(NULL) { 71 client_(NULL) {
74 if (layer_id_ == INT_MAX) { 72 if (layer_id_ == INT_MAX) {
75 s_next_layer_id = 1; 73 s_next_layer_id = 1;
76 } 74 }
77 75
78 layer_animation_controller_ = LayerAnimationController::Create(layer_id_); 76 layer_animation_controller_ = LayerAnimationController::Create(layer_id_);
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 362
365 void Layer::RequestCopyOfOutput( 363 void Layer::RequestCopyOfOutput(
366 scoped_ptr<CopyOutputRequest> request) { 364 scoped_ptr<CopyOutputRequest> request) {
367 DCHECK(IsPropertyChangeAllowed()); 365 DCHECK(IsPropertyChangeAllowed());
368 if (request->IsEmpty()) 366 if (request->IsEmpty())
369 return; 367 return;
370 copy_requests_.push_back(request.Pass()); 368 copy_requests_.push_back(request.Pass());
371 SetNeedsCommit(); 369 SetNeedsCommit();
372 } 370 }
373 371
374 void Layer::SetAnchorPoint(const gfx::PointF& anchor_point) {
375 DCHECK(IsPropertyChangeAllowed());
376 if (anchor_point_ == anchor_point)
377 return;
378 anchor_point_ = anchor_point;
379 SetNeedsCommit();
380 }
381
382 void Layer::SetAnchorPointZ(float anchor_point_z) {
383 DCHECK(IsPropertyChangeAllowed());
384 if (anchor_point_z_ == anchor_point_z)
385 return;
386 anchor_point_z_ = anchor_point_z;
387 SetNeedsCommit();
388 }
389
390 void Layer::SetBackgroundColor(SkColor background_color) { 372 void Layer::SetBackgroundColor(SkColor background_color) {
391 DCHECK(IsPropertyChangeAllowed()); 373 DCHECK(IsPropertyChangeAllowed());
392 if (background_color_ == background_color) 374 if (background_color_ == background_color)
393 return; 375 return;
394 background_color_ = background_color; 376 background_color_ = background_color;
395 SetNeedsCommit(); 377 SetNeedsCommit();
396 } 378 }
397 379
398 SkColor Layer::SafeOpaqueBackgroundColor() const { 380 SkColor Layer::SafeOpaqueBackgroundColor() const {
399 SkColor color = background_color(); 381 SkColor color = background_color();
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 573
592 void Layer::SetTransform(const gfx::Transform& transform) { 574 void Layer::SetTransform(const gfx::Transform& transform) {
593 DCHECK(IsPropertyChangeAllowed()); 575 DCHECK(IsPropertyChangeAllowed());
594 if (transform_ == transform) 576 if (transform_ == transform)
595 return; 577 return;
596 transform_ = transform; 578 transform_ = transform;
597 transform_is_invertible_ = transform.IsInvertible(); 579 transform_is_invertible_ = transform.IsInvertible();
598 SetNeedsCommit(); 580 SetNeedsCommit();
599 } 581 }
600 582
583 void Layer::SetTransformOrigin(const gfx::Point3F& transform_origin) {
584 DCHECK(IsPropertyChangeAllowed());
585 if (transform_origin_ == transform_origin)
586 return;
587 transform_origin_ = transform_origin;
588 SetNeedsCommit();
589 }
590
601 bool Layer::TransformIsAnimating() const { 591 bool Layer::TransformIsAnimating() const {
602 return layer_animation_controller_->IsAnimatingProperty(Animation::Transform); 592 return layer_animation_controller_->IsAnimatingProperty(Animation::Transform);
603 } 593 }
604 594
605 void Layer::SetScrollParent(Layer* parent) { 595 void Layer::SetScrollParent(Layer* parent) {
606 DCHECK(IsPropertyChangeAllowed()); 596 DCHECK(IsPropertyChangeAllowed());
607 if (scroll_parent_ == parent) 597 if (scroll_parent_ == parent)
608 return; 598 return;
609 599
610 if (scroll_parent_) 600 if (scroll_parent_)
(...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after
859 } 849 }
860 850
861 void Layer::PushPropertiesTo(LayerImpl* layer) { 851 void Layer::PushPropertiesTo(LayerImpl* layer) {
862 DCHECK(layer_tree_host_); 852 DCHECK(layer_tree_host_);
863 853
864 // If we did not SavePaintProperties() for the layer this frame, then push the 854 // If we did not SavePaintProperties() for the layer this frame, then push the
865 // real property values, not the paint property values. 855 // real property values, not the paint property values.
866 bool use_paint_properties = paint_properties_.source_frame_number == 856 bool use_paint_properties = paint_properties_.source_frame_number ==
867 layer_tree_host_->source_frame_number(); 857 layer_tree_host_->source_frame_number();
868 858
869 layer->SetAnchorPoint(anchor_point_); 859 layer->SetTransformOrigin(transform_origin_);
870 layer->SetAnchorPointZ(anchor_point_z_);
871 layer->SetBackgroundColor(background_color_); 860 layer->SetBackgroundColor(background_color_);
872 layer->SetBounds(use_paint_properties ? paint_properties_.bounds 861 layer->SetBounds(use_paint_properties ? paint_properties_.bounds
873 : bounds_); 862 : bounds_);
874 layer->SetContentBounds(content_bounds()); 863 layer->SetContentBounds(content_bounds());
875 layer->SetContentsScale(contents_scale_x(), contents_scale_y()); 864 layer->SetContentsScale(contents_scale_x(), contents_scale_y());
876 865
877 bool is_tracing; 866 bool is_tracing;
878 TRACE_EVENT_CATEGORY_GROUP_ENABLED(TRACE_DISABLED_BY_DEFAULT("cc.debug"), 867 TRACE_EVENT_CATEGORY_GROUP_ENABLED(TRACE_DISABLED_BY_DEFAULT("cc.debug"),
879 &is_tracing); 868 &is_tracing);
880 if (is_tracing) 869 if (is_tracing)
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
1193 if (clip_parent_) 1182 if (clip_parent_)
1194 clip_parent_->RemoveClipChild(this); 1183 clip_parent_->RemoveClipChild(this);
1195 1184
1196 clip_parent_ = NULL; 1185 clip_parent_ = NULL;
1197 } 1186 }
1198 1187
1199 void Layer::RunMicroBenchmark(MicroBenchmark* benchmark) { 1188 void Layer::RunMicroBenchmark(MicroBenchmark* benchmark) {
1200 benchmark->RunOnLayer(this); 1189 benchmark->RunOnLayer(this);
1201 } 1190 }
1202 } // namespace cc 1191 } // namespace cc
OLDNEW
« no previous file with comments | « cc/layers/layer.h ('k') | cc/layers/layer_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698