Bring CmykEncode() into conformance with ArgbEncode()

-- mark as constexpr.
-- use unsigned shifts to avoid undefined behavior.

Change-Id: I36584e7461689c29e31ae27002b452974b79e8c3
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/75812
Reviewed-by: Daniel Hosseinian <dhoss@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/core/fxge/dib/fx_dib.h b/core/fxge/dib/fx_dib.h
index a167214..78a0c4a 100644
--- a/core/fxge/dib/fx_dib.h
+++ b/core/fxge/dib/fx_dib.h
@@ -7,6 +7,8 @@
 #ifndef CORE_FXGE_DIB_FX_DIB_H_
 #define CORE_FXGE_DIB_FX_DIB_H_
 
+#include <stdint.h>
+
 #include <tuple>
 #include <utility>
 
@@ -109,7 +111,7 @@
 
 FXDIB_Format MakeRGBFormat(int bpp);
 
-inline FX_CMYK CmykEncode(int c, int m, int y, int k) {
+constexpr FX_CMYK CmykEncode(uint32_t c, uint32_t m, uint32_t y, uint32_t k) {
   return (c << 24) | (m << 16) | (y << 8) | k;
 }