| Index: xfa/fxbarcode/oned/BC_OnedEAN8Writer.cpp
|
| diff --git a/xfa/fxbarcode/oned/BC_OnedEAN8Writer.cpp b/xfa/fxbarcode/oned/BC_OnedEAN8Writer.cpp
|
| index 4427cb89700153dda79c06a49066eed3dd0d4bc7..2aa57d18d1b29ad9deb460fc717de02b7a7c0ac4 100644
|
| --- a/xfa/fxbarcode/oned/BC_OnedEAN8Writer.cpp
|
| +++ b/xfa/fxbarcode/oned/BC_OnedEAN8Writer.cpp
|
| @@ -158,6 +158,7 @@ uint8_t* CBC_OnedEAN8Writer::Encode(const CFX_ByteString& contents,
|
| }
|
| return result;
|
| }
|
| +
|
| void CBC_OnedEAN8Writer::ShowChars(const CFX_WideStringC& contents,
|
| CFX_DIBitmap* pOutBitmap,
|
| CFX_RenderDevice* device,
|
| @@ -165,10 +166,11 @@ void CBC_OnedEAN8Writer::ShowChars(const CFX_WideStringC& contents,
|
| int32_t barWidth,
|
| int32_t multiple,
|
| int32_t& e) {
|
| - if (device == NULL && pOutBitmap == NULL) {
|
| + if (!device && !pOutBitmap) {
|
| e = BCExceptionIllegalArgument;
|
| return;
|
| }
|
| +
|
| int32_t leftPosition = 3 * multiple;
|
| CFX_ByteString str = FX_UTF8Encode(contents);
|
| int32_t iLength = str.GetLength();
|
| @@ -179,12 +181,12 @@ void CBC_OnedEAN8Writer::ShowChars(const CFX_WideStringC& contents,
|
| int32_t strWidth = 7 * multiple * 4;
|
| FX_FLOAT blank = 0.0;
|
| CFX_FxgeDevice geBitmap;
|
| - if (pOutBitmap) {
|
| - geBitmap.Attach(pOutBitmap);
|
| - }
|
| + if (pOutBitmap)
|
| + geBitmap.Attach(pOutBitmap, false, nullptr, false);
|
| +
|
| int32_t iFontSize = (int32_t)fabs(m_fFontSize);
|
| int32_t iTextHeight = iFontSize + 1;
|
| - if (pOutBitmap == NULL) {
|
| + if (!pOutBitmap) {
|
| CFX_Matrix matr(m_outputHScale, 0.0, 0.0, 1.0, 0.0, 0.0);
|
| CFX_FloatRect rect(
|
| (FX_FLOAT)leftPosition, (FX_FLOAT)(m_Height - iTextHeight),
|
| @@ -204,16 +206,16 @@ void CBC_OnedEAN8Writer::ShowChars(const CFX_WideStringC& contents,
|
| re = rect1.GetOutterRect();
|
| device->FillRect(&re, m_backgroundColor);
|
| }
|
| - if (pOutBitmap == NULL) {
|
| + if (!pOutBitmap)
|
| strWidth = (int32_t)(strWidth * m_outputHScale);
|
| - }
|
| +
|
| CalcTextInfo(tempStr, pCharPos, m_pFont, (FX_FLOAT)strWidth, iFontSize,
|
| blank);
|
| CFX_Matrix affine_matrix(1.0, 0.0, 0.0, -1.0, 0.0, (FX_FLOAT)iFontSize);
|
| CFX_FxgeDevice ge;
|
| if (pOutBitmap) {
|
| delete ge.GetBitmap();
|
| - ge.Create(strWidth, iTextHeight, FXDIB_Argb);
|
| + ge.Create(strWidth, iTextHeight, FXDIB_Argb, nullptr);
|
| ge.GetBitmap()->Clear(m_backgroundColor);
|
| ge.DrawNormalText(iLen, pCharPos, m_pFont,
|
| CFX_GEModule::Get()->GetFontCache(), (FX_FLOAT)iFontSize,
|
| @@ -236,7 +238,7 @@ void CBC_OnedEAN8Writer::ShowChars(const CFX_WideStringC& contents,
|
| blank);
|
| if (pOutBitmap) {
|
| delete ge.GetBitmap();
|
| - ge.Create(strWidth, iTextHeight, FXDIB_Argb);
|
| + ge.Create(strWidth, iTextHeight, FXDIB_Argb, nullptr);
|
| ge.GetBitmap()->Clear(m_backgroundColor);
|
| ge.DrawNormalText(iLen, pCharPos + 4, m_pFont,
|
| CFX_GEModule::Get()->GetFontCache(), (FX_FLOAT)iFontSize,
|
| @@ -259,6 +261,7 @@ void CBC_OnedEAN8Writer::ShowChars(const CFX_WideStringC& contents,
|
| }
|
| FX_Free(pCharPos);
|
| }
|
| +
|
| void CBC_OnedEAN8Writer::RenderResult(const CFX_WideStringC& contents,
|
| uint8_t* code,
|
| int32_t codeLength,
|
|
|