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

Unified Diff: third_party/WebKit/Source/platform/testing/PaintPrinters.cpp

Issue 1390933003: Implement the framework for the paint property hierarchy (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/platform/testing/PaintPrinters.cpp
diff --git a/third_party/WebKit/Source/platform/testing/PaintPrinters.cpp b/third_party/WebKit/Source/platform/testing/PaintPrinters.cpp
index 16d4667e2333eda925e94af0267a608abcb5cbe9..42dbf54e41cf6c60651e7bc4771859b9c0c4f5ed 100644
--- a/third_party/WebKit/Source/platform/testing/PaintPrinters.cpp
+++ b/third_party/WebKit/Source/platform/testing/PaintPrinters.cpp
@@ -7,6 +7,8 @@
#include "platform/graphics/paint/PaintChunk.h"
#include "platform/graphics/paint/PaintProperties.h"
+#include "platform/graphics/paint/TransformPaintProperty.h"
+
#include <ostream> // NOLINT
namespace blink {
@@ -22,7 +24,44 @@ void PrintTo(const PaintChunk& chunk, std::ostream* os)
void PrintTo(const PaintProperties& properties, std::ostream* os)
{
- *os << "PaintProperties()";
+ *os << "PaintProperties(";
+ if (properties.transform) {
+ *os << "transform=";
+ PrintTo(*properties.transform, os);
+ }
+ *os << ")";
+}
+
+// TODO(pdr): Create and move this to TransformPrinters.cpp.
+static void PrintTo(const TransformationMatrix& matrix, std::ostream* os)
+{
+ TransformationMatrix::DecomposedType decomposition;
+ if (!matrix.decompose(decomposition)) {
+ *os << "TransformationMatrix(degenerate)";
+ return;
+ }
+
+ if (matrix.isIdentityOrTranslation()) {
+ *os << "TransformationMatrix(translation=(" << decomposition.translateX << "," << decomposition.translateY << "," << decomposition.translateZ << "))";
+ return;
+ }
+
+ *os << "TransformationMatrix("
+ << "translation=(" << decomposition.translateX << "," << decomposition.translateY << "," << decomposition.translateZ << ")"
+ << ", scale=(" << decomposition.scaleX << "," << decomposition.scaleY << "," << decomposition.scaleZ << ")"
+ << ", skew=(" << decomposition.skewXY << "," << decomposition.skewXZ << "," << decomposition.skewYZ << ")"
+ << ", quaternion=(" << decomposition.quaternionX << "," << decomposition.quaternionY << "," << decomposition.quaternionZ << "," << decomposition.quaternionW << ")"
+ << ", perspective=(" << decomposition.perspectiveX << "," << decomposition.perspectiveY << "," << decomposition.perspectiveZ << "," << decomposition.perspectiveW << ")"
+ << ")";
+}
+
+void PrintTo(const TransformPaintProperty& transformPaintProperty, std::ostream* os)
+{
+ *os << "TransformPaintProperty(matrix=";
+ PrintTo(transformPaintProperty.matrix(), os);
+ *os << ", origin=";
+ PrintTo(transformPaintProperty.origin(), os);
+ *os << ")";
}
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698