aboutsummaryrefslogtreecommitdiffhomepage
path: root/experimental/PdfViewer/pdf_viewer_main.cpp
diff options
context:
space:
mode:
authorGravatar edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-07-11 15:20:50 +0000
committerGravatar edisonn@google.com <edisonn@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>2013-07-11 15:20:50 +0000
commit444e25a66b6a1547fa0903d0cf075a0885a76bb7 (patch)
tree825c3c61e56b9db4f571933b6714a89d182c39f6 /experimental/PdfViewer/pdf_viewer_main.cpp
parent1310238d828c9fc9285875a7cc2185d5b53faa4b (diff)
add ability to specify the DPI at which to render the page
Review URL: https://codereview.chromium.org/19000004 git-svn-id: http://skia.googlecode.com/svn/trunk@10009 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'experimental/PdfViewer/pdf_viewer_main.cpp')
-rw-r--r--experimental/PdfViewer/pdf_viewer_main.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/experimental/PdfViewer/pdf_viewer_main.cpp b/experimental/PdfViewer/pdf_viewer_main.cpp
index a28e56197f..7bff14a92e 100644
--- a/experimental/PdfViewer/pdf_viewer_main.cpp
+++ b/experimental/PdfViewer/pdf_viewer_main.cpp
@@ -101,16 +101,21 @@ extern "C" SkBitmap* gDumpBitmap;
extern "C" SkCanvas* gDumpCanvas;
static bool render_page(const SkString& outputDir,
- const SkString& inputFilename,
- const SkPdfRenderer& renderer,
- int page) {
+ const SkString& inputFilename,
+ const SkPdfRenderer& renderer,
+ int page) {
SkRect rect = renderer.MediaBox(page < 0 ? 0 :page);
SkBitmap bitmap;
+ SkScalar width = SkScalarMul(rect.width(), SkDoubleToScalar(sqrt(FLAGS_DPI / 72.0)));
+ SkScalar height = SkScalarMul(rect.height(), SkDoubleToScalar(sqrt(FLAGS_DPI / 72.0)));
+
+ rect = SkRect::MakeWH(width, height);
+
#ifdef PDF_DEBUG_3X
- setup_bitmap(&bitmap, 3 * (int)SkScalarToDouble(rect.width()), 3 * (int)SkScalarToDouble(rect.height()));
+ setup_bitmap(&bitmap, 3 * (int)SkScalarToDouble(width), 3 * (int)SkScalarToDouble(height));
#else
- setup_bitmap(&bitmap, (int)SkScalarToDouble(rect.width()), (int)SkScalarToDouble(rect.height()));
+ setup_bitmap(&bitmap, (int)SkScalarToDouble(width), (int)SkScalarToDouble(height));
#endif
SkAutoTUnref<SkDevice> device(SkNEW_ARGS(SkDevice, (bitmap)));
SkCanvas canvas(device);
@@ -118,7 +123,7 @@ static bool render_page(const SkString& outputDir,
gDumpBitmap = &bitmap;
gDumpCanvas = &canvas;
- renderer.renderPage(page < 0 ? 0 : page, &canvas);
+ renderer.renderPage(page < 0 ? 0 : page, &canvas, rect);
SkString outputPath;
if (!make_output_filepath(&outputPath, outputDir, inputFilename, page)) {