summaryrefslogtreecommitdiff
path: root/core/fpdfapi/render/cpdf_imagerenderer.cpp
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2018-09-19 17:26:54 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-09-19 17:26:54 +0000
commit174de19776de251aed79220742ecde3e2e435fed (patch)
tree370894c812460b9f45fca904503eadc0322c6089 /core/fpdfapi/render/cpdf_imagerenderer.cpp
parent5f2ea0f6ef587f9f7a2fec9f80dbc82b94c97400 (diff)
downloadpdfium-174de19776de251aed79220742ecde3e2e435fed.tar.xz
Encapsulate CPDF_ImageLoader.
Change-Id: Iee7ce04630fed86f651cd382a19e46b2f7ab6d61 Reviewed-on: https://pdfium-review.googlesource.com/42672 Reviewed-by: Ryan Harrison <rharrison@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
Diffstat (limited to 'core/fpdfapi/render/cpdf_imagerenderer.cpp')
-rw-r--r--core/fpdfapi/render/cpdf_imagerenderer.cpp27
1 files changed, 11 insertions, 16 deletions
diff --git a/core/fpdfapi/render/cpdf_imagerenderer.cpp b/core/fpdfapi/render/cpdf_imagerenderer.cpp
index 33aca42ee1..cd68322644 100644
--- a/core/fpdfapi/render/cpdf_imagerenderer.cpp
+++ b/core/fpdfapi/render/cpdf_imagerenderer.cpp
@@ -70,28 +70,23 @@ bool CPDF_ImageRenderer::StartLoadDIBBase() {
}
bool CPDF_ImageRenderer::StartRenderDIBBase() {
- if (!m_Loader.m_pBitmap)
+ if (!m_Loader.GetBitmap())
return false;
CPDF_GeneralState& state = m_pImageObject->m_GeneralState;
m_BitmapAlpha = FXSYS_round(255 * state.GetFillAlpha());
- m_pDIBBase = m_Loader.m_pBitmap;
+ m_pDIBBase = m_Loader.GetBitmap();
if (m_pRenderStatus->GetRenderOptions().ColorModeIs(
CPDF_RenderOptions::kAlpha) &&
- !m_Loader.m_pMask) {
+ !m_Loader.GetMask()) {
return StartBitmapAlpha();
}
if (state.GetTR()) {
if (!state.GetTransferFunc())
state.SetTransferFunc(m_pRenderStatus->GetTransferFunc(state.GetTR()));
- if (state.GetTransferFunc() && !state.GetTransferFunc()->GetIdentity()) {
- m_pDIBBase = m_Loader.m_pBitmap =
- state.GetTransferFunc()->TranslateImage(m_Loader.m_pBitmap);
- if (m_Loader.m_bCached && m_Loader.m_pMask)
- m_Loader.m_pMask = m_Loader.m_pMask->Clone(nullptr);
- m_Loader.m_bCached = false;
- }
+ if (state.GetTransferFunc() && !state.GetTransferFunc()->GetIdentity())
+ m_pDIBBase = m_Loader.TranslateImage(state.GetTransferFunc());
}
m_FillArgb = 0;
m_bPatternColor = false;
@@ -127,7 +122,7 @@ bool CPDF_ImageRenderer::StartRenderDIBBase() {
else if (m_pImageObject->GetImage()->IsInterpol())
m_Flags |= FXDIB_INTERPOL;
- if (m_Loader.m_pMask)
+ if (m_Loader.GetMask())
return DrawMaskedImage();
if (m_bPatternColor)
@@ -242,11 +237,11 @@ void CPDF_ImageRenderer::CalculateDrawImage(
m_Flags, true, FXDIB_BLEND_NORMAL)) {
image_render.Continue(nullptr);
}
- if (m_Loader.m_MatteColor == 0xffffffff)
+ if (m_Loader.MatteColor() == 0xffffffff)
return;
- int matte_r = FXARGB_R(m_Loader.m_MatteColor);
- int matte_g = FXARGB_G(m_Loader.m_MatteColor);
- int matte_b = FXARGB_B(m_Loader.m_MatteColor);
+ int matte_r = FXARGB_R(m_Loader.MatteColor());
+ int matte_g = FXARGB_G(m_Loader.MatteColor());
+ int matte_b = FXARGB_B(m_Loader.MatteColor());
for (int row = 0; row < rect.Height(); row++) {
uint8_t* dest_scan = pBitmapDevice1->GetBitmap()->GetWritableScanline(row);
const uint8_t* mask_scan = pBitmapDevice2->GetBitmap()->GetScanline(row);
@@ -359,7 +354,7 @@ bool CPDF_ImageRenderer::DrawMaskedImage() {
#else
bitmap_device2.GetBitmap()->Clear(0);
#endif
- CalculateDrawImage(&bitmap_device1, &bitmap_device2, m_Loader.m_pMask,
+ CalculateDrawImage(&bitmap_device1, &bitmap_device2, m_Loader.GetMask(),
&new_matrix, rect);
#ifdef _SKIA_SUPPORT_
m_pRenderStatus->GetRenderDevice()->SetBitsWithMask(