| Index: core/fpdfapi/fpdf_render/fpdf_render_image.cpp
|
| diff --git a/core/fpdfapi/fpdf_render/fpdf_render_image.cpp b/core/fpdfapi/fpdf_render/fpdf_render_image.cpp
|
| index 272c779fe83869bf07e3768fc996b011b33955ed..10fd5f3f1550f739ed6a24a60b13f84e5fbb5087 100644
|
| --- a/core/fpdfapi/fpdf_render/fpdf_render_image.cpp
|
| +++ b/core/fpdfapi/fpdf_render/fpdf_render_image.cpp
|
| @@ -27,6 +27,10 @@
|
| #include "core/fxcrt/include/fx_safe_types.h"
|
| #include "core/fxge/include/fx_ge.h"
|
|
|
| +#ifdef _SKIA_SUPPORT_
|
| +#include "core/fxge/skia/fx_skia_device.h"
|
| +#endif
|
| +
|
| FX_BOOL CPDF_RenderStatus::ProcessImage(const CPDF_ImageObject* pImageObj,
|
| const CFX_Matrix* pObj2Device) {
|
| CPDF_ImageRenderer render;
|
| @@ -58,6 +62,10 @@ void CPDF_RenderStatus::CompositeDIBitmap(CFX_DIBitmap* pDIBitmap,
|
| pDIBitmap->MultiplyAlpha(bitmap_alpha);
|
| #endif
|
| }
|
| +#ifdef _SKIA_SUPPORT_
|
| + static_cast<CFX_SkiaDeviceDriver*>(m_pDevice->GetDeviceDriver())
|
| + ->PreMultiply(pDIBitmap);
|
| +#endif
|
| if (m_pDevice->SetDIBits(pDIBitmap, left, top)) {
|
| return;
|
| }
|
| @@ -920,7 +928,7 @@ CFX_DIBitmap* CPDF_RenderStatus::LoadSMask(CPDF_Dictionary* pSMaskDict,
|
| int width = pClipRect->right - pClipRect->left;
|
| int height = pClipRect->bottom - pClipRect->top;
|
| FXDIB_Format format;
|
| -#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_
|
| +#if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ || defined _SKIA_SUPPORT_
|
| format = bLuminosity ? FXDIB_Rgb32 : FXDIB_8bppMask;
|
| #else
|
| format = bLuminosity ? FXDIB_Rgb : FXDIB_8bppMask;
|
|
|