Reduce layers of wrapper functions in CBC_OneDimWriter::Encode().
- Get rid of EncodeWithHint(): the hint is always 0.
- Get rid of the format parameter. The encoder classes already know what
what format they support.
- Get rid of EncodeImpl(): Just make Encode() pure virtual instead.
Change-Id: Ic2d493a55b1903f1e86a1ba4ea8499dc126ffb9f
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/100833
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fxbarcode/cbc_codabar.cpp b/fxbarcode/cbc_codabar.cpp
index beb126f..babb40e 100644
--- a/fxbarcode/cbc_codabar.cpp
+++ b/fxbarcode/cbc_codabar.cpp
@@ -37,12 +37,11 @@
if (!pWriter->CheckContentValidity(contents))
return false;
- BC_TYPE format = BC_TYPE::kCodabar;
int32_t outWidth = 0;
m_renderContents = pWriter->FilterContents(contents);
ByteString byteString = m_renderContents.ToUTF8();
std::unique_ptr<uint8_t, FxFreeDeleter> data(
- pWriter->Encode(byteString, format, outWidth));
+ pWriter->Encode(byteString, outWidth));
return data && pWriter->RenderResult(m_renderContents.AsStringView(),
data.get(), outWidth);
}
diff --git a/fxbarcode/cbc_code128.cpp b/fxbarcode/cbc_code128.cpp
index f84ee82..c4ddb9a 100644
--- a/fxbarcode/cbc_code128.cpp
+++ b/fxbarcode/cbc_code128.cpp
@@ -37,7 +37,6 @@
if (!pWriter->CheckContentValidity(contents))
return false;
- BC_TYPE format = BC_TYPE::kCode128;
int32_t outWidth = 0;
WideString content(contents);
if (contents.GetLength() % 2 && pWriter->GetType() == BC_TYPE::kCode128C)
@@ -46,7 +45,7 @@
m_renderContents = pWriter->FilterContents(content.AsStringView());
ByteString byteString = m_renderContents.ToUTF8();
std::unique_ptr<uint8_t, FxFreeDeleter> data(
- pWriter->Encode(byteString, format, outWidth));
+ pWriter->Encode(byteString, outWidth));
return data && pWriter->RenderResult(m_renderContents.AsStringView(),
data.get(), outWidth);
}
diff --git a/fxbarcode/cbc_code39.cpp b/fxbarcode/cbc_code39.cpp
index 7939404..72a1985 100644
--- a/fxbarcode/cbc_code39.cpp
+++ b/fxbarcode/cbc_code39.cpp
@@ -37,13 +37,12 @@
if (!pWriter->CheckContentValidity(contents))
return false;
- BC_TYPE format = BC_TYPE::kCode39;
int32_t outWidth = 0;
WideString filtercontents = pWriter->FilterContents(contents);
m_renderContents = pWriter->RenderTextContents(contents);
ByteString byteString = filtercontents.ToUTF8();
std::unique_ptr<uint8_t, FxFreeDeleter> data(
- pWriter->Encode(byteString, format, outWidth));
+ pWriter->Encode(byteString, outWidth));
return data && pWriter->RenderResult(m_renderContents.AsStringView(),
data.get(), outWidth);
}
diff --git a/fxbarcode/cbc_eancode.cpp b/fxbarcode/cbc_eancode.cpp
index 81d22df..35baed8 100644
--- a/fxbarcode/cbc_eancode.cpp
+++ b/fxbarcode/cbc_eancode.cpp
@@ -26,13 +26,11 @@
if (!pWriter->CheckContentValidity(contents))
return false;
- BC_TYPE format = GetType();
int32_t out_width = 0;
m_renderContents = Preprocess(contents);
ByteString str = m_renderContents.ToUTF8();
pWriter->InitEANWriter();
- std::unique_ptr<uint8_t, FxFreeDeleter> data(
- pWriter->Encode(str, format, out_width));
+ std::unique_ptr<uint8_t, FxFreeDeleter> data(pWriter->Encode(str, out_width));
return data && pWriter->RenderResult(m_renderContents.AsStringView(),
data.get(), out_width);
}
diff --git a/fxbarcode/oned/BC_OneDimWriter.cpp b/fxbarcode/oned/BC_OneDimWriter.cpp
index df9f088..4bca114 100644
--- a/fxbarcode/oned/BC_OneDimWriter.cpp
+++ b/fxbarcode/oned/BC_OneDimWriter.cpp
@@ -85,19 +85,6 @@
m_fontColor = color;
}
-uint8_t* CBC_OneDimWriter::EncodeWithHint(const ByteString& contents,
- BC_TYPE format,
- int32_t& outWidth,
- int32_t hints) {
- return EncodeImpl(contents, outWidth);
-}
-
-uint8_t* CBC_OneDimWriter::Encode(const ByteString& contents,
- BC_TYPE format,
- int32_t& outWidth) {
- return EncodeWithHint(contents, format, outWidth, 0);
-}
-
int32_t CBC_OneDimWriter::AppendPattern(uint8_t* target,
int32_t pos,
const int8_t* pattern,
diff --git a/fxbarcode/oned/BC_OneDimWriter.h b/fxbarcode/oned/BC_OneDimWriter.h
index a8a3486..83efb99 100644
--- a/fxbarcode/oned/BC_OneDimWriter.h
+++ b/fxbarcode/oned/BC_OneDimWriter.h
@@ -47,21 +47,13 @@
void SetFontStyle(int32_t style);
void SetFontColor(FX_ARGB color);
- uint8_t* Encode(const ByteString& contents,
- BC_TYPE format,
- int32_t& outWidth);
+ virtual uint8_t* Encode(const ByteString& contents, int32_t& outLength) = 0;
bool RenderDeviceResult(CFX_RenderDevice* device,
const CFX_Matrix& matrix,
WideStringView contents);
bool SetFont(CFX_Font* cFont);
protected:
- virtual uint8_t* EncodeWithHint(const ByteString& contents,
- BC_TYPE format,
- int32_t& outWidth,
- int32_t hints);
- virtual uint8_t* EncodeImpl(const ByteString& contents,
- int32_t& outLength) = 0;
virtual bool ShowChars(WideStringView contents,
CFX_RenderDevice* device,
const CFX_Matrix& matrix,
diff --git a/fxbarcode/oned/BC_OnedCodaBarWriter.cpp b/fxbarcode/oned/BC_OnedCodaBarWriter.cpp
index 57c28be..e714742 100644
--- a/fxbarcode/oned/BC_OnedCodaBarWriter.cpp
+++ b/fxbarcode/oned/BC_OnedCodaBarWriter.cpp
@@ -120,18 +120,8 @@
return filtercontents;
}
-uint8_t* CBC_OnedCodaBarWriter::EncodeWithHint(const ByteString& contents,
- BC_TYPE format,
- int32_t& outWidth,
- int32_t hints) {
- if (format != BC_TYPE::kCodabar)
- return nullptr;
-
- return CBC_OneDimWriter::EncodeWithHint(contents, format, outWidth, hints);
-}
-
-uint8_t* CBC_OnedCodaBarWriter::EncodeImpl(const ByteString& contents,
- int32_t& outLength) {
+uint8_t* CBC_OnedCodaBarWriter::Encode(const ByteString& contents,
+ int32_t& outLength) {
ByteString data = m_chStart + contents + m_chEnd;
m_iContentLen = data.GetLength();
uint8_t* result = FX_Alloc2D(uint8_t, m_iWideNarrRatio * 7, data.GetLength());
diff --git a/fxbarcode/oned/BC_OnedCodaBarWriter.h b/fxbarcode/oned/BC_OnedCodaBarWriter.h
index a0ee62f..dbdc139 100644
--- a/fxbarcode/oned/BC_OnedCodaBarWriter.h
+++ b/fxbarcode/oned/BC_OnedCodaBarWriter.h
@@ -19,11 +19,7 @@
~CBC_OnedCodaBarWriter() override;
// CBC_OneDimWriter:
- uint8_t* EncodeImpl(const ByteString& contents, int32_t& outLength) override;
- uint8_t* EncodeWithHint(const ByteString& contents,
- BC_TYPE format,
- int32_t& outWidth,
- int32_t hints) override;
+ uint8_t* Encode(const ByteString& contents, int32_t& outLength) override;
bool RenderResult(WideStringView contents,
uint8_t* code,
int32_t codeLength) override;
diff --git a/fxbarcode/oned/BC_OnedCodaBarWriter_unittest.cpp b/fxbarcode/oned/BC_OnedCodaBarWriter_unittest.cpp
index eb1cad0..add28cf 100644
--- a/fxbarcode/oned/BC_OnedCodaBarWriter_unittest.cpp
+++ b/fxbarcode/oned/BC_OnedCodaBarWriter_unittest.cpp
@@ -22,7 +22,7 @@
CBC_OnedCodaBarWriter writer;
int32_t width;
- uint8_t* encoded = writer.Encode("", BC_TYPE::kCodabar, width);
+ uint8_t* encoded = writer.Encode("", width);
EXPECT_EQ(kModulesForDelimiters, width);
const char* expected =
"# ## # # " // A Start
@@ -32,7 +32,7 @@
}
FX_Free(encoded);
- encoded = writer.Encode("123", BC_TYPE::kCodabar, width);
+ encoded = writer.Encode("123", width);
EXPECT_EQ(kModulesForDelimiters + 3 * kModulesPerNumber, width);
expected =
"# ## # # " // A Start
@@ -45,7 +45,7 @@
}
FX_Free(encoded);
- encoded = writer.Encode("-$./:+", BC_TYPE::kCodabar, width);
+ encoded = writer.Encode("-$./:+", width);
EXPECT_EQ(kModulesForDelimiters + 2 * kModulesPerNumber +
4 * kModulesPerPunctuation,
width);
@@ -63,7 +63,7 @@
}
FX_Free(encoded);
- encoded = writer.Encode("456.987987987/001", BC_TYPE::kCodabar, width);
+ encoded = writer.Encode("456.987987987/001", width);
EXPECT_EQ(kModulesForDelimiters + 15 * kModulesPerNumber +
2 * kModulesPerPunctuation,
width);
@@ -126,7 +126,7 @@
writer.SetStartChar('N');
writer.SetEndChar('*');
- uint8_t* encoded = writer.Encode("987", BC_TYPE::kCodabar, width);
+ uint8_t* encoded = writer.Encode("987", width);
EXPECT_EQ(kModulesForDelimiters + 3 * kModulesPerNumber, width);
const char* expected =
"# # # ## " // N (same as B) Start
diff --git a/fxbarcode/oned/BC_OnedCode128Writer.cpp b/fxbarcode/oned/BC_OnedCode128Writer.cpp
index 2fc3488..5c2a7b8 100644
--- a/fxbarcode/oned/BC_OnedCode128Writer.cpp
+++ b/fxbarcode/oned/BC_OnedCode128Writer.cpp
@@ -118,18 +118,8 @@
m_locTextLoc = location;
}
-uint8_t* CBC_OnedCode128Writer::EncodeWithHint(const ByteString& contents,
- BC_TYPE format,
- int32_t& outWidth,
- int32_t hints) {
- if (format != BC_TYPE::kCode128)
- return nullptr;
-
- return CBC_OneDimWriter::EncodeWithHint(contents, format, outWidth, hints);
-}
-
-uint8_t* CBC_OnedCode128Writer::EncodeImpl(const ByteString& contents,
- int32_t& outLength) {
+uint8_t* CBC_OnedCode128Writer::Encode(const ByteString& contents,
+ int32_t& outLength) {
if (contents.GetLength() < 1 || contents.GetLength() > 80)
return nullptr;
diff --git a/fxbarcode/oned/BC_OnedCode128Writer.h b/fxbarcode/oned/BC_OnedCode128Writer.h
index 169a157..62e2ad6 100644
--- a/fxbarcode/oned/BC_OnedCode128Writer.h
+++ b/fxbarcode/oned/BC_OnedCode128Writer.h
@@ -27,11 +27,7 @@
std::vector<int32_t>* patterns);
// CBC_OneDimWriter
- uint8_t* EncodeWithHint(const ByteString& contents,
- BC_TYPE format,
- int32_t& outWidth,
- int32_t hints) override;
- uint8_t* EncodeImpl(const ByteString& contents, int32_t& outLength) override;
+ uint8_t* Encode(const ByteString& contents, int32_t& outLength) override;
bool CheckContentValidity(WideStringView contents) override;
WideString FilterContents(WideStringView contents) override;
void SetTextLocation(BC_TEXT_LOC location) override;
diff --git a/fxbarcode/oned/BC_OnedCode39Writer.cpp b/fxbarcode/oned/BC_OnedCode39Writer.cpp
index 1b2fb24..836c492 100644
--- a/fxbarcode/oned/BC_OnedCode39Writer.cpp
+++ b/fxbarcode/oned/BC_OnedCode39Writer.cpp
@@ -119,16 +119,6 @@
return true;
}
-uint8_t* CBC_OnedCode39Writer::EncodeWithHint(const ByteString& contents,
- BC_TYPE format,
- int32_t& outWidth,
- int32_t hints) {
- if (format != BC_TYPE::kCode39)
- return nullptr;
-
- return CBC_OneDimWriter::EncodeWithHint(contents, format, outWidth, hints);
-}
-
void CBC_OnedCode39Writer::ToIntArray(int16_t a, int8_t* toReturn) {
for (int32_t i = 0; i < 9; i++) {
toReturn[i] = (a & (1 << i)) == 0 ? 1 : m_iWideNarrRatio;
@@ -155,8 +145,8 @@
return kOnedCode39Checksum[checksum % std::size(kOnedCode39Checksum)];
}
-uint8_t* CBC_OnedCode39Writer::EncodeImpl(const ByteString& contents,
- int32_t& outlength) {
+uint8_t* CBC_OnedCode39Writer::Encode(const ByteString& contents,
+ int32_t& outlength) {
char checksum = CalcCheckSum(contents);
if (checksum == '*')
return nullptr;
diff --git a/fxbarcode/oned/BC_OnedCode39Writer.h b/fxbarcode/oned/BC_OnedCode39Writer.h
index c44f2dd..e6ea93d 100644
--- a/fxbarcode/oned/BC_OnedCode39Writer.h
+++ b/fxbarcode/oned/BC_OnedCode39Writer.h
@@ -16,11 +16,7 @@
~CBC_OnedCode39Writer() override;
// CBC_OneDimWriter
- uint8_t* EncodeWithHint(const ByteString& contents,
- BC_TYPE format,
- int32_t& outWidth,
- int32_t hints) override;
- uint8_t* EncodeImpl(const ByteString& contents, int32_t& outLength) override;
+ uint8_t* Encode(const ByteString& contents, int32_t& outLength) override;
bool RenderResult(WideStringView contents,
uint8_t* code,
int32_t codeLength) override;
diff --git a/fxbarcode/oned/BC_OnedCode39Writer_unittest.cpp b/fxbarcode/oned/BC_OnedCode39Writer_unittest.cpp
index 44c3e62..6f1efbb 100644
--- a/fxbarcode/oned/BC_OnedCode39Writer_unittest.cpp
+++ b/fxbarcode/oned/BC_OnedCode39Writer_unittest.cpp
@@ -40,7 +40,7 @@
uint8_t* encoded;
const char* expected;
- encoded = writer.Encode("PDFIUM", BC_TYPE::kCode39, width);
+ encoded = writer.Encode("PDFIUM", width);
expected =
"# # ### ### # " // * Start
"# ### ### # # " // P
@@ -56,7 +56,7 @@
writer.SetWideNarrowRatio(2);
- encoded = writer.Encode("PDFIUM", BC_TYPE::kCode39, width);
+ encoded = writer.Encode("PDFIUM", width);
expected =
"# # ## ## # " // * Start
"# ## ## # # " // P
@@ -77,7 +77,7 @@
uint8_t* encoded;
const char* expected;
- encoded = writer.Encode("", BC_TYPE::kCode39, width);
+ encoded = writer.Encode("", width);
EXPECT_EQ((0 + DELIMITER_CHARS) * MODULES_PER_CHAR - 1, width);
expected =
"# # ### ### # " // * Start
@@ -86,7 +86,7 @@
EXPECT_EQ(expected[i] != ' ', !!encoded[i]) << i;
FX_Free(encoded);
- encoded = writer.Encode("123", BC_TYPE::kCode39, width);
+ encoded = writer.Encode("123", width);
EXPECT_EQ((3 + DELIMITER_CHARS) * MODULES_PER_CHAR - 1, width);
expected =
"# # ### ### # " // * Start
@@ -98,7 +98,7 @@
EXPECT_EQ(expected[i] != ' ', !!encoded[i]) << i;
FX_Free(encoded);
- encoded = writer.Encode("PDFIUM", BC_TYPE::kCode39, width);
+ encoded = writer.Encode("PDFIUM", width);
EXPECT_EQ((6 + DELIMITER_CHARS) * MODULES_PER_CHAR - 1, width);
expected =
"# # ### ### # " // * Start
@@ -113,7 +113,7 @@
EXPECT_EQ(expected[i] != ' ', !!encoded[i]) << i;
FX_Free(encoded);
- encoded = writer.Encode("A -$%./+Z", BC_TYPE::kCode39, width);
+ encoded = writer.Encode("A -$%./+Z", width);
EXPECT_EQ((9 + DELIMITER_CHARS) * MODULES_PER_CHAR - 1, width);
expected =
"# # ### ### # " // * Start
@@ -140,7 +140,7 @@
writer.SetCalcChecksum(true);
- encoded = writer.Encode("123", BC_TYPE::kCode39, width);
+ encoded = writer.Encode("123", width);
EXPECT_EQ((3 + CHECKSUM_CHARS + DELIMITER_CHARS) * MODULES_PER_CHAR - 1,
width);
expected =
@@ -154,7 +154,7 @@
EXPECT_EQ(expected[i] != ' ', !!encoded[i]) << i;
FX_Free(encoded);
- encoded = writer.Encode("PDFIUM", BC_TYPE::kCode39, width);
+ encoded = writer.Encode("PDFIUM", width);
EXPECT_EQ((6 + CHECKSUM_CHARS + DELIMITER_CHARS) * MODULES_PER_CHAR - 1,
width);
expected =
diff --git a/fxbarcode/oned/BC_OnedEAN13Writer.cpp b/fxbarcode/oned/BC_OnedEAN13Writer.cpp
index 0834941..02aab8c 100644
--- a/fxbarcode/oned/BC_OnedEAN13Writer.cpp
+++ b/fxbarcode/oned/BC_OnedEAN13Writer.cpp
@@ -85,18 +85,8 @@
return EANCalcChecksum(contents);
}
-uint8_t* CBC_OnedEAN13Writer::EncodeWithHint(const ByteString& contents,
- BC_TYPE format,
- int32_t& outWidth,
- int32_t hints) {
- if (format != BC_TYPE::kEAN13)
- return nullptr;
-
- return CBC_OneDimWriter::EncodeWithHint(contents, format, outWidth, hints);
-}
-
-uint8_t* CBC_OnedEAN13Writer::EncodeImpl(const ByteString& contents,
- int32_t& outLength) {
+uint8_t* CBC_OnedEAN13Writer::Encode(const ByteString& contents,
+ int32_t& outLength) {
if (contents.GetLength() != 13)
return nullptr;
diff --git a/fxbarcode/oned/BC_OnedEAN13Writer.h b/fxbarcode/oned/BC_OnedEAN13Writer.h
index 0a9f2ce..c2d701d 100644
--- a/fxbarcode/oned/BC_OnedEAN13Writer.h
+++ b/fxbarcode/oned/BC_OnedEAN13Writer.h
@@ -21,11 +21,7 @@
~CBC_OnedEAN13Writer() override;
// CBC_OneDimEANWriter:
- uint8_t* EncodeWithHint(const ByteString& contents,
- BC_TYPE format,
- int32_t& outWidth,
- int32_t hints) override;
- uint8_t* EncodeImpl(const ByteString& contents, int32_t& outLength) override;
+ uint8_t* Encode(const ByteString& contents, int32_t& outLength) override;
bool CheckContentValidity(WideStringView contents) override;
WideString FilterContents(WideStringView contents) override;
int32_t CalcChecksum(const ByteString& contents) override;
diff --git a/fxbarcode/oned/BC_OnedEAN13Writer_unittest.cpp b/fxbarcode/oned/BC_OnedEAN13Writer_unittest.cpp
index d7f1425..d0bb4b6 100644
--- a/fxbarcode/oned/BC_OnedEAN13Writer_unittest.cpp
+++ b/fxbarcode/oned/BC_OnedEAN13Writer_unittest.cpp
@@ -18,23 +18,23 @@
// EAN-13 barcodes encode 13-digit numbers into 95 modules in a unidimensional
// disposition.
- encoded = writer.Encode("", BC_TYPE::kEAN13, width);
+ encoded = writer.Encode("", width);
EXPECT_FALSE(encoded);
FX_Free(encoded);
- encoded = writer.Encode("123", BC_TYPE::kEAN13, width);
+ encoded = writer.Encode("123", width);
EXPECT_FALSE(encoded);
FX_Free(encoded);
- encoded = writer.Encode("123456789012", BC_TYPE::kEAN13, width);
+ encoded = writer.Encode("123456789012", width);
EXPECT_FALSE(encoded);
FX_Free(encoded);
- encoded = writer.Encode("12345678901234", BC_TYPE::kEAN13, width);
+ encoded = writer.Encode("12345678901234", width);
EXPECT_FALSE(encoded);
FX_Free(encoded);
- encoded = writer.Encode("1234567890128", BC_TYPE::kEAN13, width);
+ encoded = writer.Encode("1234567890128", width);
EXPECT_TRUE(encoded);
EXPECT_EQ(95, width);
@@ -60,7 +60,7 @@
}
FX_Free(encoded);
- encoded = writer.Encode("7776665554440", BC_TYPE::kEAN13, width);
+ encoded = writer.Encode("7776665554440", width);
EXPECT_TRUE(encoded);
EXPECT_EQ(95, width);
diff --git a/fxbarcode/oned/BC_OnedEAN8Writer.cpp b/fxbarcode/oned/BC_OnedEAN8Writer.cpp
index 91d0420..a542fdf 100644
--- a/fxbarcode/oned/BC_OnedEAN8Writer.cpp
+++ b/fxbarcode/oned/BC_OnedEAN8Writer.cpp
@@ -88,18 +88,8 @@
return EANCalcChecksum(contents);
}
-uint8_t* CBC_OnedEAN8Writer::EncodeWithHint(const ByteString& contents,
- BC_TYPE format,
- int32_t& outWidth,
- int32_t hints) {
- if (format != BC_TYPE::kEAN8)
- return nullptr;
-
- return CBC_OneDimWriter::EncodeWithHint(contents, format, outWidth, hints);
-}
-
-uint8_t* CBC_OnedEAN8Writer::EncodeImpl(const ByteString& contents,
- int32_t& outLength) {
+uint8_t* CBC_OnedEAN8Writer::Encode(const ByteString& contents,
+ int32_t& outLength) {
if (contents.GetLength() != 8)
return nullptr;
diff --git a/fxbarcode/oned/BC_OnedEAN8Writer.h b/fxbarcode/oned/BC_OnedEAN8Writer.h
index 9c3d751..f8a42d9 100644
--- a/fxbarcode/oned/BC_OnedEAN8Writer.h
+++ b/fxbarcode/oned/BC_OnedEAN8Writer.h
@@ -22,11 +22,7 @@
~CBC_OnedEAN8Writer() override;
// CBC_OneDimEANWriter:
- uint8_t* EncodeWithHint(const ByteString& contents,
- BC_TYPE format,
- int32_t& outWidth,
- int32_t hints) override;
- uint8_t* EncodeImpl(const ByteString& contents, int32_t& outLength) override;
+ uint8_t* Encode(const ByteString& contents, int32_t& outLength) override;
bool CheckContentValidity(WideStringView contents) override;
WideString FilterContents(WideStringView contents) override;
void SetDataLength(int32_t length) override;
diff --git a/fxbarcode/oned/BC_OnedEAN8Writer_unittest.cpp b/fxbarcode/oned/BC_OnedEAN8Writer_unittest.cpp
index 18bc605..513c666 100644
--- a/fxbarcode/oned/BC_OnedEAN8Writer_unittest.cpp
+++ b/fxbarcode/oned/BC_OnedEAN8Writer_unittest.cpp
@@ -18,23 +18,23 @@
// EAN-8 barcodes encode 8-digit numbers into 67 modules in a unidimensional
// disposition.
- encoded = writer.Encode("", BC_TYPE::kEAN8, width);
+ encoded = writer.Encode("", width);
EXPECT_FALSE(encoded);
FX_Free(encoded);
- encoded = writer.Encode("123", BC_TYPE::kEAN8, width);
+ encoded = writer.Encode("123", width);
EXPECT_FALSE(encoded);
FX_Free(encoded);
- encoded = writer.Encode("1234567", BC_TYPE::kEAN8, width);
+ encoded = writer.Encode("1234567", width);
EXPECT_FALSE(encoded);
FX_Free(encoded);
- encoded = writer.Encode("123456789", BC_TYPE::kEAN8, width);
+ encoded = writer.Encode("123456789", width);
EXPECT_FALSE(encoded);
FX_Free(encoded);
- encoded = writer.Encode("12345670", BC_TYPE::kEAN8, width);
+ encoded = writer.Encode("12345670", width);
EXPECT_TRUE(encoded);
EXPECT_EQ(67, width);
@@ -55,7 +55,7 @@
}
FX_Free(encoded);
- encoded = writer.Encode("99441104", BC_TYPE::kEAN8, width);
+ encoded = writer.Encode("99441104", width);
EXPECT_TRUE(encoded);
EXPECT_EQ(67, width);
diff --git a/fxbarcode/oned/BC_OnedUPCAWriter.cpp b/fxbarcode/oned/BC_OnedUPCAWriter.cpp
index bff5db1..00cb37c 100644
--- a/fxbarcode/oned/BC_OnedUPCAWriter.cpp
+++ b/fxbarcode/oned/BC_OnedUPCAWriter.cpp
@@ -84,22 +84,11 @@
return checksum;
}
-uint8_t* CBC_OnedUPCAWriter::EncodeWithHint(const ByteString& contents,
- BC_TYPE format,
- int32_t& outWidth,
- int32_t hints) {
- if (format != BC_TYPE::kUPCA)
- return nullptr;
-
+uint8_t* CBC_OnedUPCAWriter::Encode(const ByteString& contents,
+ int32_t& outLength) {
ByteString toEAN13String = '0' + contents;
m_iDataLenth = 13;
- return m_subWriter->EncodeWithHint(toEAN13String, BC_TYPE::kEAN13, outWidth,
- hints);
-}
-
-uint8_t* CBC_OnedUPCAWriter::EncodeImpl(const ByteString& contents,
- int32_t& outLength) {
- return nullptr;
+ return m_subWriter->Encode(toEAN13String, outLength);
}
bool CBC_OnedUPCAWriter::ShowChars(WideStringView contents,
diff --git a/fxbarcode/oned/BC_OnedUPCAWriter.h b/fxbarcode/oned/BC_OnedUPCAWriter.h
index aad574d..e9ed964 100644
--- a/fxbarcode/oned/BC_OnedUPCAWriter.h
+++ b/fxbarcode/oned/BC_OnedUPCAWriter.h
@@ -23,11 +23,7 @@
~CBC_OnedUPCAWriter() override;
// CBC_OneDimEANWriter:
- uint8_t* EncodeWithHint(const ByteString& contents,
- BC_TYPE format,
- int32_t& outWidth,
- int32_t hints) override;
- uint8_t* EncodeImpl(const ByteString& contents, int32_t& outLength) override;
+ uint8_t* Encode(const ByteString& contents, int32_t& outLength) override;
bool CheckContentValidity(WideStringView contents) override;
WideString FilterContents(WideStringView contents) override;
void InitEANWriter() override;
diff --git a/fxbarcode/oned/BC_OnedUPCAWriter_unittest.cpp b/fxbarcode/oned/BC_OnedUPCAWriter_unittest.cpp
index 0088a69..19330b5 100644
--- a/fxbarcode/oned/BC_OnedUPCAWriter_unittest.cpp
+++ b/fxbarcode/oned/BC_OnedUPCAWriter_unittest.cpp
@@ -16,23 +16,23 @@
// UPCA barcodes encode 12-digit numbers into 95 modules in a unidimensional
// disposition.
- uint8_t* encoded = writer.Encode("", BC_TYPE::kUPCA, width);
+ uint8_t* encoded = writer.Encode("", width);
EXPECT_FALSE(encoded);
FX_Free(encoded);
- encoded = writer.Encode("123", BC_TYPE::kUPCA, width);
+ encoded = writer.Encode("123", width);
EXPECT_FALSE(encoded);
FX_Free(encoded);
- encoded = writer.Encode("12345678901", BC_TYPE::kUPCA, width);
+ encoded = writer.Encode("12345678901", width);
EXPECT_FALSE(encoded);
FX_Free(encoded);
- encoded = writer.Encode("1234567890123", BC_TYPE::kUPCA, width);
+ encoded = writer.Encode("1234567890123", width);
EXPECT_FALSE(encoded);
FX_Free(encoded);
- encoded = writer.Encode("123456789012", BC_TYPE::kUPCA, width);
+ encoded = writer.Encode("123456789012", width);
const char* expected =
"# #" // Start
" ## #" // 1 L
@@ -56,7 +56,7 @@
}
FX_Free(encoded);
- encoded = writer.Encode("777666555440", BC_TYPE::kUPCA, width);
+ encoded = writer.Encode("777666555440", width);
expected =
"# #" // Start
" ### ##" // 7 L