SkPDF: eliminate unnecessary clip for each page
authorHal Canary <halcanary@google.com>
Fri, 19 May 2017 21:03:49 +0000 (17:03 -0400)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Mon, 22 May 2017 12:50:39 +0000 (12:50 +0000)
Somehow this improves the imagefilterscropped gm.

This also makes it easier for me to manually parse
PDF output for debugging.

Change-Id: I3af39f4b0ca3fc7fcdeec4825bf8649bd9544917
Reviewed-on: https://skia-review.googlesource.com/17413
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

src/pdf/SkPDFDocument.cpp

index a83e246..931ce99 100644 (file)
@@ -218,8 +218,10 @@ SkCanvas* SkPDFDocument::onBeginPage(SkScalar width, SkScalar height,
     fPageDevice.reset(
             SkPDFDevice::Create(pageSize, fRasterDpi, this));
     fCanvas.reset(new SkPDFCanvas(fPageDevice));
-    fCanvas->clipRect(trimBox);
-    fCanvas->translate(trimBox.x(), trimBox.y());
+    if (SkRect::MakeWH(width, height) != trimBox) {
+        fCanvas->clipRect(trimBox);
+        fCanvas->translate(trimBox.x(), trimBox.y());
+    }
     return fCanvas.get();
 }