diff options
author | caryclark <caryclark@google.com> | 2016-11-22 12:44:25 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2016-11-22 12:44:25 -0800 |
commit | 687fbde2e4ee13637cb3fd9b1fec39a436ef73d7 (patch) | |
tree | 9c0d588a6494957b1bfeb12944c6f41e07a01711 /fpdfsdk | |
parent | 89a2d92549d25df6786d53de5671eb141e1fd3e2 (diff) | |
download | pdfium-687fbde2e4ee13637cb3fd9b1fec39a436ef73d7.tar.xz |
handle antialiased rendering as premultiplied
Transparencies and bitmap patterns need to be
unpremultiplied after Skia renders them so
that PDFium can use its own compositing.
Also added some linear (i.e. axial) gradient
support, although its unclear if any of the
test corpus uses this feature.
R=dsinclair@chromium.org
Review-Url: https://codereview.chromium.org/2520073003
Diffstat (limited to 'fpdfsdk')
-rw-r--r-- | fpdfsdk/fpdfformfill.cpp | 3 | ||||
-rw-r--r-- | fpdfsdk/fpdfview.cpp | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/fpdfsdk/fpdfformfill.cpp b/fpdfsdk/fpdfformfill.cpp index e8a8a6e2d0..44204b766a 100644 --- a/fpdfsdk/fpdfformfill.cpp +++ b/fpdfsdk/fpdfformfill.cpp @@ -137,6 +137,9 @@ void FFLCommon(FPDF_FORMHANDLE hHandle, pPageView->PageView_OnDraw(pDevice.get(), &matrix, &options); #endif // PDF_ENABLE_XFA +#ifdef _SKIA_SUPPORT_PATHS + CFXBitmapFromFPDFBitmap(bitmap)->UnPreMultiply(); +#endif pDevice->RestoreState(false); delete options.m_pOCContext; options.m_pOCContext = nullptr; diff --git a/fpdfsdk/fpdfview.cpp b/fpdfsdk/fpdfview.cpp index d5f9a0e810..959bf14390 100644 --- a/fpdfsdk/fpdfview.cpp +++ b/fpdfsdk/fpdfview.cpp @@ -598,6 +598,9 @@ DLLEXPORT void STDCALL FPDF_RenderPageBitmap(FPDF_BITMAP bitmap, FPDF_RenderPage_Retail(pContext, page, start_x, start_y, size_x, size_y, rotate, flags, true, nullptr); +#ifdef _SKIA_SUPPORT_PATHS_ + pBitmap->UnPreMultiply(); +#endif pPage->SetRenderContext(nullptr); } |