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

Side by Side Diff: cc/layer_impl.cc

Issue 11308153: Migrate most of cc/ from WebKit::WebTransformationMatrix to gfx::Transform (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 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/layer_impl.h" 5 #include "cc/layer_impl.h"
6 6
7 #include "base/debug/trace_event.h" 7 #include "base/debug/trace_event.h"
8 #include "base/stringprintf.h" 8 #include "base/stringprintf.h"
9 #include "cc/debug_border_draw_quad.h" 9 #include "cc/debug_border_draw_quad.h"
10 #include "cc/debug_colors.h" 10 #include "cc/debug_colors.h"
11 #include "cc/layer_sorter.h" 11 #include "cc/layer_sorter.h"
12 #include "cc/layer_tree_host_impl.h" 12 #include "cc/layer_tree_host_impl.h"
13 #include "cc/math_util.h" 13 #include "cc/math_util.h"
14 #include "cc/proxy.h" 14 #include "cc/proxy.h"
15 #include "cc/quad_sink.h" 15 #include "cc/quad_sink.h"
16 #include "cc/scrollbar_animation_controller.h" 16 #include "cc/scrollbar_animation_controller.h"
17 #include "third_party/skia/include/core/SkImageFilter.h" 17 #include "third_party/skia/include/core/SkImageFilter.h"
18 #include "ui/gfx/point_conversions.h" 18 #include "ui/gfx/point_conversions.h"
19 #include "ui/gfx/rect_conversions.h" 19 #include "ui/gfx/rect_conversions.h"
20 20
21 using WebKit::WebTransformationMatrix; 21 using gfx::Transform;
22 22
23 namespace cc { 23 namespace cc {
24 24
25 LayerImpl::LayerImpl(int id) 25 LayerImpl::LayerImpl(int id)
26 : m_parent(0) 26 : m_parent(0)
27 , m_maskLayerId(-1) 27 , m_maskLayerId(-1)
28 , m_replicaLayerId(-1) 28 , m_replicaLayerId(-1)
29 , m_layerId(id) 29 , m_layerId(id)
30 , m_layerTreeHostImpl(0) 30 , m_layerTreeHostImpl(0)
31 , m_anchorPoint(0.5, 0.5) 31 , m_anchorPoint(0.5, 0.5)
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 return unscrolled; 228 return unscrolled;
229 } 229 }
230 230
231 InputHandlerClient::ScrollStatus LayerImpl::tryScroll(const gfx::PointF& screenS pacePoint, InputHandlerClient::ScrollInputType type) const 231 InputHandlerClient::ScrollStatus LayerImpl::tryScroll(const gfx::PointF& screenS pacePoint, InputHandlerClient::ScrollInputType type) const
232 { 232 {
233 if (shouldScrollOnMainThread()) { 233 if (shouldScrollOnMainThread()) {
234 TRACE_EVENT0("cc", "LayerImpl::tryScroll: Failed shouldScrollOnMainThrea d"); 234 TRACE_EVENT0("cc", "LayerImpl::tryScroll: Failed shouldScrollOnMainThrea d");
235 return InputHandlerClient::ScrollOnMainThread; 235 return InputHandlerClient::ScrollOnMainThread;
236 } 236 }
237 237
238 if (!screenSpaceTransform().isInvertible()) { 238 if (!screenSpaceTransform().IsInvertible()) {
239 TRACE_EVENT0("cc", "LayerImpl::tryScroll: Ignored nonInvertibleTransform "); 239 TRACE_EVENT0("cc", "LayerImpl::tryScroll: Ignored nonInvertibleTransform ");
240 return InputHandlerClient::ScrollIgnored; 240 return InputHandlerClient::ScrollIgnored;
241 } 241 }
242 242
243 if (!nonFastScrollableRegion().IsEmpty()) { 243 if (!nonFastScrollableRegion().IsEmpty()) {
244 bool clipped = false; 244 bool clipped = false;
245 gfx::PointF hitTestPointInContentSpace = MathUtil::projectPoint(screenSp aceTransform().inverse(), screenSpacePoint, clipped); 245 gfx::PointF hitTestPointInContentSpace = MathUtil::projectPoint(MathUtil ::inverse(screenSpaceTransform()), screenSpacePoint, clipped);
246 gfx::PointF hitTestPointInLayerSpace = gfx::ScalePoint(hitTestPointInCon tentSpace, 1 / contentsScaleX(), 1 / contentsScaleY()); 246 gfx::PointF hitTestPointInLayerSpace = gfx::ScalePoint(hitTestPointInCon tentSpace, 1 / contentsScaleX(), 1 / contentsScaleY());
247 if (!clipped && nonFastScrollableRegion().Contains(gfx::ToRoundedPoint(h itTestPointInLayerSpace))) { 247 if (!clipped && nonFastScrollableRegion().Contains(gfx::ToRoundedPoint(h itTestPointInLayerSpace))) {
248 TRACE_EVENT0("cc", "LayerImpl::tryScroll: Failed nonFastScrollableRe gion"); 248 TRACE_EVENT0("cc", "LayerImpl::tryScroll: Failed nonFastScrollableRe gion");
249 return InputHandlerClient::ScrollOnMainThread; 249 return InputHandlerClient::ScrollOnMainThread;
250 } 250 }
251 } 251 }
252 252
253 if (type == InputHandlerClient::Wheel && haveWheelEventHandlers()) { 253 if (type == InputHandlerClient::Wheel && haveWheelEventHandlers()) {
254 TRACE_EVENT0("cc", "LayerImpl::tryScroll: Failed wheelEventHandlers"); 254 TRACE_EVENT0("cc", "LayerImpl::tryScroll: Failed wheelEventHandlers");
255 return InputHandlerClient::ScrollOnMainThread; 255 return InputHandlerClient::ScrollOnMainThread;
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
300 } 300 }
301 301
302 str->append(indentStr); 302 str->append(indentStr);
303 base::StringAppendF(str, "position: %f, %f\n", m_position.x(), m_position.y( )); 303 base::StringAppendF(str, "position: %f, %f\n", m_position.x(), m_position.y( ));
304 304
305 str->append(indentStr); 305 str->append(indentStr);
306 base::StringAppendF(str, "contentsOpaque: %d\n", m_contentsOpaque); 306 base::StringAppendF(str, "contentsOpaque: %d\n", m_contentsOpaque);
307 307
308 str->append(indentStr); 308 str->append(indentStr);
309 base::StringAppendF(str, "drawTransform: %f, %f, %f, %f // %f, %f, %f, %f // %f, %f, %f, %f // %f, %f, %f, %f\n", 309 base::StringAppendF(str, "drawTransform: %f, %f, %f, %f // %f, %f, %f, %f // %f, %f, %f, %f // %f, %f, %f, %f\n",
310 m_drawTransform.m11(), m_drawTransform.m12(), m_drawTransform.m13(), m_d rawTransform.m14(), 310 m_drawTransform.matrix().getDouble(0, 0), m_drawTransform.matrix().getDo uble(1, 0), m_drawTransform.matrix().getDouble(2, 0), m_drawTransform.matrix().g etDouble(3, 0),
311 m_drawTransform.m21(), m_drawTransform.m22(), m_drawTransform.m23(), m_d rawTransform.m24(), 311 m_drawTransform.matrix().getDouble(0, 1), m_drawTransform.matrix().getDo uble(1, 1), m_drawTransform.matrix().getDouble(2, 1), m_drawTransform.matrix().g etDouble(3, 1),
312 m_drawTransform.m31(), m_drawTransform.m32(), m_drawTransform.m33(), m_d rawTransform.m34(), 312 m_drawTransform.matrix().getDouble(0, 2), m_drawTransform.matrix().getDo uble(1, 2), m_drawTransform.matrix().getDouble(2, 2), m_drawTransform.matrix().g etDouble(3, 2),
313 m_drawTransform.m41(), m_drawTransform.m42(), m_drawTransform.m43(), m_d rawTransform.m44()); 313 m_drawTransform.matrix().getDouble(0, 3), m_drawTransform.matrix().getDo uble(1, 3), m_drawTransform.matrix().getDouble(2, 3), m_drawTransform.matrix().g etDouble(3, 3));
314 314
315 str->append(indentStr); 315 str->append(indentStr);
316 base::StringAppendF(str, "drawsContent: %s\n", m_drawsContent ? "yes" : "no" ); 316 base::StringAppendF(str, "drawsContent: %s\n", m_drawsContent ? "yes" : "no" );
317 } 317 }
318 318
319 void sortLayers(std::vector<LayerImpl*>::iterator first, std::vector<LayerImpl*> ::iterator end, LayerSorter* layerSorter) 319 void sortLayers(std::vector<LayerImpl*>::iterator first, std::vector<LayerImpl*> ::iterator end, LayerSorter* layerSorter)
320 { 320 {
321 TRACE_EVENT0("cc", "LayerImpl::sortLayers"); 321 TRACE_EVENT0("cc", "LayerImpl::sortLayers");
322 layerSorter->sort(first, end); 322 layerSorter->sort(first, end);
323 } 323 }
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 float LayerImpl::opacity() const 425 float LayerImpl::opacity() const
426 { 426 {
427 return m_opacity; 427 return m_opacity;
428 } 428 }
429 429
430 void LayerImpl::setOpacityFromAnimation(float opacity) 430 void LayerImpl::setOpacityFromAnimation(float opacity)
431 { 431 {
432 setOpacity(opacity); 432 setOpacity(opacity);
433 } 433 }
434 434
435 const WebKit::WebTransformationMatrix& LayerImpl::transform() const 435 const gfx::Transform& LayerImpl::transform() const
436 { 436 {
437 return m_transform; 437 return m_transform;
438 } 438 }
439 439
440 void LayerImpl::setTransformFromAnimation(const WebTransformationMatrix& transfo rm) 440 void LayerImpl::setTransformFromAnimation(const Transform& transform)
441 { 441 {
442 setTransform(transform); 442 setTransform(transform);
443 } 443 }
444 444
445 void LayerImpl::setBounds(const gfx::Size& bounds) 445 void LayerImpl::setBounds(const gfx::Size& bounds)
446 { 446 {
447 if (m_bounds == bounds) 447 if (m_bounds == bounds)
448 return; 448 return;
449 449
450 m_bounds = bounds; 450 m_bounds = bounds;
(...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after
587 587
588 void LayerImpl::setPreserves3D(bool preserves3D) 588 void LayerImpl::setPreserves3D(bool preserves3D)
589 { 589 {
590 if (m_preserves3D == preserves3D) 590 if (m_preserves3D == preserves3D)
591 return; 591 return;
592 592
593 m_preserves3D = preserves3D; 593 m_preserves3D = preserves3D;
594 noteLayerPropertyChangedForSubtree(); 594 noteLayerPropertyChangedForSubtree();
595 } 595 }
596 596
597 void LayerImpl::setSublayerTransform(const WebTransformationMatrix& sublayerTran sform) 597 void LayerImpl::setSublayerTransform(const Transform& sublayerTransform)
598 { 598 {
599 if (m_sublayerTransform == sublayerTransform) 599 if (m_sublayerTransform == sublayerTransform)
600 return; 600 return;
601 601
602 m_sublayerTransform = sublayerTransform; 602 m_sublayerTransform = sublayerTransform;
603 // sublayer transform does not affect the current layer; it affects only its children. 603 // sublayer transform does not affect the current layer; it affects only its children.
604 noteLayerPropertyChangedForDescendants(); 604 noteLayerPropertyChangedForDescendants();
605 } 605 }
606 606
607 void LayerImpl::setTransform(const WebTransformationMatrix& transform) 607 void LayerImpl::setTransform(const Transform& transform)
608 { 608 {
609 if (m_transform == transform) 609 if (m_transform == transform)
610 return; 610 return;
611 611
612 m_transform = transform; 612 m_transform = transform;
613 m_layerSurfacePropertyChanged = true; 613 m_layerSurfacePropertyChanged = true;
614 } 614 }
615 615
616 bool LayerImpl::transformIsAnimating() const 616 bool LayerImpl::transformIsAnimating() const
617 { 617 {
(...skipping 30 matching lines...) Expand all
648 648
649 void LayerImpl::setScrollDelta(const gfx::Vector2dF& scrollDelta) 649 void LayerImpl::setScrollDelta(const gfx::Vector2dF& scrollDelta)
650 { 650 {
651 if (m_scrollDelta == scrollDelta) 651 if (m_scrollDelta == scrollDelta)
652 return; 652 return;
653 653
654 m_scrollDelta = scrollDelta; 654 m_scrollDelta = scrollDelta;
655 noteLayerPropertyChangedForSubtree(); 655 noteLayerPropertyChangedForSubtree();
656 } 656 }
657 657
658 void LayerImpl::setImplTransform(const WebKit::WebTransformationMatrix& transfor m) 658 void LayerImpl::setImplTransform(const gfx::Transform& transform)
659 { 659 {
660 if (m_implTransform == transform) 660 if (m_implTransform == transform)
661 return; 661 return;
662 662
663 m_implTransform = transform; 663 m_implTransform = transform;
664 noteLayerPropertyChangedForSubtree(); 664 noteLayerPropertyChangedForSubtree();
665 } 665 }
666 666
667 void LayerImpl::setDoubleSided(bool doubleSided) 667 void LayerImpl::setDoubleSided(bool doubleSided)
668 { 668 {
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
723 723
724 void LayerImpl::setVerticalScrollbarLayer(ScrollbarLayerImpl* scrollbarLayer) 724 void LayerImpl::setVerticalScrollbarLayer(ScrollbarLayerImpl* scrollbarLayer)
725 { 725 {
726 if (!m_scrollbarAnimationController) 726 if (!m_scrollbarAnimationController)
727 m_scrollbarAnimationController = ScrollbarAnimationController::create(th is); 727 m_scrollbarAnimationController = ScrollbarAnimationController::create(th is);
728 m_scrollbarAnimationController->setVerticalScrollbarLayer(scrollbarLayer); 728 m_scrollbarAnimationController->setVerticalScrollbarLayer(scrollbarLayer);
729 m_scrollbarAnimationController->updateScrollOffset(this); 729 m_scrollbarAnimationController->updateScrollOffset(this);
730 } 730 }
731 731
732 } // namespace cc 732 } // namespace cc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698