aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm/dftext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'gm/dftext.cpp')
-rwxr-xr-xgm/dftext.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/gm/dftext.cpp b/gm/dftext.cpp
index acaffb2e1c..e36d58e845 100755
--- a/gm/dftext.cpp
+++ b/gm/dftext.cpp
@@ -56,10 +56,11 @@ protected:
SkSurfaceProps::kLegacyFontHost_InitType);
SkAutoTUnref<SkSurface> surface(SkSurface::NewRenderTarget(ctx, info, 0, &props));
SkCanvas* canvas = surface.get() ? surface->getCanvas() : inputCanvas;
+ // init our new canvas with the old canvas's matrix
+ canvas->setMatrix(inputCanvas->getTotalMatrix());
#else
SkCanvas* canvas = inputCanvas;
#endif
-
// apply global scale to test glyph positioning
canvas->scale(1.05f, 1.05f);
canvas->clear(0xffffffff);
@@ -187,6 +188,9 @@ protected:
#if SK_SUPPORT_GPU
// render offscreen buffer
if (surface) {
+ SkAutoCanvasRestore acr(inputCanvas, true);
+ // since we prepended this matrix already, we blit using identity
+ inputCanvas->resetMatrix();
SkImage* image = surface->newImageSnapshot();
inputCanvas->drawImage(image, 0, 0, NULL);
image->unref();