Index: gm/gmmain.cpp |
diff --git a/gm/gmmain.cpp b/gm/gmmain.cpp |
index 2cd8f474f9302d9c65a4f9b7954cbe04a741d8d3..84d4d3ac74746429a891a5f4f080a3655c13a411 100644 |
--- a/gm/gmmain.cpp |
+++ b/gm/gmmain.cpp |
@@ -1423,6 +1423,14 @@ DEFINE_int32(pdfJpegQuality, -1, "Encodes images in JPEG at quality level N, " |
"which can be in range 0-100). N = -1 will disable JPEG compression. " |
"Default is N = 100, maximum quality."); |
+// TODO(edisonn): pass a matrix instead of forcePerspectiveMatrix |
+// Either the 9 numbers defining the matrix |
+// or probably more readable would be to replace it with a set of a few predicates |
+// Like --prerotate 100 200 10 --posttranslate 10, 10 |
+// Probably define spacial names like centerx, centery, top, bottom, left, right |
+// then we can write something reabable like --rotate centerx centery 90 |
+DEFINE_bool(forcePerspectiveMatrix, false, "Force a perspective matrix."); |
+ |
static bool encode_to_dct_stream(SkWStream* stream, const SkBitmap& bitmap, const SkIRect& rect) { |
// Filter output of warnings that JPEG is not available for the image. |
if (bitmap.width() >= 65500 || bitmap.height() >= 65500) return false; |
@@ -2154,6 +2162,15 @@ int tool_main(int argc, char** argv) { |
Iter iter; |
GM* gm; |
while ((gm = iter.next()) != NULL) { |
+ if (FLAGS_forcePerspectiveMatrix) { |
+ SkMatrix perspective; |
+ perspective.setIdentity(); |
+ perspective.setPerspY(SkScalarDiv(SK_Scalar1, SkIntToScalar(1000))); |
+ perspective.setSkewX(SkScalarDiv(SkIntToScalar(8), |
+ SkIntToScalar(25))); |
+ |
+ gm->setStarterMatrix(perspective); |
+ } |
SkAutoTDelete<GM> adgm(gm); |
++gmIndex; |
if (moduloRemainder >= 0) { |