aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkDocument.h
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-10-21 17:14:37 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-10-21 17:14:37 +0000
commit8c294900f31d8d032b62182f011019276d27d5d0 (patch)
tree92507dad54441936a44e3fab985600d74d027fb8 /include/core/SkDocument.h
parent9f51d16b54f0256f3f9ea00c85324d70535e374d (diff)
Add DPI stettings to SkDocument::CreatePDF(). Tests will be added in a future cl, once DPI will be used in SkPDFDevice
R=reed@google.com, bungeman@google.com, vandebo@chromium.org Author: edisonn@google.com Review URL: https://codereview.chromium.org/32233003 git-svn-id: http://skia.googlecode.com/svn/trunk@11886 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'include/core/SkDocument.h')
-rw-r--r--include/core/SkDocument.h33
1 files changed, 28 insertions, 5 deletions
diff --git a/include/core/SkDocument.h b/include/core/SkDocument.h
index b941d1bd19..66946fe7c5 100644
--- a/include/core/SkDocument.h
+++ b/include/core/SkDocument.h
@@ -16,6 +16,10 @@
class SkCanvas;
class SkWStream;
+/** SK_ScalarDefaultDPI is 72 DPI.
+*/
+#define SK_ScalarDefaultRasterDPI SkFloatToScalar(72.0f)
+
/**
* High-level API for creating a document-based canvas. To use..
*
@@ -35,9 +39,19 @@ public:
* If there is an error trying to create the doc, returns NULL.
* encoder sets the DCTEncoder for images, to encode a bitmap
* as JPEG (DCT).
+ * rasterDpi - the DPI at which features without native PDF support
+ * will be rasterized (e.g. draw image with perspective,
+ * draw text with perspective, ...)
+ * A larger DPI would create a PDF that reflects the original
+ * intent with better fidelity, but it can make for larger
+ * PDF files too, which would use more memory while rendering,
+ * and it would be slower to be processed or sent online or
+ * to printer.
*/
- static SkDocument* CreatePDF(const char filename[],
- SkPicture::EncodeBitmap encoder = NULL);
+ static SkDocument* CreatePDF(
+ const char filename[],
+ SkPicture::EncodeBitmap encoder = NULL,
+ SkScalar rasterDpi = SK_ScalarDefaultRasterDPI);
/**
* Create a PDF-backed document, writing the results into a stream.
@@ -50,9 +64,18 @@ public:
* The proc can delete the stream, or whatever it needs to do.
* encoder sets the DCTEncoder for images, to encode a bitmap
* as JPEG (DCT).
- */
- static SkDocument* CreatePDF(SkWStream*, void (*Done)(SkWStream*) = NULL,
- SkPicture::EncodeBitmap encoder = NULL);
+ * rasterDpi - the DPI at which features without native PDF support
+ * will be rasterized (e.g. draw image with perspective,
+ * draw text with perspective, ...)
+ * A larger DPI would create a PDF that reflects the original
+ * intent with better fidelity, but it can make for larger
+ * PDF files too, which would use more memory while rendering,
+ * and it would be slower to be processed or sent online or
+ * to printer. */
+ static SkDocument* CreatePDF(
+ SkWStream*, void (*Done)(SkWStream*) = NULL,
+ SkPicture::EncodeBitmap encoder = NULL,
+ SkScalar rasterDpi = SK_ScalarDefaultRasterDPI);
/**
* Begin a new page for the document, returning the canvas that will draw