Const-qualify some CFX_DIBBase methods.
Then propagate const to all the places it needs to go. Note that
RetainPtr<const Type> is valid, the refcounts are mutable but the
object pointed-to is not.
Change-Id: I6278b29a68c344bf7994b365b8db6f67127a7b87
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/86530
Reviewed-by: Lei Zhang <thestig@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fxge/dib/cfx_dibbase.cpp b/core/fxge/dib/cfx_dibbase.cpp
index 45ce5d5..bbffc47 100644
--- a/core/fxge/dib/cfx_dibbase.cpp
+++ b/core/fxge/dib/cfx_dibbase.cpp
@@ -56,7 +56,7 @@
class CFX_Palette {
public:
- explicit CFX_Palette(const RetainPtr<CFX_DIBBase>& pBitmap);
+ explicit CFX_Palette(const RetainPtr<const CFX_DIBBase>& pBitmap);
~CFX_Palette();
const uint32_t* GetPalette() { return m_Palette.data(); }
@@ -71,7 +71,7 @@
int m_lut = 0;
};
-CFX_Palette::CFX_Palette(const RetainPtr<CFX_DIBBase>& pBitmap)
+CFX_Palette::CFX_Palette(const RetainPtr<const CFX_DIBBase>& pBitmap)
: m_Palette(256), m_Luts(4096) {
int bpp = pBitmap->GetBPP() / 8;
int width = pBitmap->GetWidth();
@@ -109,7 +109,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top) {
static constexpr uint8_t kSetGray = 0xff;
@@ -130,7 +130,7 @@
int dest_pitch,
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) {
@@ -145,7 +145,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top) {
pdfium::span<const uint32_t> src_palette = pSrcBitmap->GetPaletteSpan();
@@ -175,7 +175,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top) {
pdfium::span<const uint32_t> src_palette = pSrcBitmap->GetPaletteSpan();
@@ -198,7 +198,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top) {
int Bpp = pSrcBitmap->GetBPP() / 8;
@@ -217,7 +217,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top) {
if (pSrcBitmap->GetBPP() == 1) {
@@ -248,7 +248,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top,
pdfium::span<uint32_t> dst_plt) {
@@ -267,7 +267,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top,
pdfium::span<uint32_t> dst_plt) {
@@ -328,7 +328,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top) {
int comps = GetCompsFromFormat(dest_format);
@@ -351,7 +351,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top) {
int comps = GetCompsFromFormat(dest_format);
@@ -372,7 +372,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top) {
int comps = GetCompsFromFormat(dest_format);
@@ -402,7 +402,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top) {
int comps = GetCompsFromFormat(dest_format);
@@ -428,13 +428,14 @@
}
}
-void ConvertBuffer_24bppRgb2Rgb24(uint8_t* dest_buf,
- int dest_pitch,
- int width,
- int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
- int src_left,
- int src_top) {
+void ConvertBuffer_24bppRgb2Rgb24(
+ uint8_t* dest_buf,
+ int dest_pitch,
+ int width,
+ int height,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
+ int src_left,
+ int src_top) {
for (int row = 0; row < height; ++row) {
uint8_t* dest_scan = dest_buf + row * dest_pitch;
const uint8_t* src_scan =
@@ -443,13 +444,14 @@
}
}
-void ConvertBuffer_32bppRgb2Rgb24(uint8_t* dest_buf,
- int dest_pitch,
- int width,
- int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
- int src_left,
- int src_top) {
+void ConvertBuffer_32bppRgb2Rgb24(
+ uint8_t* dest_buf,
+ int dest_pitch,
+ int width,
+ int height,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
+ int src_left,
+ int src_top) {
for (int row = 0; row < height; ++row) {
uint8_t* dest_scan = dest_buf + row * dest_pitch;
const uint8_t* src_scan =
@@ -466,7 +468,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top) {
int comps = pSrcBitmap->GetBPP() / 8;
@@ -487,7 +489,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top) {
switch (bpp) {
@@ -525,7 +527,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top) {
switch (bpp) {
@@ -566,7 +568,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top) {
switch (bpp) {
@@ -997,7 +999,8 @@
return pFlipped;
}
-RetainPtr<CFX_DIBitmap> CFX_DIBBase::CloneConvert(FXDIB_Format dest_format) {
+RetainPtr<CFX_DIBitmap> CFX_DIBBase::CloneConvert(
+ FXDIB_Format dest_format) const {
if (dest_format == GetFormat())
return Clone(nullptr);
@@ -1024,7 +1027,7 @@
return nullptr;
}
- RetainPtr<CFX_DIBBase> holder(this);
+ RetainPtr<const CFX_DIBBase> holder(this);
std::vector<uint32_t, FxAllocAllocator<uint32_t>> pal_8bpp;
if (!ConvertBuffer(dest_format, pClone->GetBuffer(), pClone->GetPitch(),
m_Width, m_Height, holder, 0, 0, &pal_8bpp)) {
@@ -1131,8 +1134,8 @@
RetainPtr<CFX_DIBitmap> CFX_DIBBase::TransformTo(const CFX_Matrix& mtDest,
int* result_left,
- int* result_top) {
- RetainPtr<CFX_DIBBase> holder(this);
+ int* result_top) const {
+ RetainPtr<const CFX_DIBBase> holder(this);
CFX_ImageTransformer transformer(holder, mtDest, FXDIB_ResampleOptions(),
nullptr);
transformer.Continue(nullptr);
@@ -1145,8 +1148,8 @@
int dest_width,
int dest_height,
const FXDIB_ResampleOptions& options,
- const FX_RECT* pClip) {
- RetainPtr<CFX_DIBBase> holder(this);
+ const FX_RECT* pClip) const {
+ RetainPtr<const CFX_DIBBase> holder(this);
FX_RECT clip_rect(0, 0, abs(dest_width), abs(dest_height));
if (pClip)
clip_rect.Intersect(*pClip);
@@ -1173,7 +1176,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top,
std::vector<uint32_t, FxAllocAllocator<uint32_t>>* pal) {
diff --git a/core/fxge/dib/cfx_dibbase.h b/core/fxge/dib/cfx_dibbase.h
index 8aee458..bfe2762 100644
--- a/core/fxge/dib/cfx_dibbase.h
+++ b/core/fxge/dib/cfx_dibbase.h
@@ -61,14 +61,14 @@
void SetPalette(pdfium::span<const uint32_t> src_palette);
RetainPtr<CFX_DIBitmap> Clone(const FX_RECT* pClip) const;
- RetainPtr<CFX_DIBitmap> CloneConvert(FXDIB_Format format);
+ RetainPtr<CFX_DIBitmap> CloneConvert(FXDIB_Format format) const;
RetainPtr<CFX_DIBitmap> StretchTo(int dest_width,
int dest_height,
const FXDIB_ResampleOptions& options,
- const FX_RECT* pClip);
+ const FX_RECT* pClip) const;
RetainPtr<CFX_DIBitmap> TransformTo(const CFX_Matrix& mtDest,
int* left,
- int* top);
+ int* top) const;
RetainPtr<CFX_DIBitmap> SwapXY(bool bXFlip, bool bYFlip) const;
RetainPtr<CFX_DIBitmap> FlipImage(bool bXFlip, bool bYFlip) const;
@@ -107,7 +107,7 @@
int dest_pitch,
int width,
int height,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
int src_left,
int src_top,
std::vector<uint32_t, FxAllocAllocator<uint32_t>>* pal);
diff --git a/core/fxge/dib/cfx_imagestretcher.cpp b/core/fxge/dib/cfx_imagestretcher.cpp
index c5a171d..4636d8f 100644
--- a/core/fxge/dib/cfx_imagestretcher.cpp
+++ b/core/fxge/dib/cfx_imagestretcher.cpp
@@ -34,12 +34,13 @@
} // namespace
-CFX_ImageStretcher::CFX_ImageStretcher(ScanlineComposerIface* pDest,
- const RetainPtr<CFX_DIBBase>& pSource,
- int dest_width,
- int dest_height,
- const FX_RECT& bitmap_rect,
- const FXDIB_ResampleOptions& options)
+CFX_ImageStretcher::CFX_ImageStretcher(
+ ScanlineComposerIface* pDest,
+ const RetainPtr<const CFX_DIBBase>& pSource,
+ int dest_width,
+ int dest_height,
+ const FX_RECT& bitmap_rect,
+ const FXDIB_ResampleOptions& options)
: m_pDest(pDest),
m_pSource(pSource),
m_ResampleOptions(options),
@@ -91,7 +92,7 @@
return ContinueStretch(pPause);
}
-RetainPtr<CFX_DIBBase> CFX_ImageStretcher::source() {
+RetainPtr<const CFX_DIBBase> CFX_ImageStretcher::source() {
return m_pSource;
}
diff --git a/core/fxge/dib/cfx_imagestretcher.h b/core/fxge/dib/cfx_imagestretcher.h
index 3beb199..8a43f7a 100644
--- a/core/fxge/dib/cfx_imagestretcher.h
+++ b/core/fxge/dib/cfx_imagestretcher.h
@@ -22,7 +22,7 @@
class CFX_ImageStretcher {
public:
CFX_ImageStretcher(ScanlineComposerIface* pDest,
- const RetainPtr<CFX_DIBBase>& pSource,
+ const RetainPtr<const CFX_DIBBase>& pSource,
int dest_width,
int dest_height,
const FX_RECT& bitmap_rect,
@@ -32,14 +32,14 @@
bool Start();
bool Continue(PauseIndicatorIface* pPause);
- RetainPtr<CFX_DIBBase> source();
+ RetainPtr<const CFX_DIBBase> source();
private:
bool StartStretch();
bool ContinueStretch(PauseIndicatorIface* pPause);
UnownedPtr<ScanlineComposerIface> const m_pDest;
- RetainPtr<CFX_DIBBase> m_pSource;
+ RetainPtr<const CFX_DIBBase> const m_pSource;
std::unique_ptr<CStretchEngine> m_pStretchEngine;
const FXDIB_ResampleOptions m_ResampleOptions;
const int m_DestWidth;
diff --git a/core/fxge/dib/cfx_imagetransformer.cpp b/core/fxge/dib/cfx_imagetransformer.cpp
index 3dcaf03..1efdc1c 100644
--- a/core/fxge/dib/cfx_imagetransformer.cpp
+++ b/core/fxge/dib/cfx_imagetransformer.cpp
@@ -130,10 +130,11 @@
} // namespace
-CFX_ImageTransformer::CFX_ImageTransformer(const RetainPtr<CFX_DIBBase>& pSrc,
- const CFX_Matrix& matrix,
- const FXDIB_ResampleOptions& options,
- const FX_RECT* pClip)
+CFX_ImageTransformer::CFX_ImageTransformer(
+ const RetainPtr<const CFX_DIBBase>& pSrc,
+ const CFX_Matrix& matrix,
+ const FXDIB_ResampleOptions& options,
+ const FX_RECT* pClip)
: m_pSrc(pSrc), m_matrix(matrix), m_ResampleOptions(options) {
FX_RECT result_rect = m_matrix.GetUnitRect().GetClosestRect();
FX_RECT result_clip = result_rect;
diff --git a/core/fxge/dib/cfx_imagetransformer.h b/core/fxge/dib/cfx_imagetransformer.h
index b6c8a9e..16c9315 100644
--- a/core/fxge/dib/cfx_imagetransformer.h
+++ b/core/fxge/dib/cfx_imagetransformer.h
@@ -38,7 +38,7 @@
uint32_t pitch;
};
- CFX_ImageTransformer(const RetainPtr<CFX_DIBBase>& pSrc,
+ CFX_ImageTransformer(const RetainPtr<const CFX_DIBBase>& pSrc,
const CFX_Matrix& matrix,
const FXDIB_ResampleOptions& options,
const FX_RECT* pClip);
@@ -65,7 +65,7 @@
void CalcMono(const CalcData& calc_data);
void CalcColor(const CalcData& calc_data, FXDIB_Format format, int Bpp);
- RetainPtr<CFX_DIBBase> const m_pSrc;
+ RetainPtr<const CFX_DIBBase> const m_pSrc;
const CFX_Matrix m_matrix;
FX_RECT m_StretchClip;
FX_RECT m_result;
diff --git a/core/fxge/dib/cstretchengine.cpp b/core/fxge/dib/cstretchengine.cpp
index 3c073bd..361edf4 100644
--- a/core/fxge/dib/cstretchengine.cpp
+++ b/core/fxge/dib/cstretchengine.cpp
@@ -173,7 +173,7 @@
int dest_width,
int dest_height,
const FX_RECT& clip_rect,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
const FXDIB_ResampleOptions& options)
: m_DestFormat(dest_format),
m_DestBpp(GetBppFromFormat(dest_format)),
diff --git a/core/fxge/dib/cstretchengine.h b/core/fxge/dib/cstretchengine.h
index 7e9485e..544ccbf 100644
--- a/core/fxge/dib/cstretchengine.h
+++ b/core/fxge/dib/cstretchengine.h
@@ -106,7 +106,7 @@
int dest_width,
int dest_height,
const FX_RECT& clip_rect,
- const RetainPtr<CFX_DIBBase>& pSrcBitmap,
+ const RetainPtr<const CFX_DIBBase>& pSrcBitmap,
const FXDIB_ResampleOptions& options);
~CStretchEngine();
@@ -137,7 +137,7 @@
const int m_DestBpp;
const int m_SrcBpp;
const bool m_bHasAlpha;
- RetainPtr<CFX_DIBBase> const m_pSource;
+ RetainPtr<const CFX_DIBBase> const m_pSource;
pdfium::span<const uint32_t> m_pSrcPalette;
const int m_SrcWidth;
const int m_SrcHeight;