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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/paint/Transform3DDisplayItem.cpp

Issue 2230513005: Move visual rect unioning between paired items to cc::DisplayItemList. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Code review feedback. Created 4 years, 4 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 "platform/graphics/paint/Transform3DDisplayItem.h" 5 #include "platform/graphics/paint/Transform3DDisplayItem.h"
6 6
7 #include "platform/graphics/GraphicsContext.h" 7 #include "platform/graphics/GraphicsContext.h"
8 #include "platform/transforms/AffineTransform.h" 8 #include "platform/transforms/AffineTransform.h"
9 #include "public/platform/WebDisplayItemList.h" 9 #include "public/platform/WebDisplayItemList.h"
10 10
11 namespace blink { 11 namespace blink {
12 12
13 void BeginTransform3DDisplayItem::replay(GraphicsContext& context) const 13 void BeginTransform3DDisplayItem::replay(GraphicsContext& context) const
14 { 14 {
15 TransformationMatrix transform(m_transform); 15 TransformationMatrix transform(m_transform);
16 transform.applyTransformOrigin(m_transformOrigin); 16 transform.applyTransformOrigin(m_transformOrigin);
17 context.save(); 17 context.save();
18 context.concatCTM(transform.toAffineTransform()); 18 context.concatCTM(transform.toAffineTransform());
19 } 19 }
20 20
21 void BeginTransform3DDisplayItem::appendToWebDisplayItemList(const IntRect& visu alRect, WebDisplayItemList* list) const 21 void BeginTransform3DDisplayItem::appendToWebDisplayItemList(const IntRect& visu alRect, WebDisplayItemList* list) const
22 { 22 {
23 // TODO(jbroman): The compositor will need the transform origin separately. 23 // TODO(jbroman): The compositor will need the transform origin separately.
24 TransformationMatrix transform(m_transform); 24 TransformationMatrix transform(m_transform);
25 transform.applyTransformOrigin(m_transformOrigin); 25 transform.applyTransformOrigin(m_transformOrigin);
26 list->appendTransformItem(visualRect, TransformationMatrix::toSkMatrix44(tra nsform)); 26 list->appendTransformItem(TransformationMatrix::toSkMatrix44(transform));
27 } 27 }
28 28
29 #ifndef NDEBUG 29 #ifndef NDEBUG
30 void BeginTransform3DDisplayItem::dumpPropertiesAsDebugString(StringBuilder& str ingBuilder) const 30 void BeginTransform3DDisplayItem::dumpPropertiesAsDebugString(StringBuilder& str ingBuilder) const
31 { 31 {
32 PairedBeginDisplayItem::dumpPropertiesAsDebugString(stringBuilder); 32 PairedBeginDisplayItem::dumpPropertiesAsDebugString(stringBuilder);
33 TransformationMatrix::DecomposedType decomposition; 33 TransformationMatrix::DecomposedType decomposition;
34 if (m_transform.decompose(decomposition)) { 34 if (m_transform.decompose(decomposition)) {
35 stringBuilder.append(String::format( 35 stringBuilder.append(String::format(
36 ", translate: [%lf,%lf,%lf], scale: [%lf,%lf,%lf], skew: [%lf,%lf,%l f], quaternion: [%lf,%lf,%lf,%lf], perspective: [%lf,%lf,%lf,%lf]", 36 ", translate: [%lf,%lf,%lf], scale: [%lf,%lf,%lf], skew: [%lf,%lf,%l f], quaternion: [%lf,%lf,%lf,%lf], perspective: [%lf,%lf,%lf,%lf]",
37 decomposition.translateX, decomposition.translateY, decomposition.tr anslateZ, 37 decomposition.translateX, decomposition.translateY, decomposition.tr anslateZ,
38 decomposition.scaleX, decomposition.scaleY, decomposition.scaleZ, 38 decomposition.scaleX, decomposition.scaleY, decomposition.scaleZ,
39 decomposition.skewXY, decomposition.skewXZ, decomposition.skewYZ, 39 decomposition.skewXY, decomposition.skewXZ, decomposition.skewYZ,
40 decomposition.quaternionX, decomposition.quaternionY, decomposition. quaternionZ, decomposition.quaternionW, 40 decomposition.quaternionX, decomposition.quaternionY, decomposition. quaternionZ, decomposition.quaternionW,
41 decomposition.perspectiveX, decomposition.perspectiveY, decompositio n.perspectiveZ, decomposition.perspectiveW)); 41 decomposition.perspectiveX, decomposition.perspectiveY, decompositio n.perspectiveZ, decomposition.perspectiveW));
42 } 42 }
43 stringBuilder.append(String::format(", transformOrigin: [%f,%f,%f]", m_trans formOrigin.x(), m_transformOrigin.y(), m_transformOrigin.z())); 43 stringBuilder.append(String::format(", transformOrigin: [%f,%f,%f]", m_trans formOrigin.x(), m_transformOrigin.y(), m_transformOrigin.z()));
44 } 44 }
45 #endif 45 #endif
46 46
47 void EndTransform3DDisplayItem::replay(GraphicsContext& context) const 47 void EndTransform3DDisplayItem::replay(GraphicsContext& context) const
48 { 48 {
49 context.restore(); 49 context.restore();
50 } 50 }
51 51
52 void EndTransform3DDisplayItem::appendToWebDisplayItemList(const IntRect& visual Rect, WebDisplayItemList* list) const 52 void EndTransform3DDisplayItem::appendToWebDisplayItemList(const IntRect& visual Rect, WebDisplayItemList* list) const
53 { 53 {
54 list->appendEndTransformItem(visualRect); 54 list->appendEndTransformItem();
55 } 55 }
56 56
57 } // namespace blink 57 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698