Make BC_TYPE an enum class

-- rewrite some strange expressions using questionmarks and commas.

Change-Id: If54d0896a2a3bf73260892e29fee2ea56b27e302
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/84355
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Reviewed-by: Hui Yingst <nigi@chromium.org>
diff --git a/fxbarcode/BC_Library.h b/fxbarcode/BC_Library.h
index 3bb2a2e..6b0ea7f 100644
--- a/fxbarcode/BC_Library.h
+++ b/fxbarcode/BC_Library.h
@@ -22,20 +22,20 @@
   kUnicode,
 };
 
-enum BC_TYPE : int8_t {
-  BC_UNKNOWN = -1,
-  BC_CODE39 = 0,
-  BC_CODABAR,
-  BC_CODE128,
-  BC_CODE128_B,
-  BC_CODE128_C,
-  BC_EAN8,
-  BC_UPCA,
-  BC_EAN13,
-  BC_QR_CODE,
-  BC_PDF417,
-  BC_DATAMATRIX,
-  BC_LAST = BC_DATAMATRIX
+enum class BC_TYPE : int8_t {
+  kUnknown = -1,
+  kCode39 = 0,
+  kCodabar,
+  kCode128,
+  kCode128B,
+  kCode128C,
+  kEAN8,
+  kUPCA,
+  kEAN13,
+  kQRCode,
+  kPDF417,
+  kDataMatrix,
+  kLast = kDataMatrix
 };
 
 void BC_Library_Init();
diff --git a/fxbarcode/cbc_codabar.cpp b/fxbarcode/cbc_codabar.cpp
index 94ded75..21c14bb 100644
--- a/fxbarcode/cbc_codabar.cpp
+++ b/fxbarcode/cbc_codabar.cpp
@@ -37,7 +37,7 @@
   if (!pWriter->CheckContentValidity(contents))
     return false;
 
-  BC_TYPE format = BC_CODABAR;
+  BC_TYPE format = BC_TYPE::kCodabar;
   int32_t outWidth = 0;
   int32_t outHeight = 0;
   m_renderContents = pWriter->FilterContents(contents);
@@ -57,7 +57,7 @@
 }
 
 BC_TYPE CBC_Codabar::GetType() {
-  return BC_CODABAR;
+  return BC_TYPE::kCodabar;
 }
 
 CBC_OnedCodaBarWriter* CBC_Codabar::GetOnedCodaBarWriter() {
diff --git a/fxbarcode/cbc_code128.cpp b/fxbarcode/cbc_code128.cpp
index 9f4f6da..2f337f9 100644
--- a/fxbarcode/cbc_code128.cpp
+++ b/fxbarcode/cbc_code128.cpp
@@ -37,11 +37,11 @@
   if (!pWriter->CheckContentValidity(contents))
     return false;
 
-  BC_TYPE format = BC_CODE128;
+  BC_TYPE format = BC_TYPE::kCode128;
   int32_t outWidth = 0;
   int32_t outHeight = 0;
   WideString content(contents);
-  if (contents.GetLength() % 2 && pWriter->GetType() == BC_CODE128_C)
+  if (contents.GetLength() % 2 && pWriter->GetType() == BC_TYPE::kCode128C)
     content += '0';
 
   m_renderContents = pWriter->FilterContents(content.AsStringView());
@@ -59,7 +59,7 @@
 }
 
 BC_TYPE CBC_Code128::GetType() {
-  return BC_CODE128;
+  return BC_TYPE::kCode128;
 }
 
 CBC_OnedCode128Writer* CBC_Code128::GetOnedCode128Writer() {
diff --git a/fxbarcode/cbc_code39.cpp b/fxbarcode/cbc_code39.cpp
index 2f65818..cddff90 100644
--- a/fxbarcode/cbc_code39.cpp
+++ b/fxbarcode/cbc_code39.cpp
@@ -37,7 +37,7 @@
   if (!pWriter->CheckContentValidity(contents))
     return false;
 
-  BC_TYPE format = BC_CODE39;
+  BC_TYPE format = BC_TYPE::kCode39;
   int32_t outWidth = 0;
   int32_t outHeight = 0;
   WideString filtercontents = pWriter->FilterContents(contents);
@@ -59,7 +59,7 @@
 }
 
 BC_TYPE CBC_Code39::GetType() {
-  return BC_CODE39;
+  return BC_TYPE::kCode39;
 }
 
 CBC_OnedCode39Writer* CBC_Code39::GetOnedCode39Writer() {
diff --git a/fxbarcode/cbc_datamatrix.cpp b/fxbarcode/cbc_datamatrix.cpp
index 43edb5a..5a2365e 100644
--- a/fxbarcode/cbc_datamatrix.cpp
+++ b/fxbarcode/cbc_datamatrix.cpp
@@ -49,7 +49,7 @@
 }
 
 BC_TYPE CBC_DataMatrix::GetType() {
-  return BC_DATAMATRIX;
+  return BC_TYPE::kDataMatrix;
 }
 
 CBC_DataMatrixWriter* CBC_DataMatrix::GetDataMatrixWriter() {
diff --git a/fxbarcode/cbc_ean13.cpp b/fxbarcode/cbc_ean13.cpp
index a3e2abe..0b9e44d 100644
--- a/fxbarcode/cbc_ean13.cpp
+++ b/fxbarcode/cbc_ean13.cpp
@@ -30,7 +30,7 @@
 CBC_EAN13::~CBC_EAN13() = default;
 
 BC_TYPE CBC_EAN13::GetType() {
-  return BC_EAN13;
+  return BC_TYPE::kEAN13;
 }
 
 size_t CBC_EAN13::GetMaxLength() const {
diff --git a/fxbarcode/cbc_ean8.cpp b/fxbarcode/cbc_ean8.cpp
index 185d7ab..c612f95 100644
--- a/fxbarcode/cbc_ean8.cpp
+++ b/fxbarcode/cbc_ean8.cpp
@@ -30,7 +30,7 @@
 CBC_EAN8::~CBC_EAN8() = default;
 
 BC_TYPE CBC_EAN8::GetType() {
-  return BC_EAN8;
+  return BC_TYPE::kEAN8;
 }
 
 size_t CBC_EAN8::GetMaxLength() const {
diff --git a/fxbarcode/cbc_pdf417i.cpp b/fxbarcode/cbc_pdf417i.cpp
index fe64cea..510d504 100644
--- a/fxbarcode/cbc_pdf417i.cpp
+++ b/fxbarcode/cbc_pdf417i.cpp
@@ -59,7 +59,7 @@
 }
 
 BC_TYPE CBC_PDF417I::GetType() {
-  return BC_PDF417;
+  return BC_TYPE::kPDF417;
 }
 
 CBC_PDF417Writer* CBC_PDF417I::GetPDF417Writer() {
diff --git a/fxbarcode/cbc_qrcode.cpp b/fxbarcode/cbc_qrcode.cpp
index 9d599dc..2544718 100644
--- a/fxbarcode/cbc_qrcode.cpp
+++ b/fxbarcode/cbc_qrcode.cpp
@@ -47,7 +47,7 @@
 }
 
 BC_TYPE CBC_QRCode::GetType() {
-  return BC_QR_CODE;
+  return BC_TYPE::kQRCode;
 }
 
 CBC_QRCodeWriter* CBC_QRCode::GetQRCodeWriter() {
diff --git a/fxbarcode/cbc_upca.cpp b/fxbarcode/cbc_upca.cpp
index 072ed00..a54c958 100644
--- a/fxbarcode/cbc_upca.cpp
+++ b/fxbarcode/cbc_upca.cpp
@@ -30,7 +30,7 @@
 CBC_UPCA::~CBC_UPCA() = default;
 
 BC_TYPE CBC_UPCA::GetType() {
-  return BC_UPCA;
+  return BC_TYPE::kUPCA;
 }
 
 size_t CBC_UPCA::GetMaxLength() const {
diff --git a/fxbarcode/cfx_barcode.cpp b/fxbarcode/cfx_barcode.cpp
index 692323e..fad154e 100644
--- a/fxbarcode/cfx_barcode.cpp
+++ b/fxbarcode/cfx_barcode.cpp
@@ -24,30 +24,29 @@
 
 std::unique_ptr<CBC_CodeBase> CreateBarCodeEngineObject(BC_TYPE type) {
   switch (type) {
-    case BC_CODE39:
+    case BC_TYPE::kCode39:
       return std::make_unique<CBC_Code39>();
-    case BC_CODABAR:
+    case BC_TYPE::kCodabar:
       return std::make_unique<CBC_Codabar>();
-    case BC_CODE128:
-      return std::make_unique<CBC_Code128>(BC_CODE128_B);
-    case BC_CODE128_B:
-      return std::make_unique<CBC_Code128>(BC_CODE128_B);
-    case BC_CODE128_C:
-      return std::make_unique<CBC_Code128>(BC_CODE128_C);
-    case BC_EAN8:
+    case BC_TYPE::kCode128:
+      return std::make_unique<CBC_Code128>(BC_TYPE::kCode128B);
+    case BC_TYPE::kCode128B:
+      return std::make_unique<CBC_Code128>(BC_TYPE::kCode128B);
+    case BC_TYPE::kCode128C:
+      return std::make_unique<CBC_Code128>(BC_TYPE::kCode128C);
+    case BC_TYPE::kEAN8:
       return std::make_unique<CBC_EAN8>();
-    case BC_UPCA:
+    case BC_TYPE::kUPCA:
       return std::make_unique<CBC_UPCA>();
-    case BC_EAN13:
+    case BC_TYPE::kEAN13:
       return std::make_unique<CBC_EAN13>();
-    case BC_QR_CODE:
+    case BC_TYPE::kQRCode:
       return std::make_unique<CBC_QRCode>();
-    case BC_PDF417:
+    case BC_TYPE::kPDF417:
       return std::make_unique<CBC_PDF417I>();
-    case BC_DATAMATRIX:
+    case BC_TYPE::kDataMatrix:
       return std::make_unique<CBC_DataMatrix>();
-    case BC_UNKNOWN:
-    default:
+    case BC_TYPE::kUnknown:
       return nullptr;
   }
 }
@@ -65,7 +64,7 @@
 }
 
 BC_TYPE CFX_Barcode::GetType() {
-  return m_pBCEngine ? m_pBCEngine->GetType() : BC_UNKNOWN;
+  return m_pBCEngine ? m_pBCEngine->GetType() : BC_TYPE::kUnknown;
 }
 
 bool CFX_Barcode::SetCharEncoding(BC_CHAR_ENCODING encoding) {
@@ -89,113 +88,119 @@
 }
 
 bool CFX_Barcode::SetPrintChecksum(bool checksum) {
+  if (!m_pBCEngine)
+    return false;
+
   switch (GetType()) {
-    case BC_CODE39:
-    case BC_CODABAR:
-    case BC_CODE128:
-    case BC_CODE128_B:
-    case BC_CODE128_C:
-    case BC_EAN8:
-    case BC_EAN13:
-    case BC_UPCA:
-      return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get())
-                                ->SetPrintChecksum(checksum),
-                            true)
-                         : false;
+    case BC_TYPE::kCode39:
+    case BC_TYPE::kCodabar:
+    case BC_TYPE::kCode128:
+    case BC_TYPE::kCode128B:
+    case BC_TYPE::kCode128C:
+    case BC_TYPE::kEAN8:
+    case BC_TYPE::kEAN13:
+    case BC_TYPE::kUPCA:
+      static_cast<CBC_OneCode*>(m_pBCEngine.get())->SetPrintChecksum(checksum);
+      return true;
     default:
       return false;
   }
 }
 
 bool CFX_Barcode::SetDataLength(int32_t length) {
+  if (!m_pBCEngine)
+    return false;
+
   switch (GetType()) {
-    case BC_CODE39:
-    case BC_CODABAR:
-    case BC_CODE128:
-    case BC_CODE128_B:
-    case BC_CODE128_C:
-    case BC_EAN8:
-    case BC_EAN13:
-    case BC_UPCA:
-      return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get())
-                                ->SetDataLength(length),
-                            true)
-                         : false;
+    case BC_TYPE::kCode39:
+    case BC_TYPE::kCodabar:
+    case BC_TYPE::kCode128:
+    case BC_TYPE::kCode128B:
+    case BC_TYPE::kCode128C:
+    case BC_TYPE::kEAN8:
+    case BC_TYPE::kEAN13:
+    case BC_TYPE::kUPCA:
+      static_cast<CBC_OneCode*>(m_pBCEngine.get())->SetDataLength(length);
+      return true;
     default:
       return false;
   }
 }
 
 bool CFX_Barcode::SetCalChecksum(bool state) {
+  if (!m_pBCEngine)
+    return false;
+
   switch (GetType()) {
-    case BC_CODE39:
-    case BC_CODABAR:
-    case BC_CODE128:
-    case BC_CODE128_B:
-    case BC_CODE128_C:
-    case BC_EAN8:
-    case BC_EAN13:
-    case BC_UPCA:
-      return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get())
-                                ->SetCalChecksum(state),
-                            true)
-                         : false;
+    case BC_TYPE::kCode39:
+    case BC_TYPE::kCodabar:
+    case BC_TYPE::kCode128:
+    case BC_TYPE::kCode128B:
+    case BC_TYPE::kCode128C:
+    case BC_TYPE::kEAN8:
+    case BC_TYPE::kEAN13:
+    case BC_TYPE::kUPCA:
+      static_cast<CBC_OneCode*>(m_pBCEngine.get())->SetCalChecksum(state);
+      return true;
     default:
       return false;
   }
 }
 
 bool CFX_Barcode::SetFont(CFX_Font* pFont) {
+  if (!m_pBCEngine)
+    return false;
+
   switch (GetType()) {
-    case BC_CODE39:
-    case BC_CODABAR:
-    case BC_CODE128:
-    case BC_CODE128_B:
-    case BC_CODE128_C:
-    case BC_EAN8:
-    case BC_EAN13:
-    case BC_UPCA:
-      return m_pBCEngine
-                 ? static_cast<CBC_OneCode*>(m_pBCEngine.get())->SetFont(pFont)
-                 : false;
+    case BC_TYPE::kCode39:
+    case BC_TYPE::kCodabar:
+    case BC_TYPE::kCode128:
+    case BC_TYPE::kCode128B:
+    case BC_TYPE::kCode128C:
+    case BC_TYPE::kEAN8:
+    case BC_TYPE::kEAN13:
+    case BC_TYPE::kUPCA:
+      return static_cast<CBC_OneCode*>(m_pBCEngine.get())->SetFont(pFont);
     default:
       return false;
   }
 }
 
 bool CFX_Barcode::SetFontSize(float size) {
+  if (!m_pBCEngine)
+    return false;
+
   switch (GetType()) {
-    case BC_CODE39:
-    case BC_CODABAR:
-    case BC_CODE128:
-    case BC_CODE128_B:
-    case BC_CODE128_C:
-    case BC_EAN8:
-    case BC_EAN13:
-    case BC_UPCA:
-      return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get())
-                                ->SetFontSize(size),
-                            true)
-                         : false;
+    case BC_TYPE::kCode39:
+    case BC_TYPE::kCodabar:
+    case BC_TYPE::kCode128:
+    case BC_TYPE::kCode128B:
+    case BC_TYPE::kCode128C:
+    case BC_TYPE::kEAN8:
+    case BC_TYPE::kEAN13:
+    case BC_TYPE::kUPCA:
+      static_cast<CBC_OneCode*>(m_pBCEngine.get())->SetFontSize(size);
+      return true;
     default:
       return false;
   }
 }
 
 bool CFX_Barcode::SetFontColor(FX_ARGB color) {
+  if (!m_pBCEngine)
+    return false;
+
   switch (GetType()) {
-    case BC_CODE39:
-    case BC_CODABAR:
-    case BC_CODE128:
-    case BC_CODE128_B:
-    case BC_CODE128_C:
-    case BC_EAN8:
-    case BC_EAN13:
-    case BC_UPCA:
-      return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get())
-                                ->SetFontColor(color),
-                            true)
-                         : false;
+    case BC_TYPE::kCode39:
+    case BC_TYPE::kCodabar:
+    case BC_TYPE::kCode128:
+    case BC_TYPE::kCode128B:
+    case BC_TYPE::kCode128C:
+    case BC_TYPE::kEAN8:
+    case BC_TYPE::kEAN13:
+    case BC_TYPE::kUPCA:
+      static_cast<CBC_OneCode*>(m_pBCEngine.get())->SetFontColor(color);
+      return true;
     default:
       return false;
   }
