Get rid of GetIsAlphaFromFormat().
Since there is only 1 FXDIB_Format that has an alpha channel, just refer
to it directly. Then it's slightly easier to spot some pointless checks.
Change-Id: If883cc4fa8592d533f2ca3ca52bdfb0f294b167c
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/102730
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/core/fxge/dib/cfx_dibbase.cpp b/core/fxge/dib/cfx_dibbase.cpp
index 785d502..da38fec 100644
--- a/core/fxge/dib/cfx_dibbase.cpp
+++ b/core/fxge/dib/cfx_dibbase.cpp
@@ -930,7 +930,7 @@
if (!pSrcAlpha)
return nullptr;
}
- if (GetIsAlphaFromFormat(dest_format)) {
+ if (dest_format == FXDIB_Format::kArgb) {
bool ret = pSrcAlpha ? pClone->SetAlphaFromBitmap(pSrcAlpha)
: pClone->SetUniformOpaqueAlpha();
if (!ret)
diff --git a/core/fxge/dib/cfx_dibbase.h b/core/fxge/dib/cfx_dibbase.h
index 27161a5..e0916e7 100644
--- a/core/fxge/dib/cfx_dibbase.h
+++ b/core/fxge/dib/cfx_dibbase.h
@@ -50,7 +50,7 @@
FXDIB_Format GetFormat() const { return m_Format; }
int GetBPP() const { return GetBppFromFormat(m_Format); }
bool IsMaskFormat() const { return GetIsMaskFromFormat(m_Format); }
- bool IsAlphaFormat() const { return GetIsAlphaFromFormat(m_Format); }
+ bool IsAlphaFormat() const { return m_Format == FXDIB_Format::kArgb; }
bool IsOpaqueImage() const { return !IsMaskFormat() && !IsAlphaFormat(); }
bool HasPalette() const { return !m_palette.empty(); }
diff --git a/core/fxge/dib/cfx_dibitmap.cpp b/core/fxge/dib/cfx_dibitmap.cpp
index 8868fff..9ce57f6 100644
--- a/core/fxge/dib/cfx_dibitmap.cpp
+++ b/core/fxge/dib/cfx_dibitmap.cpp
@@ -38,8 +38,6 @@
FXDIB_Format format,
uint8_t* pBuffer,
uint32_t pitch) {
- DCHECK(!GetIsAlphaFromFormat(format) || format == FXDIB_Format::kArgb);
-
m_pBuffer = nullptr;
m_Format = format;
m_Width = 0;
diff --git a/core/fxge/dib/cfx_scanlinecompositor.cpp b/core/fxge/dib/cfx_scanlinecompositor.cpp
index 87f47a7..d846612 100644
--- a/core/fxge/dib/cfx_scanlinecompositor.cpp
+++ b/core/fxge/dib/cfx_scanlinecompositor.cpp
@@ -2315,8 +2315,8 @@
int src_Bpp = GetCompsFromFormat(m_SrcFormat);
int dest_Bpp = GetCompsFromFormat(m_DestFormat);
if (m_bRgbByteOrder) {
- if (GetIsAlphaFromFormat(m_SrcFormat)) {
- if (GetIsAlphaFromFormat(m_DestFormat)) {
+ if (m_SrcFormat == FXDIB_Format::kArgb) {
+ if (m_DestFormat == FXDIB_Format::kArgb) {
CompositeRow_Argb2Argb_RgbByteOrder(dest_scan, src_scan, width,
m_BlendType, clip_scan);
return;
@@ -2331,7 +2331,7 @@
return;
}
- if (GetIsAlphaFromFormat(m_DestFormat)) {
+ if (m_DestFormat == FXDIB_Format::kArgb) {
if (m_BlendType == BlendMode::kNormal) {
if (m_bClip) {
CompositeRow_Rgb2Argb_NoBlend_Clip_RgbByteOrder(
@@ -2374,8 +2374,7 @@
}
if (m_DestFormat == FXDIB_Format::k8bppMask) {
- if (GetIsAlphaFromFormat(m_SrcFormat)) {
- DCHECK_EQ(m_SrcFormat, FXDIB_Format::kArgb);
+ if (m_SrcFormat == FXDIB_Format::kArgb) {
CompositeRow_AlphaToMask(dest_scan, src_scan, width, clip_scan, 4);
} else {
CompositeRow_Rgb2Mask(dest_scan, width, clip_scan);
@@ -2384,8 +2383,7 @@
}
if (GetBppFromFormat(m_DestFormat) == 8) {
- DCHECK(!GetIsAlphaFromFormat(m_DestFormat));
- if (GetIsAlphaFromFormat(m_SrcFormat)) {
+ if (m_SrcFormat == FXDIB_Format::kArgb) {
CompositeRow_Argb2Gray(dest_scan, src_scan, width, m_BlendType,
clip_scan);
} else {
@@ -2395,8 +2393,8 @@
return;
}
- if (GetIsAlphaFromFormat(m_SrcFormat)) {
- if (GetIsAlphaFromFormat(m_DestFormat)) {
+ if (m_SrcFormat == FXDIB_Format::kArgb) {
+ if (m_DestFormat == FXDIB_Format::kArgb) {
CompositeRow_Argb2Argb(dest_scan, src_scan, width, m_BlendType,
clip_scan);
return;
@@ -2411,7 +2409,7 @@
return;
}
- if (GetIsAlphaFromFormat(m_DestFormat)) {
+ if (m_DestFormat == FXDIB_Format::kArgb) {
if (m_BlendType == BlendMode::kNormal) {
if (m_bClip) {
CompositeRow_Rgb2Argb_NoBlend_Clip(dest_scan, src_scan, width, src_Bpp,
@@ -2493,7 +2491,6 @@
}
if (GetBppFromFormat(m_DestFormat) == 8) {
- DCHECK(!GetIsAlphaFromFormat(m_DestFormat));
if (m_SrcFormat == FXDIB_Format::k1bppRgb) {
CompositeRow_1bppPal2Gray(dest_scan, src_scan, src_left,
m_SrcPalette.Get8BitPalette(), width,
@@ -2508,9 +2505,6 @@
}
if (m_DestFormat == FXDIB_Format::kArgb) {
- if (!GetIsAlphaFromFormat(m_DestFormat)) {
- return;
- }
if (m_SrcFormat == FXDIB_Format::k1bppRgb) {
CompositeRow_1bppRgb2Argb_NoBlend(dest_scan, src_scan, src_left, width,
m_SrcPalette.Get32BitPalette(),
@@ -2531,7 +2525,7 @@
}
DCHECK_EQ(m_SrcFormat, FXDIB_Format::k1bppRgb);
- if (GetIsAlphaFromFormat(m_DestFormat)) {
+ if (m_DestFormat == FXDIB_Format::kArgb) {
// TODO(thestig): Check if empty span argument is always empty.
CompositeRow_1bppRgb2Rgba_NoBlend(dest_scan, src_scan, src_left, width,
m_SrcPalette.Get32BitPalette(), clip_scan,
@@ -2552,7 +2546,6 @@
CompositeRow_ByteMask2Mask(dest_scan, src_scan, m_MaskAlpha, width,
clip_scan);
} else if (GetBppFromFormat(m_DestFormat) == 8) {
- DCHECK(!GetIsAlphaFromFormat(m_DestFormat));
CompositeRow_ByteMask2Gray(dest_scan, src_scan, m_MaskAlpha, m_MaskRed,
width, clip_scan);
} else if (m_bRgbByteOrder) {
@@ -2587,7 +2580,6 @@
CompositeRow_BitMask2Mask(dest_scan, src_scan, m_MaskAlpha, src_left, width,
clip_scan);
} else if (GetBppFromFormat(m_DestFormat) == 8) {
- DCHECK(!GetIsAlphaFromFormat(m_DestFormat));
CompositeRow_BitMask2Gray(dest_scan, src_scan, m_MaskAlpha, m_MaskRed,
src_left, width, clip_scan);
} else if (m_bRgbByteOrder) {
diff --git a/core/fxge/dib/fx_dib.h b/core/fxge/dib/fx_dib.h
index 266bcaa..bd458f9 100644
--- a/core/fxge/dib/fx_dib.h
+++ b/core/fxge/dib/fx_dib.h
@@ -12,6 +12,10 @@
#include <tuple>
#include <utility>
+// Encoding:
+// - Bits-per-pixel: value & 0xFF
+// - Is mask: value & 0x100
+// - Has alpha: value & 0x200
enum class FXDIB_Format : uint16_t {
kInvalid = 0,
k1bppRgb = 0x001,
@@ -96,10 +100,6 @@
return !!(static_cast<uint16_t>(format) & 0x100);
}
-inline bool GetIsAlphaFromFormat(FXDIB_Format format) {
- return !!(static_cast<uint16_t>(format) & 0x200);
-}
-
FXDIB_Format MakeRGBFormat(int bpp);
constexpr FX_CMYK CmykEncode(uint32_t c, uint32_t m, uint32_t y, uint32_t k) {