Add toggle for 'real' vs. 'fake' perspective in Viewer
Real perspective draws content with perspective applied. Fake
perspective rasterizes in ortho, then stretches the image by the
perspective matrix.
Change-Id: I738cd379f9a58b965469ef8a57fb2dfd597fda10
Reviewed-on: https://skia-review.googlesource.com/125442
Commit-Queue: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Auto-Submit: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
diff --git a/tools/viewer/Viewer.h b/tools/viewer/Viewer.h
index be35a88..d843946 100644
--- a/tools/viewer/Viewer.h
+++ b/tools/viewer/Viewer.h
@@ -102,6 +102,7 @@
void changeZoomLevel(float delta);
void preTouchMatrixChanged();
SkMatrix computePreTouchMatrix();
+ SkMatrix computePerspectiveMatrix();
SkMatrix computeMatrix();
SkPoint mapEvent(float x, float y);
@@ -158,7 +159,12 @@
// identity unless the window initially scales the content to fit the screen.
SkMatrix fDefaultMatrix;
- bool fPerspective;
+ enum PerspectiveMode {
+ kPerspective_Off,
+ kPerspective_Real,
+ kPerspective_Fake,
+ };
+ PerspectiveMode fPerspectiveMode;
SkPoint fPerspectivePoints[4];
SkTArray<std::function<void(void)>> fDeferredActions;