diff --git a/fxbarcode/cfx_barcode_unittest.cpp b/fxbarcode/cfx_barcode_unittest.cpp
index 4bccedb..3e4145b 100644
--- a/fxbarcode/cfx_barcode_unittest.cpp
+++ b/fxbarcode/cfx_barcode_unittest.cpp
@@ -72,7 +72,7 @@
 #define MAYBE_Code39 Code39
 #endif
 TEST_F(BarcodeTest, MAYBE_Code39) {
-  Create(BC_CODE39);
+  Create(BC_TYPE::kCode39);
   EXPECT_TRUE(barcode()->Encode(L"CLAMS"));
   RenderDevice();
   EXPECT_EQ("cd4cd3f36da38ff58d9f621827018903", BitmapChecksum());
@@ -85,14 +85,14 @@
 #define MAYBE_CodaBar CodaBar
 #endif
 TEST_F(BarcodeTest, MAYBE_CodaBar) {
-  Create(BC_CODABAR);
+  Create(BC_TYPE::kCodabar);
   EXPECT_TRUE(barcode()->Encode(L"$123-456"));
   RenderDevice();
   EXPECT_EQ("5fad4fc19f099001a0fe83c89430c977", BitmapChecksum());
 }
 
 TEST_F(BarcodeTest, CodaBarLetters) {
-  Create(BC_CODABAR);
+  Create(BC_TYPE::kCodabar);
   EXPECT_FALSE(barcode()->Encode(L"clams"));
 }
 
@@ -103,7 +103,7 @@
 #define MAYBE_Code128 Code128
 #endif
 TEST_F(BarcodeTest, MAYBE_Code128) {
-  Create(BC_CODE128);
+  Create(BC_TYPE::kCode128);
   EXPECT_TRUE(barcode()->Encode(L"Clams"));
   RenderDevice();
   EXPECT_EQ("6351f0f6e997050e4658bbb4777aef74", BitmapChecksum());
@@ -116,7 +116,7 @@
 #define MAYBE_Code128B Code128B
 #endif
 TEST_F(BarcodeTest, MAYBE_Code128B) {
-  Create(BC_CODE128_B);
+  Create(BC_TYPE::kCode128B);
   EXPECT_TRUE(barcode()->Encode(L"Clams"));
   RenderDevice();
   EXPECT_EQ("6351f0f6e997050e4658bbb4777aef74", BitmapChecksum());
@@ -129,7 +129,7 @@
 #define MAYBE_Code128C Code128C
 #endif
 TEST_F(BarcodeTest, MAYBE_Code128C) {
-  Create(BC_CODE128_C);
+  Create(BC_TYPE::kCode128C);
   EXPECT_TRUE(barcode()->Encode(L"123456"));
   RenderDevice();
   EXPECT_EQ("fba730a807ba6363f9bd2bc7f8c56d1f", BitmapChecksum());
@@ -142,7 +142,7 @@
 #define MAYBE_Code128CLetters Code128CLetters
 #endif
 TEST_F(BarcodeTest, MAYBE_Code128CLetters) {
-  Create(BC_CODE128_C);
+  Create(BC_TYPE::kCode128C);
   EXPECT_TRUE(barcode()->Encode(L"clams"));
   RenderDevice();
   EXPECT_EQ("6284ec8503d5a948c9518108da33cdd3", BitmapChecksum());
@@ -155,14 +155,14 @@
 #define MAYBE_Ean8 Ean8
 #endif
 TEST_F(BarcodeTest, MAYBE_Ean8) {
-  Create(BC_EAN8);
+  Create(BC_TYPE::kEAN8);
   EXPECT_TRUE(barcode()->Encode(L"123456"));
   RenderDevice();
   EXPECT_EQ("aff88491ac46ca6217d780d185300cde", BitmapChecksum());
 }
 
 TEST_F(BarcodeTest, Ean8Letters) {
-  Create(BC_EAN8);
+  Create(BC_TYPE::kEAN8);
   EXPECT_FALSE(barcode()->Encode(L"clams"));
 }
 
@@ -173,14 +173,14 @@
 #define MAYBE_UPCA UPCA
 #endif
 TEST_F(BarcodeTest, MAYBE_UPCA) {
-  Create(BC_UPCA);
+  Create(BC_TYPE::kUPCA);
   EXPECT_TRUE(barcode()->Encode(L"123456"));
   RenderDevice();
   EXPECT_EQ("fe26a5714cff7ffe3f9b02183efc435b", BitmapChecksum());
 }
 
 TEST_F(BarcodeTest, UPCALetters) {
-  Create(BC_UPCA);
+  Create(BC_TYPE::kUPCA);
   EXPECT_FALSE(barcode()->Encode(L"clams"));
 }
 
@@ -191,14 +191,14 @@
 #define MAYBE_Ean13 Ean13
 #endif
 TEST_F(BarcodeTest, MAYBE_Ean13) {
-  Create(BC_EAN13);
+  Create(BC_TYPE::kEAN13);
   EXPECT_TRUE(barcode()->Encode(L"123456"));
   RenderDevice();
   EXPECT_EQ("72d2190b98d635c32834bf67552e561e", BitmapChecksum());
 }
 
 TEST_F(BarcodeTest, Ean13Letters) {
-  Create(BC_EAN13);
+  Create(BC_TYPE::kEAN13);
   EXPECT_FALSE(barcode()->Encode(L"clams"));
 }
 
@@ -209,7 +209,7 @@
 #define MAYBE_Pdf417 Pdf417
 #endif
 TEST_F(BarcodeTest, MAYBE_Pdf417) {
-  Create(BC_PDF417);
+  Create(BC_TYPE::kPDF417);
   EXPECT_TRUE(barcode()->Encode(L"clams"));
   RenderDevice();
   EXPECT_EQ("191e35d11613901b7d5d51033689aa89", BitmapChecksum());
@@ -222,7 +222,7 @@
 #define MAYBE_DataMatrix DataMatrix
 #endif
 TEST_F(BarcodeTest, MAYBE_DataMatrix) {
-  Create(BC_DATAMATRIX);
+  Create(BC_TYPE::kDataMatrix);
   EXPECT_TRUE(barcode()->Encode(L"clams"));
   RenderDevice();
   EXPECT_EQ("5e5cd9a680b86fcd4ffd53ed36e3c980", BitmapChecksum());
@@ -235,7 +235,7 @@
 #define MAYBE_QrCode QrCode
 #endif
 TEST_F(BarcodeTest, MAYBE_QrCode) {
-  Create(BC_QR_CODE);
+  Create(BC_TYPE::kQRCode);
   EXPECT_TRUE(barcode()->Encode(L"clams"));
   RenderDevice();
   EXPECT_EQ("4751c6e0f67749fabe24f787128decee", BitmapChecksum());
diff --git a/fxbarcode/oned/BC_OnedCodaBarWriter.cpp b/fxbarcode/oned/BC_OnedCodaBarWriter.cpp
index d74e18a..922e488 100644
--- a/fxbarcode/oned/BC_OnedCodaBarWriter.cpp
+++ b/fxbarcode/oned/BC_OnedCodaBarWriter.cpp
@@ -125,8 +125,9 @@
                                                int32_t& outWidth,
                                                int32_t& outHeight,
                                                int32_t hints) {
-  if (format != BC_CODABAR)
+  if (format != BC_TYPE::kCodabar)
     return nullptr;
+
   return CBC_OneDimWriter::EncodeWithHint(contents, format, outWidth, outHeight,
                                           hints);
 }
diff --git a/fxbarcode/oned/BC_OnedCodaBarWriter_unittest.cpp b/fxbarcode/oned/BC_OnedCodaBarWriter_unittest.cpp
index fc53b62..0905c9a 100644
--- a/fxbarcode/oned/BC_OnedCodaBarWriter_unittest.cpp
+++ b/fxbarcode/oned/BC_OnedCodaBarWriter_unittest.cpp
@@ -23,7 +23,7 @@
   int32_t width;
   int32_t height;
 
-  uint8_t* encoded = writer.Encode("", BC_CODABAR, width, height);
+  uint8_t* encoded = writer.Encode("", BC_TYPE::kCodabar, width, height);
   EXPECT_EQ(1, height);
   EXPECT_EQ(kModulesForDelimiters, width);
   const char* expected =
@@ -34,7 +34,7 @@
   }
   FX_Free(encoded);
 
-  encoded = writer.Encode("123", BC_CODABAR, width, height);
+  encoded = writer.Encode("123", BC_TYPE::kCodabar, width, height);
   EXPECT_EQ(1, height);
   EXPECT_EQ(kModulesForDelimiters + 3 * kModulesPerNumber, width);
   expected =
@@ -48,7 +48,7 @@
   }
   FX_Free(encoded);
 
-  encoded = writer.Encode("-$./:+", BC_CODABAR, width, height);
+  encoded = writer.Encode("-$./:+", BC_TYPE::kCodabar, width, height);
   EXPECT_EQ(1, height);
   EXPECT_EQ(kModulesForDelimiters + 2 * kModulesPerNumber +
                 4 * kModulesPerPunctuation,
@@ -67,7 +67,8 @@
   }
   FX_Free(encoded);
 
-  encoded = writer.Encode("456.987987987/001", BC_CODABAR, width, height);
+  encoded =
+      writer.Encode("456.987987987/001", BC_TYPE::kCodabar, width, height);
   EXPECT_EQ(1, height);
   EXPECT_EQ(kModulesForDelimiters + 15 * kModulesPerNumber +
                 2 * kModulesPerPunctuation,
@@ -132,7 +133,7 @@
   writer.SetStartChar('N');
   writer.SetEndChar('*');
 
-  uint8_t* encoded = writer.Encode("987", BC_CODABAR, width, height);
+  uint8_t* encoded = writer.Encode("987", BC_TYPE::kCodabar, width, height);
   EXPECT_EQ(1, height);
   EXPECT_EQ(kModulesForDelimiters + 3 * kModulesPerNumber, width);
   const char* expected =
diff --git a/fxbarcode/oned/BC_OnedCode128Writer.cpp b/fxbarcode/oned/BC_OnedCode128Writer.cpp
index d9552e3..27bdeaf 100644
--- a/fxbarcode/oned/BC_OnedCode128Writer.cpp
+++ b/fxbarcode/oned/BC_OnedCode128Writer.cpp
@@ -86,7 +86,8 @@
 
 CBC_OnedCode128Writer::CBC_OnedCode128Writer(BC_TYPE type)
     : m_codeFormat(type) {
-  DCHECK(m_codeFormat == BC_CODE128_B || m_codeFormat == BC_CODE128_C);
+  DCHECK(m_codeFormat == BC_TYPE::kCode128B ||
+         m_codeFormat == BC_TYPE::kCode128C);
 }
 
 CBC_OnedCode128Writer::~CBC_OnedCode128Writer() = default;
@@ -97,7 +98,7 @@
 }
 
 WideString CBC_OnedCode128Writer::FilterContents(WideStringView contents) {
-  const wchar_t limit = m_codeFormat == BC_CODE128_B ? 126 : 106;
+  const wchar_t limit = m_codeFormat == BC_TYPE::kCode128B ? 126 : 106;
 
   WideString filtered;
   filtered.Reserve(contents.GetLength());
@@ -122,8 +123,9 @@
                                                int32_t& outWidth,
                                                int32_t& outHeight,
                                                int32_t hints) {
-  if (format != BC_CODE128)
+  if (format != BC_TYPE::kCode128)
     return nullptr;
+
   return CBC_OneDimWriter::EncodeWithHint(contents, format, outWidth, outHeight,
                                           hints);
 }
@@ -135,7 +137,7 @@
 
   std::vector<int32_t> patterns;
   int32_t checkSum = 0;
-  if (m_codeFormat == BC_CODE128_B)
+  if (m_codeFormat == BC_TYPE::kCode128B)
     checkSum = Encode128B(contents, &patterns);
   else
     checkSum = Encode128C(contents, &patterns);
diff --git a/fxbarcode/oned/BC_OnedCode128Writer_unittest.cpp b/fxbarcode/oned/BC_OnedCode128Writer_unittest.cpp
index c39bf28..380c73b 100644
--- a/fxbarcode/oned/BC_OnedCode128Writer_unittest.cpp
+++ b/fxbarcode/oned/BC_OnedCode128Writer_unittest.cpp
@@ -84,7 +84,7 @@
 
 TEST(OnedCode128WriterTest, CheckContentValidity) {
   {
-    CBC_OnedCode128Writer writer(BC_CODE128_B);
+    CBC_OnedCode128Writer writer(BC_TYPE::kCode128B);
     EXPECT_TRUE(writer.CheckContentValidity(L"foo"));
     EXPECT_TRUE(writer.CheckContentValidity(L"xyz"));
     EXPECT_FALSE(writer.CheckContentValidity(L""));
@@ -94,7 +94,7 @@
     EXPECT_FALSE(writer.CheckContentValidity(L"qux\x88"));
   }
   {
-    CBC_OnedCode128Writer writer(BC_CODE128_C);
+    CBC_OnedCode128Writer writer(BC_TYPE::kCode128C);
     EXPECT_TRUE(writer.CheckContentValidity(L"foo"));
     EXPECT_TRUE(writer.CheckContentValidity(L"xyz"));
     EXPECT_FALSE(writer.CheckContentValidity(L""));
@@ -107,7 +107,7 @@
 
 TEST(OnedCode128WriterTest, FilterContents) {
   {
-    CBC_OnedCode128Writer writer(BC_CODE128_B);
+    CBC_OnedCode128Writer writer(BC_TYPE::kCode128B);
     EXPECT_STREQ(L"", writer.FilterContents(L"").c_str());
     EXPECT_STREQ(L"foo", writer.FilterContents(L"foo\x10").c_str());
     EXPECT_STREQ(L"fool", writer.FilterContents(L"foo\x10l").c_str());
@@ -116,7 +116,7 @@
     EXPECT_STREQ(L"bar", writer.FilterContents(L"bar\x10\x7F\x88").c_str());
   }
   {
-    CBC_OnedCode128Writer writer(BC_CODE128_C);
+    CBC_OnedCode128Writer writer(BC_TYPE::kCode128C);
     EXPECT_STREQ(L"", writer.FilterContents(L"").c_str());
     EXPECT_STREQ(L"f", writer.FilterContents(L"foo\x10").c_str());
     EXPECT_STREQ(L"f", writer.FilterContents(L"foo\x10l").c_str());
diff --git a/fxbarcode/oned/BC_OnedCode39Writer.cpp b/fxbarcode/oned/BC_OnedCode39Writer.cpp
index 1c435a2..4ca2054 100644
--- a/fxbarcode/oned/BC_OnedCode39Writer.cpp
+++ b/fxbarcode/oned/BC_OnedCode39Writer.cpp
@@ -124,8 +124,9 @@
                                               int32_t& outWidth,
                                               int32_t& outHeight,
                                               int32_t hints) {
-  if (format != BC_CODE39)
+  if (format != BC_TYPE::kCode39)
     return nullptr;
+
   return CBC_OneDimWriter::EncodeWithHint(contents, format, outWidth, outHeight,
                                           hints);
 }
diff --git a/fxbarcode/oned/BC_OnedCode39Writer_unittest.cpp b/fxbarcode/oned/BC_OnedCode39Writer_unittest.cpp
index 9143193..0c65f7e 100644
--- a/fxbarcode/oned/BC_OnedCode39Writer_unittest.cpp
+++ b/fxbarcode/oned/BC_OnedCode39Writer_unittest.cpp
@@ -41,7 +41,7 @@
   uint8_t* encoded;
   const char* expected;
 
-  encoded = writer.Encode("PDFIUM", BC_CODE39, width, height);
+  encoded = writer.Encode("PDFIUM", BC_TYPE::kCode39, width, height);
   expected =
       "#   # ### ### # "  // * Start
       "# ### ### #   # "  // P
@@ -57,7 +57,7 @@
 
   writer.SetWideNarrowRatio(2);
 
-  encoded = writer.Encode("PDFIUM", BC_CODE39, width, height);
+  encoded = writer.Encode("PDFIUM", BC_TYPE::kCode39, width, height);
   expected =
       "#  # ## ## # "  // * Start
       "# ## ## #  # "  // P
@@ -79,7 +79,7 @@
   uint8_t* encoded;
   const char* expected;
 
-  encoded = writer.Encode("", BC_CODE39, width, height);
+  encoded = writer.Encode("", BC_TYPE::kCode39, width, height);
   EXPECT_EQ(1, height);
   EXPECT_EQ((0 + DELIMITER_CHARS) * MODULES_PER_CHAR - 1, width);
   expected =
@@ -89,7 +89,7 @@
     EXPECT_EQ(expected[i] != ' ', !!encoded[i]) << i;
   FX_Free(encoded);
 
-  encoded = writer.Encode("123", BC_CODE39, width, height);
+  encoded = writer.Encode("123", BC_TYPE::kCode39, width, height);
   EXPECT_EQ(1, height);
   EXPECT_EQ((3 + DELIMITER_CHARS) * MODULES_PER_CHAR - 1, width);
   expected =
@@ -102,7 +102,7 @@
     EXPECT_EQ(expected[i] != ' ', !!encoded[i]) << i;
   FX_Free(encoded);
 
-  encoded = writer.Encode("PDFIUM", BC_CODE39, width, height);
+  encoded = writer.Encode("PDFIUM", BC_TYPE::kCode39, width, height);
   EXPECT_EQ(1, height);
   EXPECT_EQ((6 + DELIMITER_CHARS) * MODULES_PER_CHAR - 1, width);
   expected =
@@ -118,7 +118,7 @@
     EXPECT_EQ(expected[i] != ' ', !!encoded[i]) << i;
   FX_Free(encoded);
 
-  encoded = writer.Encode("A -$%./+Z", BC_CODE39, width, height);
+  encoded = writer.Encode("A -$%./+Z", BC_TYPE::kCode39, width, height);
   EXPECT_EQ(1, height);
   EXPECT_EQ((9 + DELIMITER_CHARS) * MODULES_PER_CHAR - 1, width);
   expected =
@@ -147,7 +147,7 @@
 
   writer.SetCalcChecksum(true);
 
-  encoded = writer.Encode("123", BC_CODE39, width, height);
+  encoded = writer.Encode("123", BC_TYPE::kCode39, width, height);
   EXPECT_EQ(1, height);
   EXPECT_EQ((3 + CHECKSUM_CHARS + DELIMITER_CHARS) * MODULES_PER_CHAR - 1,
             width);
@@ -162,7 +162,7 @@
     EXPECT_EQ(expected[i] != ' ', !!encoded[i]) << i;
   FX_Free(encoded);
 
-  encoded = writer.Encode("PDFIUM", BC_CODE39, width, height);
+  encoded = writer.Encode("PDFIUM", BC_TYPE::kCode39, width, height);
   EXPECT_EQ(1, height);
   EXPECT_EQ((6 + CHECKSUM_CHARS + DELIMITER_CHARS) * MODULES_PER_CHAR - 1,
             width);
diff --git a/fxbarcode/oned/BC_OnedEAN13Writer.cpp b/fxbarcode/oned/BC_OnedEAN13Writer.cpp
index 74c314c..39b9971 100644
--- a/fxbarcode/oned/BC_OnedEAN13Writer.cpp
+++ b/fxbarcode/oned/BC_OnedEAN13Writer.cpp
@@ -90,7 +90,7 @@
                                              int32_t& outWidth,
                                              int32_t& outHeight,
                                              int32_t hints) {
-  if (format != BC_EAN13)
+  if (format != BC_TYPE::kEAN13)
     return nullptr;
 
   return CBC_OneDimWriter::EncodeWithHint(contents, format, outWidth, outHeight,
diff --git a/fxbarcode/oned/BC_OnedEAN13Writer_unittest.cpp b/fxbarcode/oned/BC_OnedEAN13Writer_unittest.cpp
index b479897..0f5d10e 100644
--- a/fxbarcode/oned/BC_OnedEAN13Writer_unittest.cpp
+++ b/fxbarcode/oned/BC_OnedEAN13Writer_unittest.cpp
@@ -19,23 +19,23 @@
 
   // EAN-13 barcodes encode 13-digit numbers into 95 modules in a unidimensional
   // disposition.
-  encoded = writer.Encode("", BC_EAN13, width, height);
+  encoded = writer.Encode("", BC_TYPE::kEAN13, width, height);
   EXPECT_EQ(nullptr, encoded);
   FX_Free(encoded);
 
-  encoded = writer.Encode("123", BC_EAN13, width, height);
+  encoded = writer.Encode("123", BC_TYPE::kEAN13, width, height);
   EXPECT_EQ(nullptr, encoded);
   FX_Free(encoded);
 
-  encoded = writer.Encode("123456789012", BC_EAN13, width, height);
+  encoded = writer.Encode("123456789012", BC_TYPE::kEAN13, width, height);
   EXPECT_EQ(nullptr, encoded);
   FX_Free(encoded);
 
-  encoded = writer.Encode("12345678901234", BC_EAN13, width, height);
+  encoded = writer.Encode("12345678901234", BC_TYPE::kEAN13, width, height);
   EXPECT_EQ(nullptr, encoded);
   FX_Free(encoded);
 
-  encoded = writer.Encode("1234567890128", BC_EAN13, width, height);
+  encoded = writer.Encode("1234567890128", BC_TYPE::kEAN13, width, height);
   EXPECT_NE(nullptr, encoded);
   EXPECT_EQ(1, height);
   EXPECT_EQ(95, width);
@@ -62,7 +62,7 @@
   }
   FX_Free(encoded);
 
-  encoded = writer.Encode("7776665554440", BC_EAN13, width, height);
+  encoded = writer.Encode("7776665554440", BC_TYPE::kEAN13, width, height);
   EXPECT_NE(nullptr, encoded);
   EXPECT_EQ(1, height);
   EXPECT_EQ(95, width);
diff --git a/fxbarcode/oned/BC_OnedEAN8Writer.cpp b/fxbarcode/oned/BC_OnedEAN8Writer.cpp
index b5a65ab..3bde116 100644
--- a/fxbarcode/oned/BC_OnedEAN8Writer.cpp
+++ b/fxbarcode/oned/BC_OnedEAN8Writer.cpp
@@ -93,8 +93,9 @@
                                             int32_t& outWidth,
                                             int32_t& outHeight,
                                             int32_t hints) {
-  if (format != BC_EAN8)
+  if (format != BC_TYPE::kEAN8)
     return nullptr;
+
   return CBC_OneDimWriter::EncodeWithHint(contents, format, outWidth, outHeight,
                                           hints);
 }
diff --git a/fxbarcode/oned/BC_OnedEAN8Writer_unittest.cpp b/fxbarcode/oned/BC_OnedEAN8Writer_unittest.cpp
index 7526bb4..0179980 100644
--- a/fxbarcode/oned/BC_OnedEAN8Writer_unittest.cpp
+++ b/fxbarcode/oned/BC_OnedEAN8Writer_unittest.cpp
@@ -19,23 +19,23 @@
 
   // EAN-8 barcodes encode 8-digit numbers into 67 modules in a unidimensional
   // disposition.
-  encoded = writer.Encode("", BC_EAN8, width, height);
+  encoded = writer.Encode("", BC_TYPE::kEAN8, width, height);
   EXPECT_EQ(nullptr, encoded);
   FX_Free(encoded);
 
-  encoded = writer.Encode("123", BC_EAN8, width, height);
+  encoded = writer.Encode("123", BC_TYPE::kEAN8, width, height);
   EXPECT_EQ(nullptr, encoded);
   FX_Free(encoded);
 
-  encoded = writer.Encode("1234567", BC_EAN8, width, height);
+  encoded = writer.Encode("1234567", BC_TYPE::kEAN8, width, height);
   EXPECT_EQ(nullptr, encoded);
   FX_Free(encoded);
 
-  encoded = writer.Encode("123456789", BC_EAN8, width, height);
+  encoded = writer.Encode("123456789", BC_TYPE::kEAN8, width, height);
   EXPECT_EQ(nullptr, encoded);
   FX_Free(encoded);
 
-  encoded = writer.Encode("12345670", BC_EAN8, width, height);
+  encoded = writer.Encode("12345670", BC_TYPE::kEAN8, width, height);
   EXPECT_NE(nullptr, encoded);
   EXPECT_EQ(1, height);
   EXPECT_EQ(67, width);
@@ -57,7 +57,7 @@
   }
   FX_Free(encoded);
 
-  encoded = writer.Encode("99441104", BC_EAN8, width, height);
+  encoded = writer.Encode("99441104", BC_TYPE::kEAN8, width, height);
   EXPECT_NE(nullptr, encoded);
   EXPECT_EQ(1, height);
   EXPECT_EQ(67, width);
diff --git a/fxbarcode/oned/BC_OnedUPCAWriter.cpp b/fxbarcode/oned/BC_OnedUPCAWriter.cpp
index 9d1799c..fd944db 100644
--- a/fxbarcode/oned/BC_OnedUPCAWriter.cpp
+++ b/fxbarcode/oned/BC_OnedUPCAWriter.cpp
@@ -89,12 +89,12 @@
                                             int32_t& outWidth,
                                             int32_t& outHeight,
                                             int32_t hints) {
-  if (format != BC_UPCA)
+  if (format != BC_TYPE::kUPCA)
     return nullptr;
 
   ByteString toEAN13String = '0' + contents;
   m_iDataLenth = 13;
-  return m_subWriter->EncodeWithHint(toEAN13String, BC_EAN13, outWidth,
+  return m_subWriter->EncodeWithHint(toEAN13String, BC_TYPE::kEAN13, outWidth,
                                      outHeight, hints);
 }
 
diff --git a/fxbarcode/oned/BC_OnedUPCAWriter_unittest.cpp b/fxbarcode/oned/BC_OnedUPCAWriter_unittest.cpp
index 16c1f98..988ab59 100644
--- a/fxbarcode/oned/BC_OnedUPCAWriter_unittest.cpp
+++ b/fxbarcode/oned/BC_OnedUPCAWriter_unittest.cpp
@@ -17,23 +17,23 @@
 
   // UPCA barcodes encode 12-digit numbers into 95 modules in a unidimensional
   // disposition.
-  uint8_t* encoded = writer.Encode("", BC_UPCA, width, height);
+  uint8_t* encoded = writer.Encode("", BC_TYPE::kUPCA, width, height);
   EXPECT_EQ(nullptr, encoded);
   FX_Free(encoded);
 
-  encoded = writer.Encode("123", BC_UPCA, width, height);
+  encoded = writer.Encode("123", BC_TYPE::kUPCA, width, height);
   EXPECT_EQ(nullptr, encoded);
   FX_Free(encoded);
 
-  encoded = writer.Encode("12345678901", BC_UPCA, width, height);
+  encoded = writer.Encode("12345678901", BC_TYPE::kUPCA, width, height);
   EXPECT_EQ(nullptr, encoded);
   FX_Free(encoded);
 
-  encoded = writer.Encode("1234567890123", BC_UPCA, width, height);
+  encoded = writer.Encode("1234567890123", BC_TYPE::kUPCA, width, height);
   EXPECT_EQ(nullptr, encoded);
   FX_Free(encoded);
 
-  encoded = writer.Encode("123456789012", BC_UPCA, width, height);
+  encoded = writer.Encode("123456789012", BC_TYPE::kUPCA, width, height);
   const char* expected =
       "# #"      // Start
       "  ##  #"  // 1 L
@@ -58,7 +58,7 @@
   }
   FX_Free(encoded);
 
-  encoded = writer.Encode("777666555440", BC_UPCA, width, height);
+  encoded = writer.Encode("777666555440", BC_TYPE::kUPCA, width, height);
   expected =
       "# #"      // Start
       " ### ##"  // 7 L