Use GetCompsFromFormat() in more places.
Clarify it means bytes per pixel as well. Also fix some nits in
CFX_ScanlineCompositor::InitSourceMask().
Change-Id: I28dad7a485199aad00bae674536f60becd7edf91
Reviewed-on: https://pdfium-review.googlesource.com/c/50996
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
diff --git a/core/fxge/dib/cfx_scanlinecompositor.cpp b/core/fxge/dib/cfx_scanlinecompositor.cpp
index 202cb18..35e1100 100644
--- a/core/fxge/dib/cfx_scanlinecompositor.cpp
+++ b/core/fxge/dib/cfx_scanlinecompositor.cpp
@@ -2981,8 +2981,8 @@
const uint8_t* clip_scan,
const uint8_t* src_extra_alpha,
uint8_t* dst_extra_alpha) {
- int src_Bpp = (m_SrcFormat & 0xff) >> 3;
- int dest_Bpp = (m_DestFormat & 0xff) >> 3;
+ int src_Bpp = GetCompsFromFormat(m_SrcFormat);
+ int dest_Bpp = GetCompsFromFormat(m_DestFormat);
if (m_bRgbByteOrder) {
switch (m_iTransparency) {
case 0:
@@ -3155,7 +3155,7 @@
} else {
CompositeRow_1bppRgb2Rgb_NoBlend_RgbByteOrder(
dest_scan, src_scan, src_left, m_pSrcPalette.get(), width,
- (m_DestFormat & 0xff) >> 3, clip_scan);
+ GetCompsFromFormat(m_DestFormat), clip_scan);
}
} else {
if (m_DestFormat == FXDIB_8bppRgb) {
@@ -3167,7 +3167,7 @@
} else {
CompositeRow_8bppRgb2Rgb_NoBlend_RgbByteOrder(
dest_scan, src_scan, m_pSrcPalette.get(), width,
- (m_DestFormat & 0xff) >> 3, clip_scan);
+ GetCompsFromFormat(m_DestFormat), clip_scan);
}
}
return;
@@ -3216,17 +3216,17 @@
case 0:
CompositeRow_8bppRgb2Rgb_NoBlend(
dest_scan, src_scan, m_pSrcPalette.get(), width,
- (m_DestFormat & 0xff) >> 3, clip_scan, src_extra_alpha);
+ GetCompsFromFormat(m_DestFormat), clip_scan, src_extra_alpha);
break;
case 0 + 8:
- CompositeRow_1bppRgb2Rgb_NoBlend(dest_scan, src_scan, src_left,
- m_pSrcPalette.get(), width,
- (m_DestFormat & 0xff) >> 3, clip_scan);
+ CompositeRow_1bppRgb2Rgb_NoBlend(
+ dest_scan, src_scan, src_left, m_pSrcPalette.get(), width,
+ GetCompsFromFormat(m_DestFormat), clip_scan);
break;
case 0 + 2:
CompositeRow_8bppRgb2Rgb_NoBlend(
dest_scan, src_scan, m_pSrcPalette.get(), width,
- (m_DestFormat & 0xff) >> 3, clip_scan, src_extra_alpha);
+ GetCompsFromFormat(m_DestFormat), clip_scan, src_extra_alpha);
break;
case 0 + 2 + 8:
CompositeRow_1bppRgb2Rgba_NoBlend(dest_scan, src_scan, src_left, width,
@@ -3261,7 +3261,7 @@
} else {
CompositeRow_ByteMask2Rgb_RgbByteOrder(
dest_scan, src_scan, m_MaskAlpha, m_MaskRed, m_MaskGreen, m_MaskBlue,
- width, m_BlendType, (m_DestFormat & 0xff) >> 3, clip_scan);
+ width, m_BlendType, GetCompsFromFormat(m_DestFormat), clip_scan);
}
} else if (m_DestFormat == FXDIB_Argb) {
CompositeRow_ByteMask2Argb(dest_scan, src_scan, m_MaskAlpha, m_MaskRed,
@@ -3270,7 +3270,7 @@
} else if (m_DestFormat == FXDIB_Rgb || m_DestFormat == FXDIB_Rgb32) {
CompositeRow_ByteMask2Rgb(dest_scan, src_scan, m_MaskAlpha, m_MaskRed,
m_MaskGreen, m_MaskBlue, width, m_BlendType,
- (m_DestFormat & 0xff) >> 3, clip_scan);
+ GetCompsFromFormat(m_DestFormat), clip_scan);
} else if (m_DestFormat == FXDIB_Rgba) {
CompositeRow_ByteMask2Rgba(dest_scan, src_scan, m_MaskAlpha, m_MaskRed,
m_MaskGreen, m_MaskBlue, width, m_BlendType,
@@ -3303,15 +3303,17 @@
} else {
CompositeRow_BitMask2Rgb_RgbByteOrder(
dest_scan, src_scan, m_MaskAlpha, m_MaskRed, m_MaskGreen, m_MaskBlue,
- src_left, width, m_BlendType, (m_DestFormat & 0xff) >> 3, clip_scan);
+ src_left, width, m_BlendType, GetCompsFromFormat(m_DestFormat),
+ clip_scan);
}
} else if (m_DestFormat == FXDIB_Argb) {
CompositeRow_BitMask2Argb(dest_scan, src_scan, m_MaskAlpha, m_MaskRed,
m_MaskGreen, m_MaskBlue, src_left, width,
m_BlendType, clip_scan);
} else if (m_DestFormat == FXDIB_Rgb || m_DestFormat == FXDIB_Rgb32) {
- CompositeRow_BitMask2Rgb(
- dest_scan, src_scan, m_MaskAlpha, m_MaskRed, m_MaskGreen, m_MaskBlue,
- src_left, width, m_BlendType, (m_DestFormat & 0xff) >> 3, clip_scan);
+ CompositeRow_BitMask2Rgb(dest_scan, src_scan, m_MaskAlpha, m_MaskRed,
+ m_MaskGreen, m_MaskBlue, src_left, width,
+ m_BlendType, GetCompsFromFormat(m_DestFormat),
+ clip_scan);
}
}
diff --git a/core/fxge/fx_dib.h b/core/fxge/fx_dib.h
index 9067824..5bc621f 100644
--- a/core/fxge/fx_dib.h
+++ b/core/fxge/fx_dib.h
@@ -111,10 +111,12 @@
#define FXSYS_GetYValue(cmyk) ((uint8_t)((cmyk) >> 8) & 0xff)
#define FXSYS_GetKValue(cmyk) ((uint8_t)(cmyk)&0xff)
+// Bits per pixel, not bytes.
inline int GetBppFromFormat(FXDIB_Format format) {
return format & 0xff;
}
+// AKA bytes per pixel, assuming 8-bits per component.
inline int GetCompsFromFormat(FXDIB_Format format) {
return (format & 0xff) / 8;
}