Make CFX_RenderDevice::StretchBitMask() take RetainPtrs by value More consistently pass bitmaps around by value, with move semantics, rather than by const-ref. Change related code in the call stack to do the same. Also change variable names to follow the style guide. Change-Id: I7c634e8b12cb306d0dd4eb093fecd9ebaea869ce Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/115531 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fpdfapi/render/cpdf_imagerenderer.cpp b/core/fpdfapi/render/cpdf_imagerenderer.cpp index 1d27796..ae8fff5 100644 --- a/core/fpdfapi/render/cpdf_imagerenderer.cpp +++ b/core/fpdfapi/render/cpdf_imagerenderer.cpp
@@ -476,23 +476,20 @@ CFX_FillRenderOptions::WindingOptions()); return false; } - RetainPtr<CFX_DIBBase> pAlphaMask; - if (m_pDIBBase->IsMaskFormat()) - pAlphaMask = m_pDIBBase; - else - pAlphaMask = m_pDIBBase->CloneAlphaMask(); + RetainPtr<CFX_DIBBase> alpha_mask = + m_pDIBBase->IsMaskFormat() ? m_pDIBBase : m_pDIBBase->CloneAlphaMask(); if (fabs(m_ImageMatrix.b) >= 0.5f || fabs(m_ImageMatrix.c) >= 0.5f) { int left; int top; - RetainPtr<CFX_DIBitmap> pTransformed = - pAlphaMask->TransformTo(m_ImageMatrix, &left, &top); - if (!pTransformed) + alpha_mask = alpha_mask->TransformTo(m_ImageMatrix, &left, &top); + if (!alpha_mask) { return true; + } const int bitmap_alpha = FXSYS_roundf(m_Alpha * 255); m_pRenderStatus->GetRenderDevice()->SetBitMask( - pTransformed, left, top, + std::move(alpha_mask), left, top, ArgbEncode(0xff, bitmap_alpha, bitmap_alpha, bitmap_alpha)); return false; } @@ -512,7 +509,7 @@ const int bitmap_alpha = FXSYS_roundf(m_Alpha * 255); m_pRenderStatus->GetRenderDevice()->StretchBitMask( - pAlphaMask, left, top, dest_width, dest_height, + std::move(alpha_mask), left, top, dest_width, dest_height, ArgbEncode(0xff, bitmap_alpha, bitmap_alpha, bitmap_alpha)); return false; }
diff --git a/core/fxge/cfx_renderdevice.cpp b/core/fxge/cfx_renderdevice.cpp index fe7098a..a4aebb4 100644 --- a/core/fxge/cfx_renderdevice.cpp +++ b/core/fxge/cfx_renderdevice.cpp
@@ -967,18 +967,18 @@ BlendMode::kNormal); } -bool CFX_RenderDevice::StretchBitMask(const RetainPtr<CFX_DIBBase>& pBitmap, +bool CFX_RenderDevice::StretchBitMask(RetainPtr<CFX_DIBBase> bitmap, int left, int top, int dest_width, int dest_height, uint32_t color) { - return StretchBitMaskWithFlags(pBitmap, left, top, dest_width, dest_height, - color, FXDIB_ResampleOptions()); + return StretchBitMaskWithFlags(std::move(bitmap), left, top, dest_width, + dest_height, color, FXDIB_ResampleOptions()); } bool CFX_RenderDevice::StretchBitMaskWithFlags( - const RetainPtr<CFX_DIBBase>& pBitmap, + RetainPtr<CFX_DIBBase> bitmap, int left, int top, int dest_width, @@ -988,7 +988,7 @@ FX_RECT dest_rect(left, top, left + dest_width, top + dest_height); FX_RECT clip_box = m_ClipBox; clip_box.Intersect(dest_rect); - return m_pDeviceDriver->StretchDIBits(std::move(pBitmap), argb, left, top, + return m_pDeviceDriver->StretchDIBits(std::move(bitmap), argb, left, top, dest_width, dest_height, &clip_box, options, BlendMode::kNormal); }
diff --git a/core/fxge/cfx_renderdevice.h b/core/fxge/cfx_renderdevice.h index 8a363ff..f69d5d4 100644 --- a/core/fxge/cfx_renderdevice.h +++ b/core/fxge/cfx_renderdevice.h
@@ -120,13 +120,13 @@ int left, int top, uint32_t argb); - bool StretchBitMask(const RetainPtr<CFX_DIBBase>& pBitmap, + bool StretchBitMask(RetainPtr<CFX_DIBBase> bitmap, int left, int top, int dest_width, int dest_height, uint32_t color); - bool StretchBitMaskWithFlags(const RetainPtr<CFX_DIBBase>& pBitmap, + bool StretchBitMaskWithFlags(RetainPtr<CFX_DIBBase> bitmap, int left, int top, int dest_width,