summaryrefslogtreecommitdiff
path: root/xfa
diff options
context:
space:
mode:
Diffstat (limited to 'xfa')
-rw-r--r--xfa/fxfa/cxfa_imagerenderer.cpp53
-rw-r--r--xfa/fxfa/cxfa_imagerenderer.h2
2 files changed, 25 insertions, 30 deletions
diff --git a/xfa/fxfa/cxfa_imagerenderer.cpp b/xfa/fxfa/cxfa_imagerenderer.cpp
index e5b220b497..0c6a44edcb 100644
--- a/xfa/fxfa/cxfa_imagerenderer.cpp
+++ b/xfa/fxfa/cxfa_imagerenderer.cpp
@@ -27,7 +27,8 @@ CXFA_ImageRenderer::~CXFA_ImageRenderer() {}
bool CXFA_ImageRenderer::Start() {
if (m_pDevice->StartDIBitsWithBlend(m_pDIBSource, 255, 0, &m_ImageMatrix,
- m_Flags, &m_DeviceHandle, m_BlendType)) {
+ m_Flags, &m_DeviceHandle,
+ FXDIB_BLEND_NORMAL)) {
if (m_DeviceHandle) {
m_Status = 3;
return true;
@@ -67,7 +68,7 @@ bool CXFA_ImageRenderer::Start() {
if (m_pDIBSource->IsOpaqueImage()) {
if (m_pDevice->StretchDIBitsWithFlagsAndBlend(
m_pDIBSource, dest_left, dest_top, dest_width, dest_height, m_Flags,
- m_BlendType)) {
+ FXDIB_BLEND_NORMAL)) {
return false;
}
}
@@ -88,8 +89,7 @@ bool CXFA_ImageRenderer::Start() {
RetainPtr<CFX_DIBitmap> pStretched =
m_pDIBSource->StretchTo(dest_width, dest_height, m_Flags, &dest_clip);
if (pStretched) {
- CompositeDIBitmap(pStretched, dest_rect.left, dest_rect.top, m_BlendType,
- false);
+ CompositeDIBitmap(pStretched, dest_rect.left, dest_rect.top, false);
}
return false;
}
@@ -108,7 +108,8 @@ bool CXFA_ImageRenderer::Continue() {
m_pTransformer->result().top, 0);
} else {
m_pDevice->SetDIBitsWithBlend(pBitmap, m_pTransformer->result().left,
- m_pTransformer->result().top, m_BlendType);
+ m_pTransformer->result().top,
+ FXDIB_BLEND_NORMAL);
}
return false;
}
@@ -122,34 +123,30 @@ void CXFA_ImageRenderer::CompositeDIBitmap(
const RetainPtr<CFX_DIBitmap>& pDIBitmap,
int left,
int top,
- int blend_mode,
int iTransparency) {
- if (!pDIBitmap) {
+ if (!pDIBitmap)
return;
- }
+
bool bIsolated = !!(iTransparency & PDFTRANS_ISOLATED);
bool bGroup = !!(iTransparency & PDFTRANS_GROUP);
- if (blend_mode == FXDIB_BLEND_NORMAL) {
- if (!pDIBitmap->IsAlphaMask()) {
- if (m_pDevice->SetDIBits(pDIBitmap, left, top))
- return;
- } else {
- uint32_t fill_argb = 0;
- if (m_pDevice->SetBitMask(pDIBitmap, left, top, fill_argb))
- return;
- }
+ if (!pDIBitmap->IsAlphaMask()) {
+ if (m_pDevice->SetDIBits(pDIBitmap, left, top))
+ return;
+ } else {
+ uint32_t fill_argb = 0;
+ if (m_pDevice->SetBitMask(pDIBitmap, left, top, fill_argb))
+ return;
}
- bool bBackAlphaRequired = blend_mode && bIsolated;
- bool bGetBackGround =
- ((m_pDevice->GetRenderCaps() & FXRC_ALPHA_OUTPUT)) ||
- (!(m_pDevice->GetRenderCaps() & FXRC_ALPHA_OUTPUT) &&
- (m_pDevice->GetRenderCaps() & FXRC_GET_BITS) && !bBackAlphaRequired);
+
+ bool bGetBackGround = ((m_pDevice->GetRenderCaps() & FXRC_ALPHA_OUTPUT)) ||
+ (!(m_pDevice->GetRenderCaps() & FXRC_ALPHA_OUTPUT) &&
+ (m_pDevice->GetRenderCaps() & FXRC_GET_BITS));
if (bGetBackGround) {
if (bIsolated || !bGroup) {
- if (pDIBitmap->IsAlphaMask()) {
+ if (pDIBitmap->IsAlphaMask())
return;
- }
- m_pDevice->SetDIBitsWithBlend(pDIBitmap, left, top, blend_mode);
+
+ m_pDevice->SetDIBitsWithBlend(pDIBitmap, left, top, FXDIB_BLEND_NORMAL);
} else {
FX_RECT rect(left, top, left + pDIBitmap->GetWidth(),
top + pDIBitmap->GetHeight());
@@ -164,10 +161,10 @@ void CXFA_ImageRenderer::CompositeDIBitmap(
top = top >= 0 ? 0 : top;
if (!pDIBitmap->IsAlphaMask())
pClone->CompositeBitmap(0, 0, pClone->GetWidth(), pClone->GetHeight(),
- pDIBitmap, left, top, blend_mode);
+ pDIBitmap, left, top, FXDIB_BLEND_NORMAL);
else
pClone->CompositeMask(0, 0, pClone->GetWidth(), pClone->GetHeight(),
- pDIBitmap, 0, left, top, blend_mode);
+ pDIBitmap, 0, left, top, FXDIB_BLEND_NORMAL);
} else {
pClone = pDIBitmap;
}
@@ -177,7 +174,7 @@ void CXFA_ImageRenderer::CompositeDIBitmap(
if (pDIBitmap->IsAlphaMask())
return;
m_pDevice->SetDIBitsWithBlend(pDIBitmap, rect.left, rect.top,
- blend_mode);
+ FXDIB_BLEND_NORMAL);
}
}
return;
diff --git a/xfa/fxfa/cxfa_imagerenderer.h b/xfa/fxfa/cxfa_imagerenderer.h
index cdc9464f92..c0cc64e073 100644
--- a/xfa/fxfa/cxfa_imagerenderer.h
+++ b/xfa/fxfa/cxfa_imagerenderer.h
@@ -34,7 +34,6 @@ class CXFA_ImageRenderer {
void CompositeDIBitmap(const RetainPtr<CFX_DIBitmap>& pDIBitmap,
int left,
int top,
- int blend_mode,
int iTransparency);
CFX_RenderDevice* m_pDevice;
@@ -45,7 +44,6 @@ class CXFA_ImageRenderer {
uint32_t m_Flags;
std::unique_ptr<CFX_ImageTransformer> m_pTransformer;
std::unique_ptr<CFX_ImageRenderer> m_DeviceHandle;
- int32_t m_BlendType = FXDIB_BLEND_NORMAL;
};
#endif // XFA_FXFA_CXFA_IMAGERENDERER_H_