| 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 d84c0037fd3e177629d35d56826350612a8ed777..f7e57c0fa692b86acbb5450f34df040c5ee872c5 100644
|
| --- a/core/fpdfapi/fpdf_render/fpdf_render_image.cpp
|
| +++ b/core/fpdfapi/fpdf_render/fpdf_render_image.cpp
|
| @@ -76,7 +76,7 @@ void CPDF_RenderStatus::CompositeDIBitmap(CFX_DIBitmap* pDIBitmap,
|
| if (pDIBitmap->IsAlphaMask()) {
|
| return;
|
| }
|
| - m_pDevice->SetDIBits(pDIBitmap, left, top, blend_mode);
|
| + m_pDevice->SetDIBitsWithBlend(pDIBitmap, left, top, blend_mode);
|
| } else {
|
| FX_RECT rect(left, top, left + pDIBitmap->GetWidth(),
|
| top + pDIBitmap->GetHeight());
|
| @@ -106,7 +106,8 @@ void CPDF_RenderStatus::CompositeDIBitmap(CFX_DIBitmap* pDIBitmap,
|
| if (pDIBitmap->IsAlphaMask()) {
|
| return;
|
| }
|
| - m_pDevice->SetDIBits(pDIBitmap, rect.left, rect.top, blend_mode);
|
| + m_pDevice->SetDIBitsWithBlend(pDIBitmap, rect.left, rect.top,
|
| + blend_mode);
|
| }
|
| if (bClone) {
|
| delete pClone;
|
| @@ -600,8 +601,8 @@ FX_BOOL CPDF_ImageRenderer::DrawPatternImage(const CFX_Matrix* pObj2Device) {
|
| bitmap_device1.GetBitmap()->MultiplyAlpha(bitmap_device2.GetBitmap());
|
| bitmap_device1.GetBitmap()->MultiplyAlpha(255);
|
| }
|
| - m_pRenderStatus->m_pDevice->SetDIBits(bitmap_device1.GetBitmap(), rect.left,
|
| - rect.top, m_BlendType);
|
| + m_pRenderStatus->m_pDevice->SetDIBitsWithBlend(
|
| + bitmap_device1.GetBitmap(), rect.left, rect.top, m_BlendType);
|
| return FALSE;
|
| }
|
| FX_BOOL CPDF_ImageRenderer::DrawMaskedImage() {
|
| @@ -695,8 +696,8 @@ FX_BOOL CPDF_ImageRenderer::DrawMaskedImage() {
|
| bitmap_device1.GetBitmap()->MultiplyAlpha(m_BitmapAlpha);
|
| }
|
| }
|
| - m_pRenderStatus->m_pDevice->SetDIBits(bitmap_device1.GetBitmap(), rect.left,
|
| - rect.top, m_BlendType);
|
| + m_pRenderStatus->m_pDevice->SetDIBitsWithBlend(
|
| + bitmap_device1.GetBitmap(), rect.left, rect.top, m_BlendType);
|
| return FALSE;
|
| }
|
|
|
| @@ -709,9 +710,9 @@ FX_BOOL CPDF_ImageRenderer::StartDIBSource() {
|
| m_Flags |= RENDER_FORCE_DOWNSAMPLE;
|
| }
|
| }
|
| - if (m_pRenderStatus->m_pDevice->StartDIBits(
|
| + if (m_pRenderStatus->m_pDevice->StartDIBitsWithBlend(
|
| m_pDIBSource, m_BitmapAlpha, m_FillArgb, &m_ImageMatrix, m_Flags,
|
| - m_DeviceHandle, 0, nullptr, m_BlendType)) {
|
| + m_DeviceHandle, m_BlendType)) {
|
| if (m_DeviceHandle) {
|
| m_Status = 3;
|
| return TRUE;
|
| @@ -746,16 +747,16 @@ FX_BOOL CPDF_ImageRenderer::StartDIBSource() {
|
| int dest_left = dest_width > 0 ? image_rect.left : image_rect.right;
|
| int dest_top = dest_height > 0 ? image_rect.top : image_rect.bottom;
|
| if (m_pDIBSource->IsOpaqueImage() && m_BitmapAlpha == 255) {
|
| - if (m_pRenderStatus->m_pDevice->StretchDIBits(
|
| + if (m_pRenderStatus->m_pDevice->StretchDIBitsWithFlagsAndBlend(
|
| m_pDIBSource, dest_left, dest_top, dest_width, dest_height, m_Flags,
|
| - nullptr, m_BlendType)) {
|
| + m_BlendType)) {
|
| return FALSE;
|
| }
|
| }
|
| if (m_pDIBSource->IsAlphaMask()) {
|
| if (m_BitmapAlpha != 255)
|
| m_FillArgb = FXARGB_MUL_ALPHA(m_FillArgb, m_BitmapAlpha);
|
| - if (m_pRenderStatus->m_pDevice->StretchBitMask(
|
| + if (m_pRenderStatus->m_pDevice->StretchBitMaskWithFlags(
|
| m_pDIBSource, dest_left, dest_top, dest_width, dest_height,
|
| m_FillArgb, m_Flags)) {
|
| return FALSE;
|
| @@ -845,7 +846,7 @@ FX_BOOL CPDF_ImageRenderer::Continue(IFX_Pause* pPause) {
|
| } else {
|
| if (m_BitmapAlpha != 255)
|
| pBitmap->MultiplyAlpha(m_BitmapAlpha);
|
| - m_Result = m_pRenderStatus->m_pDevice->SetDIBits(
|
| + m_Result = m_pRenderStatus->m_pDevice->SetDIBitsWithBlend(
|
| pBitmap.get(), m_pTransformer->result().left,
|
| m_pTransformer->result().top, m_BlendType);
|
| }
|
|
|