Give variables better names in CPDF_ImageRenderer
Rename many variables so their names more accurately describe what they
do. Also make some tweaks like changing CalculateDrawImage() to take
references, and removing spurious casts.
Change-Id: Ic084f716fc0d9586bd10065a061868d241fd932d
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/115731
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Thomas Sepez <tsepez@google.com>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fpdfapi/render/cpdf_imagerenderer.cpp b/core/fpdfapi/render/cpdf_imagerenderer.cpp
index ae8fff5..9ab7075 100644
--- a/core/fpdfapi/render/cpdf_imagerenderer.cpp
+++ b/core/fpdfapi/render/cpdf_imagerenderer.cpp
@@ -222,21 +222,20 @@
}
void CPDF_ImageRenderer::CalculateDrawImage(
- CFX_DefaultRenderDevice* pBitmapDevice1,
- CFX_DefaultRenderDevice* pBitmapDevice2,
+ CFX_DefaultRenderDevice& bitmap_device,
+ CFX_DefaultRenderDevice& mask_device,
RetainPtr<CFX_DIBBase> pDIBBase,
const CFX_Matrix& mtNewMatrix,
const FX_RECT& rect) const {
- CPDF_RenderStatus bitmap_render(m_pRenderStatus->GetContext(),
- pBitmapDevice2);
- bitmap_render.SetDropObjects(m_pRenderStatus->GetDropObjects());
- bitmap_render.SetStdCS(true);
- bitmap_render.Initialize(nullptr, nullptr);
+ CPDF_RenderStatus mask_status(m_pRenderStatus->GetContext(), &mask_device);
+ mask_status.SetDropObjects(m_pRenderStatus->GetDropObjects());
+ mask_status.SetStdCS(true);
+ mask_status.Initialize(nullptr, nullptr);
- CPDF_ImageRenderer image_render(&bitmap_render);
- if (image_render.Start(std::move(pDIBBase), 0xffffffff, mtNewMatrix,
- m_ResampleOptions, true)) {
- image_render.Continue(nullptr);
+ CPDF_ImageRenderer mask_renderer(&mask_status);
+ if (mask_renderer.Start(std::move(pDIBBase), 0xffffffff, mtNewMatrix,
+ m_ResampleOptions, true)) {
+ mask_renderer.Continue(nullptr);
}
if (m_pLoader->MatteColor() == 0xffffffff)
return;
@@ -245,9 +244,8 @@
int matte_b = FXARGB_B(m_pLoader->MatteColor());
for (int row = 0; row < rect.Height(); row++) {
uint8_t* dest_scan =
- pBitmapDevice1->GetBitmap()->GetWritableScanline(row).data();
- const uint8_t* mask_scan =
- pBitmapDevice2->GetBitmap()->GetScanline(row).data();
+ bitmap_device.GetBitmap()->GetWritableScanline(row).data();
+ const uint8_t* mask_scan = mask_device.GetBitmap()->GetScanline(row).data();
for (int col = 0; col < rect.Width(); col++) {
int alpha = *mask_scan++;
if (!alpha) {
@@ -280,42 +278,40 @@
return false;
CFX_Matrix new_matrix = GetDrawMatrix(rect);
- CFX_DefaultRenderDevice bitmap_device1;
- if (!bitmap_device1.Create(rect.Width(), rect.Height(), FXDIB_Format::kArgb,
- nullptr)) {
+ CFX_DefaultRenderDevice bitmap_device;
+ if (!bitmap_device.Create(rect.Width(), rect.Height(), FXDIB_Format::kArgb,
+ nullptr)) {
return true;
}
- CPDF_RenderStatus bitmap_render(m_pRenderStatus->GetContext(),
- &bitmap_device1);
- bitmap_render.SetOptions(GetRenderOptions());
- bitmap_render.SetDropObjects(m_pRenderStatus->GetDropObjects());
- bitmap_render.SetStdCS(true);
- bitmap_render.Initialize(nullptr, nullptr);
+ CPDF_RenderStatus bitmap_status(m_pRenderStatus->GetContext(),
+ &bitmap_device);
+ bitmap_status.SetOptions(GetRenderOptions());
+ bitmap_status.SetDropObjects(m_pRenderStatus->GetDropObjects());
+ bitmap_status.SetStdCS(true);
+ bitmap_status.Initialize(nullptr, nullptr);
- CFX_Matrix patternDevice = m_mtObj2Device;
- patternDevice.Translate(static_cast<float>(-rect.left),
- static_cast<float>(-rect.top));
+ CFX_Matrix pattern_matrix = m_mtObj2Device;
+ pattern_matrix.Translate(-rect.left, -rect.top);
if (CPDF_TilingPattern* pTilingPattern = m_pPattern->AsTilingPattern()) {
- bitmap_render.DrawTilingPattern(pTilingPattern, m_pImageObject,
- patternDevice, false);
+ bitmap_status.DrawTilingPattern(pTilingPattern, m_pImageObject,
+ pattern_matrix, false);
} else if (CPDF_ShadingPattern* pShadingPattern =
m_pPattern->AsShadingPattern()) {
- bitmap_render.DrawShadingPattern(pShadingPattern, m_pImageObject,
- patternDevice, false);
+ bitmap_status.DrawShadingPattern(pShadingPattern, m_pImageObject,
+ pattern_matrix, false);
}
- CFX_DefaultRenderDevice bitmap_device2;
- if (!bitmap_device2.Create(rect.Width(), rect.Height(),
- FXDIB_Format::k8bppRgb, nullptr)) {
+ CFX_DefaultRenderDevice mask_device;
+ if (!mask_device.Create(rect.Width(), rect.Height(), FXDIB_Format::k8bppRgb,
+ nullptr)) {
return true;
}
- CalculateDrawImage(&bitmap_device1, &bitmap_device2, m_pDIBBase, new_matrix,
- rect);
- bitmap_device2.GetBitmap()->ConvertFormat(FXDIB_Format::k8bppMask);
- bitmap_device1.GetBitmap()->MultiplyAlphaMask(bitmap_device2.GetBitmap());
+ CalculateDrawImage(bitmap_device, mask_device, m_pDIBBase, new_matrix, rect);
+ mask_device.GetBitmap()->ConvertFormat(FXDIB_Format::k8bppMask);
+ bitmap_device.GetBitmap()->MultiplyAlphaMask(mask_device.GetBitmap());
m_pRenderStatus->GetRenderDevice()->SetDIBitsWithBlend(
- bitmap_device1.GetBitmap(), rect.left, rect.top, m_BlendType);
+ bitmap_device.GetBitmap(), rect.left, rect.top, m_BlendType);
return false;
}
@@ -330,42 +326,43 @@
return false;
CFX_Matrix new_matrix = GetDrawMatrix(rect);
- CFX_DefaultRenderDevice bitmap_device1;
- if (!bitmap_device1.Create(rect.Width(), rect.Height(), FXDIB_Format::kRgb32,
- nullptr)) {
+ CFX_DefaultRenderDevice bitmap_device;
+ if (!bitmap_device.Create(rect.Width(), rect.Height(), FXDIB_Format::kRgb32,
+ nullptr)) {
return true;
}
- bitmap_device1.Clear(0xffffffff);
- CPDF_RenderStatus bitmap_render(m_pRenderStatus->GetContext(),
- &bitmap_device1);
- bitmap_render.SetDropObjects(m_pRenderStatus->GetDropObjects());
- bitmap_render.SetStdCS(true);
- bitmap_render.Initialize(nullptr, nullptr);
- CPDF_ImageRenderer image_render(&bitmap_render);
- if (image_render.Start(m_pDIBBase, 0, new_matrix, m_ResampleOptions, true)) {
- image_render.Continue(nullptr);
+ bitmap_device.Clear(0xffffffff);
+ CPDF_RenderStatus bitmap_status(m_pRenderStatus->GetContext(),
+ &bitmap_device);
+ bitmap_status.SetDropObjects(m_pRenderStatus->GetDropObjects());
+ bitmap_status.SetStdCS(true);
+ bitmap_status.Initialize(nullptr, nullptr);
+ CPDF_ImageRenderer bitmap_renderer(&bitmap_status);
+ if (bitmap_renderer.Start(m_pDIBBase, 0, new_matrix, m_ResampleOptions,
+ true)) {
+ bitmap_renderer.Continue(nullptr);
}
- CFX_DefaultRenderDevice bitmap_device2;
- if (!bitmap_device2.Create(rect.Width(), rect.Height(),
- FXDIB_Format::k8bppRgb, nullptr)) {
+ CFX_DefaultRenderDevice mask_device;
+ if (!mask_device.Create(rect.Width(), rect.Height(), FXDIB_Format::k8bppRgb,
+ nullptr)) {
return true;
}
- CalculateDrawImage(&bitmap_device1, &bitmap_device2, m_pLoader->GetMask(),
+ CalculateDrawImage(bitmap_device, mask_device, m_pLoader->GetMask(),
new_matrix, rect);
- DCHECK(!bitmap_device2.GetBitmap()->HasPalette());
- bitmap_device2.GetBitmap()->ConvertFormat(FXDIB_Format::k8bppMask);
+ DCHECK(!mask_device.GetBitmap()->HasPalette());
+ mask_device.GetBitmap()->ConvertFormat(FXDIB_Format::k8bppMask);
#if defined(PDF_USE_SKIA)
if (CFX_DefaultRenderDevice::UseSkiaRenderer() &&
m_pRenderStatus->GetRenderDevice()->SetBitsWithMask(
- bitmap_device1.GetBitmap(), bitmap_device2.GetBitmap(), rect.left,
+ bitmap_device.GetBitmap(), mask_device.GetBitmap(), rect.left,
rect.top, m_Alpha, m_BlendType)) {
return false;
}
#endif
- bitmap_device1.GetBitmap()->MultiplyAlphaMask(bitmap_device2.GetBitmap());
- bitmap_device1.GetBitmap()->MultiplyAlpha(m_Alpha);
+ bitmap_device.GetBitmap()->MultiplyAlphaMask(mask_device.GetBitmap());
+ bitmap_device.GetBitmap()->MultiplyAlpha(m_Alpha);
m_pRenderStatus->GetRenderDevice()->SetDIBitsWithBlend(
- bitmap_device1.GetBitmap(), rect.left, rect.top, m_BlendType);
+ bitmap_device.GetBitmap(), rect.left, rect.top, m_BlendType);
return false;
}
diff --git a/core/fpdfapi/render/cpdf_imagerenderer.h b/core/fpdfapi/render/cpdf_imagerenderer.h
index a4203f5..2a8585c 100644
--- a/core/fpdfapi/render/cpdf_imagerenderer.h
+++ b/core/fpdfapi/render/cpdf_imagerenderer.h
@@ -64,8 +64,8 @@
bool NotDrawing() const;
FX_RECT GetDrawRect() const;
CFX_Matrix GetDrawMatrix(const FX_RECT& rect) const;
- void CalculateDrawImage(CFX_DefaultRenderDevice* pBitmapDevice1,
- CFX_DefaultRenderDevice* pBitmapDevice2,
+ void CalculateDrawImage(CFX_DefaultRenderDevice& bitmap_device,
+ CFX_DefaultRenderDevice& mask_device,
RetainPtr<CFX_DIBBase> pDIBBase,
const CFX_Matrix& mtNewMatrix,
const FX_RECT& rect) const;