Generalize the flip origin argument to the PDF device constructor.
The argument still has a default value that does what most users will want, but provides more flexibility.
Chrome will use this change to support an initial translation of the origin to simulate a margin and to scale the entire content (needed on Windows).
When landing to Chrome, this will need http://codereview.chromium.org/6820038
Review URL: http://codereview.appspot.com/4373052
git-svn-id: http://skia.googlecode.com/svn/trunk@1111 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/pdf/SkPDFShader.cpp b/src/pdf/SkPDFShader.cpp
index c833c5d..3f383e5 100644
--- a/src/pdf/SkPDFShader.cpp
+++ b/src/pdf/SkPDFShader.cpp
@@ -495,8 +495,10 @@
surfaceBBox.set(fState.get()->fBBox);
transformBBox(finalMatrix, &surfaceBBox);
- SkPDFDevice pattern(surfaceBBox.fRight, surfaceBBox.fBottom,
- SkPDFDevice::kNoFlip_OriginTransform);
+ SkMatrix unflip;
+ unflip.setTranslate(0, surfaceBBox.fBottom);
+ unflip.preScale(1, -1);
+ SkPDFDevice pattern(surfaceBBox.fRight, surfaceBBox.fBottom, unflip);
SkCanvas canvas(&pattern);
canvas.clipRect(surfaceBBox, SkRegion::kReplace_Op);