Add GetIsCmykFromFormat() and use where appropriate.

Also use GetBppFromFormat() in more places.

Change-Id: I26612aa35af596ec36f09b08d977f5a546fed580
Reviewed-on: https://pdfium-review.googlesource.com/c/50995
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: dsinclair <dsinclair@chromium.org>
diff --git a/core/fxge/dib/cfx_bitmapcomposer.cpp b/core/fxge/dib/cfx_bitmapcomposer.cpp
index a4e4863..beb02b7 100644
--- a/core/fxge/dib/cfx_bitmapcomposer.cpp
+++ b/core/fxge/dib/cfx_bitmapcomposer.cpp
@@ -84,7 +84,7 @@
   if (m_SrcFormat == FXDIB_8bppMask) {
     m_Compositor.CompositeByteMaskLine(dest_scan, src_scan, dest_width,
                                        clip_scan, dst_extra_alpha);
-  } else if ((m_SrcFormat & 0xff) == 8) {
+  } else if (GetBppFromFormat(m_SrcFormat) == 8) {
     m_Compositor.CompositePalBitmapLine(dest_scan, src_scan, 0, dest_width,
                                         clip_scan, src_extra_alpha,
                                         dst_extra_alpha);
diff --git a/core/fxge/dib/cfx_dibbase.cpp b/core/fxge/dib/cfx_dibbase.cpp
index f91d946..f878fc4 100644
--- a/core/fxge/dib/cfx_dibbase.cpp
+++ b/core/fxge/dib/cfx_dibbase.cpp
@@ -1265,9 +1265,9 @@
     }
     case FXDIB_Argb:
     case FXDIB_Rgb32: {
-      const bool cmyk = src_format & 0x0400;
-      return ConvertBuffer_Argb(bpp, cmyk, dest_format, dest_buf, dest_pitch,
-                                width, height, pSrcBitmap, src_left, src_top);
+      return ConvertBuffer_Argb(bpp, GetIsCmykFromFormat(src_format),
+                                dest_format, dest_buf, dest_pitch, width,
+                                height, pSrcBitmap, src_left, src_top);
     }
     default:
       NOTREACHED();
diff --git a/core/fxge/dib/cfx_imagestretcher.cpp b/core/fxge/dib/cfx_imagestretcher.cpp
index 54d14f7..07ff251 100644
--- a/core/fxge/dib/cfx_imagestretcher.cpp
+++ b/core/fxge/dib/cfx_imagestretcher.cpp
@@ -58,7 +58,7 @@
       m_DestHeight(dest_height),
       m_ClipRect(bitmap_rect),
       m_DestFormat(GetStretchedFormat(*pSource)),
-      m_DestBPP(m_DestFormat & 0xff),
+      m_DestBPP(GetBppFromFormat(m_DestFormat)),
       m_LineIndex(0) {}
 
 CFX_ImageStretcher::~CFX_ImageStretcher() {}
diff --git a/core/fxge/dib/cfx_scanlinecompositor.cpp b/core/fxge/dib/cfx_scanlinecompositor.cpp
index 5bc3912..202cb18 100644
--- a/core/fxge/dib/cfx_scanlinecompositor.cpp
+++ b/core/fxge/dib/cfx_scanlinecompositor.cpp
@@ -2852,24 +2852,25 @@
     InitSourceMask(mask_color);
     return true;
   }
-  if ((~src_format & 0x0400) && (dest_format & 0x0400))
+  if (!GetIsCmykFromFormat(src_format) && GetIsCmykFromFormat(dest_format))
     return false;
-  if ((m_SrcFormat & 0xff) <= 8) {
+  if (GetBppFromFormat(m_SrcFormat) <= 8) {
     if (dest_format == FXDIB_8bppMask)
       return true;
 
     InitSourcePalette(src_format, dest_format, pSrcPalette);
     m_iTransparency = (dest_format == FXDIB_Argb ? 1 : 0) +
                       (GetIsAlphaFromFormat(dest_format) ? 2 : 0) +
-                      (dest_format & 0x0400 ? 4 : 0) +
+                      (GetIsCmykFromFormat(dest_format) ? 4 : 0) +
                       (GetBppFromFormat(src_format) == 1 ? 8 : 0);
     return true;
   }
   m_iTransparency = (GetIsAlphaFromFormat(src_format) ? 0 : 1) +
                     (GetIsAlphaFromFormat(dest_format) ? 0 : 2) +
                     (blend_type == BlendMode::kNormal ? 4 : 0) +
-                    (bClip ? 8 : 0) + (src_format & 0x0400 ? 16 : 0) +
-                    (dest_format & 0x0400 ? 32 : 0);
+                    (bClip ? 8 : 0) +
+                    (GetIsCmykFromFormat(src_format) ? 16 : 0) +
+                    (GetIsCmykFromFormat(dest_format) ? 32 : 0);
   return true;
 }
 
