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);