From 8c294900f31d8d032b62182f011019276d27d5d0 Mon Sep 17 00:00:00 2001 From: "commit-bot@chromium.org" Date: Mon, 21 Oct 2013 17:14:37 +0000 Subject: 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 --- include/core/SkDocument.h | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) (limited to 'include/core/SkDocument.h') 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 -- cgit v1.2.3