Make CFX_DIBitmap more const-correct Mark various source bitmap parameters as const. Bug: pdfium:2115 Change-Id: Ie5d8ba787d19308ce9dc518dfd3c2cd35f5adf89 Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/115391 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fxge/dib/cfx_dibitmap.cpp b/core/fxge/dib/cfx_dibitmap.cpp index f3d70e4..e4bb777 100644 --- a/core/fxge/dib/cfx_dibitmap.cpp +++ b/core/fxge/dib/cfx_dibitmap.cpp
@@ -68,7 +68,7 @@ return true; } -bool CFX_DIBitmap::Copy(const RetainPtr<CFX_DIBBase>& pSrc) { +bool CFX_DIBitmap::Copy(const RetainPtr<const CFX_DIBBase>& pSrc) { if (m_pBuffer) return false; @@ -191,13 +191,14 @@ } } -bool CFX_DIBitmap::TransferBitmap(int dest_left, - int dest_top, - int width, - int height, - const RetainPtr<CFX_DIBBase>& pSrcBitmap, - int src_left, - int src_top) { +bool CFX_DIBitmap::TransferBitmap( + int dest_left, + int dest_top, + int width, + int height, + const RetainPtr<const CFX_DIBBase>& pSrcBitmap, + int src_left, + int src_top) { if (!m_pBuffer) return false; @@ -231,7 +232,7 @@ int dest_top, int width, int height, - const RetainPtr<CFX_DIBBase>& pSrcBitmap, + const RetainPtr<const CFX_DIBBase>& pSrcBitmap, int src_left, int src_top) { if (HasPalette()) @@ -258,7 +259,7 @@ int dest_top, int width, int height, - const RetainPtr<CFX_DIBBase>& pSrcBitmap, + const RetainPtr<const CFX_DIBBase>& pSrcBitmap, int src_left, int src_top) { int Bpp = GetBPP() / 8; @@ -276,7 +277,7 @@ int dest_top, int width, int height, - const RetainPtr<CFX_DIBBase>& pSrcBitmap, + const RetainPtr<const CFX_DIBBase>& pSrcBitmap, int src_left, int src_top) { for (int row = 0; row < height; ++row) { @@ -295,11 +296,11 @@ bool CFX_DIBitmap::SetChannelFromBitmap( Channel destChannel, - const RetainPtr<CFX_DIBBase>& pSrcBitmap) { + const RetainPtr<const CFX_DIBBase>& pSrcBitmap) { if (!m_pBuffer) return false; - RetainPtr<CFX_DIBBase> pSrcClone = pSrcBitmap; + RetainPtr<const CFX_DIBBase> pSrcClone = pSrcBitmap; if (!pSrcBitmap->IsAlphaFormat() && !pSrcBitmap->IsMaskFormat()) return false; @@ -362,11 +363,12 @@ } bool CFX_DIBitmap::SetAlphaFromBitmap( - const RetainPtr<CFX_DIBBase>& pSrcBitmap) { + const RetainPtr<const CFX_DIBBase>& pSrcBitmap) { return SetChannelFromBitmap(Channel::kAlpha, pSrcBitmap); } -bool CFX_DIBitmap::SetRedFromBitmap(const RetainPtr<CFX_DIBBase>& pSrcBitmap) { +bool CFX_DIBitmap::SetRedFromBitmap( + const RetainPtr<const CFX_DIBBase>& pSrcBitmap) { return SetChannelFromBitmap(Channel::kRed, pSrcBitmap); } @@ -397,7 +399,8 @@ return true; } -bool CFX_DIBitmap::MultiplyAlpha(const RetainPtr<CFX_DIBBase>& pSrcBitmap) { +bool CFX_DIBitmap::MultiplyAlpha( + const RetainPtr<const CFX_DIBBase>& pSrcBitmap) { CHECK(pSrcBitmap->IsMaskFormat()); if (!m_pBuffer) { @@ -407,7 +410,7 @@ if (IsOpaqueImage()) return SetAlphaFromBitmap(pSrcBitmap); - RetainPtr<CFX_DIBitmap> pSrcClone = pSrcBitmap.As<CFX_DIBitmap>(); + RetainPtr<const CFX_DIBitmap> pSrcClone = pSrcBitmap.As<const CFX_DIBitmap>(); if (pSrcBitmap->GetWidth() != m_Width || pSrcBitmap->GetHeight() != m_Height) { pSrcClone = pSrcBitmap->StretchTo(m_Width, m_Height, @@ -698,16 +701,17 @@ return PitchAndSize{pitch, safe_size.ValueOrDie()}; } -bool CFX_DIBitmap::CompositeBitmap(int dest_left, - int dest_top, - int width, - int height, - const RetainPtr<CFX_DIBBase>& pSrcBitmap, - int src_left, - int src_top, - BlendMode blend_type, - const CFX_ClipRgn* pClipRgn, - bool bRgbByteOrder) { +bool CFX_DIBitmap::CompositeBitmap( + int dest_left, + int dest_top, + int width, + int height, + const RetainPtr<const CFX_DIBBase>& pSrcBitmap, + int src_left, + int src_top, + BlendMode blend_type, + const CFX_ClipRgn* pClipRgn, + bool bRgbByteOrder) { // Should have called CompositeMask(). CHECK(!pSrcBitmap->IsMaskFormat()); @@ -823,13 +827,14 @@ return true; } -void CFX_DIBitmap::CompositeOneBPPMask(int dest_left, - int dest_top, - int width, - int height, - const RetainPtr<CFX_DIBBase>& pSrcBitmap, - int src_left, - int src_top) { +void CFX_DIBitmap::CompositeOneBPPMask( + int dest_left, + int dest_top, + int width, + int height, + const RetainPtr<const CFX_DIBBase>& pSrcBitmap, + int src_left, + int src_top) { if (GetBPP() != 1) { return; }
diff --git a/core/fxge/dib/cfx_dibitmap.h b/core/fxge/dib/cfx_dibitmap.h index f603aa5..ee3b202 100644 --- a/core/fxge/dib/cfx_dibitmap.h +++ b/core/fxge/dib/cfx_dibitmap.h
@@ -31,7 +31,7 @@ uint8_t* pBuffer, uint32_t pitch); - bool Copy(const RetainPtr<CFX_DIBBase>& pSrc); + bool Copy(const RetainPtr<const CFX_DIBBase>& pSrc); // CFX_DIBBase pdfium::span<const uint8_t> GetScanline(int line) const override; @@ -60,19 +60,19 @@ void SetPixel(int x, int y, uint32_t color); #endif // defined(PDF_USE_SKIA) - bool SetRedFromBitmap(const RetainPtr<CFX_DIBBase>& pSrcBitmap); - bool SetAlphaFromBitmap(const RetainPtr<CFX_DIBBase>& pSrcBitmap); + bool SetRedFromBitmap(const RetainPtr<const CFX_DIBBase>& pSrcBitmap); + bool SetAlphaFromBitmap(const RetainPtr<const CFX_DIBBase>& pSrcBitmap); bool SetUniformOpaqueAlpha(); // TODO(crbug.com/pdfium/2007): Migrate callers to `CFX_RenderDevice`. bool MultiplyAlpha(int alpha); - bool MultiplyAlpha(const RetainPtr<CFX_DIBBase>& pSrcBitmap); + bool MultiplyAlpha(const RetainPtr<const CFX_DIBBase>& pSrcBitmap); bool TransferBitmap(int dest_left, int dest_top, int width, int height, - const RetainPtr<CFX_DIBBase>& pSrcBitmap, + const RetainPtr<const CFX_DIBBase>& pSrcBitmap, int src_left, int src_top); @@ -80,7 +80,7 @@ int dest_top, int width, int height, - const RetainPtr<CFX_DIBBase>& pSrcBitmap, + const RetainPtr<const CFX_DIBBase>& pSrcBitmap, int src_left, int src_top, BlendMode blend_type, @@ -103,7 +103,7 @@ int dest_top, int width, int height, - const RetainPtr<CFX_DIBBase>& pSrcBitmap, + const RetainPtr<const CFX_DIBBase>& pSrcBitmap, int src_left, int src_top); @@ -153,30 +153,32 @@ ~CFX_DIBitmap() override; bool SetChannelFromBitmap(Channel destChannel, - const RetainPtr<CFX_DIBBase>& pSrcBitmap); + const RetainPtr<const CFX_DIBBase>& pSrcBitmap); void ConvertBGRColorScale(uint32_t forecolor, uint32_t backcolor); - bool TransferWithUnequalFormats(FXDIB_Format dest_format, - int dest_left, - int dest_top, - int width, - int height, - const RetainPtr<CFX_DIBBase>& pSrcBitmap, - int src_left, - int src_top); + bool TransferWithUnequalFormats( + FXDIB_Format dest_format, + int dest_left, + int dest_top, + int width, + int height, + const RetainPtr<const CFX_DIBBase>& pSrcBitmap, + int src_left, + int src_top); void TransferWithMultipleBPP(int dest_left, int dest_top, int width, int height, - const RetainPtr<CFX_DIBBase>& pSrcBitmap, + const RetainPtr<const CFX_DIBBase>& pSrcBitmap, int src_left, int src_top); - void TransferEqualFormatsOneBPP(int dest_left, - int dest_top, - int width, - int height, - const RetainPtr<CFX_DIBBase>& pSrcBitmap, - int src_left, - int src_top); + void TransferEqualFormatsOneBPP( + int dest_left, + int dest_top, + int width, + int height, + const RetainPtr<const CFX_DIBBase>& pSrcBitmap, + int src_left, + int src_top); MaybeOwned<uint8_t, FxFreeDeleter> m_pBuffer; #if defined(PDF_USE_SKIA)