Consistently use helper functions to read from FXDIB_Format.
FXDIB_Format contains an "alpha flag" component and a bpp component.
Consistently read them with GetAlphaFlagFromFormat() and
GetBppFromFormat(), respectively. GetBppFromFormat() already exists, and
GetAlphaFlagFromFormat() has to be implemented.
Change-Id: I614fc9d393c76b7e2069a8dc28732ca2ecf05eb8
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/65051
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fxge/dib/cfx_dibitmap.cpp b/core/fxge/dib/cfx_dibitmap.cpp
index 9c7bc24..411b930 100644
--- a/core/fxge/dib/cfx_dibitmap.cpp
+++ b/core/fxge/dib/cfx_dibitmap.cpp
@@ -39,8 +39,8 @@
uint8_t* pBuffer,
uint32_t pitch) {
m_pBuffer = nullptr;
- m_bpp = static_cast<uint8_t>(format);
- m_AlphaFlag = static_cast<uint8_t>(format >> 8);
+ m_bpp = GetBppFromFormat(format);
+ m_AlphaFlag = GetAlphaFlagFromFormat(format);
m_Width = 0;
m_Height = 0;
m_Pitch = 0;
@@ -1260,8 +1260,8 @@
m_pAlphaMask = pAlphaMask;
m_pPalette = std::move(pal_8bpp);
m_pBuffer = std::move(dest_buf);
- m_bpp = static_cast<uint8_t>(dest_format);
- m_AlphaFlag = static_cast<uint8_t>(dest_format >> 8);
+ m_bpp = GetBppFromFormat(dest_format);
+ m_AlphaFlag = GetAlphaFlagFromFormat(dest_format);
m_Pitch = dest_pitch;
return true;
}
diff --git a/core/fxge/dib/cfx_filtereddib.cpp b/core/fxge/dib/cfx_filtereddib.cpp
index 297a099..8cbcdad 100644
--- a/core/fxge/dib/cfx_filtereddib.cpp
+++ b/core/fxge/dib/cfx_filtereddib.cpp
@@ -18,7 +18,7 @@
m_Height = pSrc->GetHeight();
FXDIB_Format format = GetDestFormat();
m_bpp = GetBppFromFormat(format);
- m_AlphaFlag = static_cast<uint8_t>(format >> 8);
+ m_AlphaFlag = GetAlphaFlagFromFormat(format);
m_Pitch = (m_Width * m_bpp + 31) / 32 * 4;
m_pPalette.reset(GetDestPalette());
m_Scanline.resize(m_Pitch);
diff --git a/core/fxge/fx_dib.h b/core/fxge/fx_dib.h
index 662ede9..b2dbe8a 100644
--- a/core/fxge/fx_dib.h
+++ b/core/fxge/fx_dib.h
@@ -115,6 +115,10 @@
return (format & 0xff) / 8;
}
+inline uint32_t GetAlphaFlagFromFormat(FXDIB_Format format) {
+ return (format >> 8) & 0xff;
+}
+
inline bool GetIsAlphaFromFormat(FXDIB_Format format) {
return format & 0x200;
}