@@ -2881,9 +2882,9 @@
   if (m_DestFormat == FXDIB_8bppMask)
     return;
 
-  if ((m_DestFormat & 0xff) == 8) {
+  if (GetBppFromFormat(m_DestFormat) == 8) {
     m_MaskRed = FXRGB2GRAY(m_MaskRed, m_MaskGreen, m_MaskBlue);
-    if (m_DestFormat & 0x0400)
+    if (GetIsCmykFromFormat(m_DestFormat))
       m_MaskRed = FX_CCOLOR(m_MaskRed);
   }
 }
@@ -2891,8 +2892,8 @@
 void CFX_ScanlineCompositor::InitSourcePalette(FXDIB_Format src_format,
                                                FXDIB_Format dest_format,
                                                const uint32_t* pSrcPalette) {
-  bool bIsSrcCmyk = !!(src_format & 0x0400);
-  bool bIsDstCmyk = !!(dest_format & 0x0400);
+  bool bIsSrcCmyk = GetIsCmykFromFormat(src_format);
+  bool bIsDstCmyk = GetIsCmykFromFormat(dest_format);
   bool bIsDestBpp8 = GetBppFromFormat(dest_format) == 8;
   int pal_count = 1 << GetBppFromFormat(src_format);
   m_pSrcPalette = nullptr;
@@ -3048,8 +3049,8 @@
     } else {
       CompositeRow_Rgb2Mask(dest_scan, src_scan, width, clip_scan);
     }
-  } else if ((m_DestFormat & 0xff) == 8) {
-    if (m_DestFormat & 0x0400) {
+  } else if (GetBppFromFormat(m_DestFormat) == 8) {
+    if (GetIsCmykFromFormat(m_DestFormat)) {
       for (int i = 0; i < width; ++i) {
         *dest_scan = ~*dest_scan;
         dest_scan++;
@@ -3072,7 +3073,7 @@
                               clip_scan);
       }
     }
-    if (m_DestFormat & 0x0400) {
+    if (GetIsCmykFromFormat(m_DestFormat)) {
       for (int i = 0; i < width; ++i) {
         *dest_scan = ~*dest_scan;
         dest_scan++;
@@ -3175,7 +3176,7 @@
     CompositeRow_Rgb2Mask(dest_scan, src_scan, width, clip_scan);
     return;
   }
-  if ((m_DestFormat & 0xff) == 8) {
+  if (GetBppFromFormat(m_DestFormat) == 8) {
     if (m_iTransparency & 8) {
       if (GetIsAlphaFromFormat(m_DestFormat)) {
         CompositeRow_1bppPal2Graya(
@@ -3244,7 +3245,7 @@
   if (m_DestFormat == FXDIB_8bppMask) {
     CompositeRow_ByteMask2Mask(dest_scan, src_scan, m_MaskAlpha, width,
                                clip_scan);
-  } else if ((m_DestFormat & 0xff) == 8) {
+  } else if (GetBppFromFormat(m_DestFormat) == 8) {
     if (GetIsAlphaFromFormat(m_DestFormat)) {
       CompositeRow_ByteMask2Graya(dest_scan, src_scan, m_MaskAlpha, m_MaskRed,
                                   width, clip_scan, dst_extra_alpha);
@@ -3286,7 +3287,7 @@
   if (m_DestFormat == FXDIB_8bppMask) {
     CompositeRow_BitMask2Mask(dest_scan, src_scan, m_MaskAlpha, src_left, width,
                               clip_scan);
-  } else if ((m_DestFormat & 0xff) == 8) {
+  } else if (GetBppFromFormat(m_DestFormat) == 8) {
     if (GetIsAlphaFromFormat(m_DestFormat)) {
       CompositeRow_BitMask2Graya(dest_scan, src_scan, m_MaskAlpha, m_MaskRed,
                                  src_left, width, clip_scan, dst_extra_alpha);
diff --git a/core/fxge/fx_dib.h b/core/fxge/fx_dib.h
index 23dd468..9067824 100644
--- a/core/fxge/fx_dib.h
+++ b/core/fxge/fx_dib.h
@@ -123,6 +123,10 @@
   return format & 0x200;
 }
 
+inline bool GetIsCmykFromFormat(FXDIB_Format format) {
+  return format & 0x400;
+}
+
 inline FX_CMYK CmykEncode(int c, int m, int y, int k) {
   return (c << 24) | (m << 16) | (y << 8) | k;
 }