From 5594538fcc96c38db34f336223140cf703e3cca0 Mon Sep 17 00:00:00 2001 From: Lei Zhang Date: Thu, 31 Dec 2015 13:07:18 -0800 Subject: Reapply "Fix a partial rendering problem" This reverts commit 054fc955c153eb5c581fd14946848b8b2a77136a. Additionally, this rolls DEPS for the testing corpus to update test expectations. BUG=pdfium:336 TBR=jun_fang@foxitsoftware.com Original Review URL: https://codereview.chromium.org/1555773003 Review URL: https://codereview.chromium.org/1555833002 . --- samples/pdfium_test.cc | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'samples') diff --git a/samples/pdfium_test.cc b/samples/pdfium_test.cc index 1b3d82659c..89430f6dfd 100644 --- a/samples/pdfium_test.cc +++ b/samples/pdfium_test.cc @@ -15,6 +15,7 @@ #include "image_diff_png.h" #include "public/fpdf_dataavail.h" +#include "public/fpdf_edit.h" #include "public/fpdf_ext.h" #include "public/fpdf_formfill.h" #include "public/fpdf_text.h" @@ -350,14 +351,14 @@ bool RenderPage(const std::string& name, } int width = static_cast(FPDF_GetPageWidth(page) * scale); int height = static_cast(FPDF_GetPageHeight(page) * scale); - - FPDF_BITMAP bitmap = FPDFBitmap_Create(width, height, 0); + int alpha = FPDFPage_HasTransparency(page) ? 1 : 0; + FPDF_BITMAP bitmap = FPDFBitmap_Create(width, height, alpha); if (!bitmap) { fprintf(stderr, "Page was too large to be rendered.\n"); return false; } - - FPDFBitmap_FillRect(bitmap, 0, 0, width, height, 0xFFFFFFFF); + FPDF_DWORD fill_color = alpha ? 0x00000000 : 0xFFFFFFFF; + FPDFBitmap_FillRect(bitmap, 0, 0, width, height, fill_color); FPDF_RenderPageBitmap(bitmap, page, 0, 0, width, height, 0, 0); FPDF_FFLDraw(form, bitmap, page, 0, 0, width, height, 0, 0); -- cgit v1.2.3