| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 // Original code is licensed as follows: | 6 // Original code is licensed as follows: |
| 7 /* | 7 /* |
| 8 * Copyright 2011 ZXing authors | 8 * Copyright 2011 ZXing authors |
| 9 * | 9 * |
| 10 * Licensed under the Apache License, Version 2.0 (the "License"); | 10 * Licensed under the Apache License, Version 2.0 (the "License"); |
| (...skipping 24 matching lines...) Expand all Loading... |
| 35 m_bPrintChecksum = TRUE; | 35 m_bPrintChecksum = TRUE; |
| 36 m_iDataLenth = 0; | 36 m_iDataLenth = 0; |
| 37 m_bCalcChecksum = FALSE; | 37 m_bCalcChecksum = FALSE; |
| 38 m_pFont = nullptr; | 38 m_pFont = nullptr; |
| 39 m_fFontSize = 10; | 39 m_fFontSize = 10; |
| 40 m_iFontStyle = 0; | 40 m_iFontStyle = 0; |
| 41 m_fontColor = 0xff000000; | 41 m_fontColor = 0xff000000; |
| 42 m_iContentLen = 0; | 42 m_iContentLen = 0; |
| 43 m_bLeftPadding = FALSE; | 43 m_bLeftPadding = FALSE; |
| 44 m_bRightPadding = FALSE; | 44 m_bRightPadding = FALSE; |
| 45 m_output = nullptr; | |
| 46 } | 45 } |
| 47 CBC_OneDimWriter::~CBC_OneDimWriter() { | 46 |
| 48 delete m_output; | 47 CBC_OneDimWriter::~CBC_OneDimWriter() {} |
| 49 } | 48 |
| 50 void CBC_OneDimWriter::SetPrintChecksum(FX_BOOL checksum) { | 49 void CBC_OneDimWriter::SetPrintChecksum(FX_BOOL checksum) { |
| 51 m_bPrintChecksum = checksum; | 50 m_bPrintChecksum = checksum; |
| 52 } | 51 } |
| 52 |
| 53 void CBC_OneDimWriter::SetDataLength(int32_t length) { | 53 void CBC_OneDimWriter::SetDataLength(int32_t length) { |
| 54 m_iDataLenth = length; | 54 m_iDataLenth = length; |
| 55 } | 55 } |
| 56 |
| 56 void CBC_OneDimWriter::SetCalcChecksum(int32_t state) { | 57 void CBC_OneDimWriter::SetCalcChecksum(int32_t state) { |
| 57 m_bCalcChecksum = state; | 58 m_bCalcChecksum = state; |
| 58 } | 59 } |
| 60 |
| 59 FX_BOOL CBC_OneDimWriter::SetFont(CFX_Font* cFont) { | 61 FX_BOOL CBC_OneDimWriter::SetFont(CFX_Font* cFont) { |
| 60 if (!cFont) | 62 if (!cFont) |
| 61 return FALSE; | 63 return FALSE; |
| 62 | 64 |
| 63 m_pFont = cFont; | 65 m_pFont = cFont; |
| 64 return TRUE; | 66 return TRUE; |
| 65 } | 67 } |
| 68 |
| 66 void CBC_OneDimWriter::SetFontSize(FX_FLOAT size) { | 69 void CBC_OneDimWriter::SetFontSize(FX_FLOAT size) { |
| 67 m_fFontSize = size; | 70 m_fFontSize = size; |
| 68 } | 71 } |
| 72 |
| 69 void CBC_OneDimWriter::SetFontStyle(int32_t style) { | 73 void CBC_OneDimWriter::SetFontStyle(int32_t style) { |
| 70 m_iFontStyle = style; | 74 m_iFontStyle = style; |
| 71 } | 75 } |
| 76 |
| 72 void CBC_OneDimWriter::SetFontColor(FX_ARGB color) { | 77 void CBC_OneDimWriter::SetFontColor(FX_ARGB color) { |
| 73 m_fontColor = color; | 78 m_fontColor = color; |
| 74 } | 79 } |
| 80 |
| 75 FX_WCHAR CBC_OneDimWriter::Upper(FX_WCHAR ch) { | 81 FX_WCHAR CBC_OneDimWriter::Upper(FX_WCHAR ch) { |
| 76 if (ch >= 'a' && ch <= 'z') { | 82 if (ch >= 'a' && ch <= 'z') { |
| 77 ch = ch - ('a' - 'A'); | 83 ch = ch - ('a' - 'A'); |
| 78 } | 84 } |
| 79 return ch; | 85 return ch; |
| 80 } | 86 } |
| 87 |
| 81 uint8_t* CBC_OneDimWriter::Encode(const CFX_ByteString& contents, | 88 uint8_t* CBC_OneDimWriter::Encode(const CFX_ByteString& contents, |
| 82 BCFORMAT format, | 89 BCFORMAT format, |
| 83 int32_t& outWidth, | 90 int32_t& outWidth, |
| 84 int32_t& outHeight, | 91 int32_t& outHeight, |
| 85 int32_t hints, | 92 int32_t hints, |
| 86 int32_t& e) { | 93 int32_t& e) { |
| 87 uint8_t* ret = nullptr; | 94 uint8_t* ret = nullptr; |
| 88 outHeight = 1; | 95 outHeight = 1; |
| 89 if (m_Width >= 20) { | 96 if (m_Width >= 20) { |
| 90 ret = Encode(contents, outWidth, e); | 97 ret = Encode(contents, outWidth, e); |
| 91 } else { | 98 } else { |
| 92 ret = Encode(contents, outWidth, e); | 99 ret = Encode(contents, outWidth, e); |
| 93 } | 100 } |
| 94 BC_EXCEPTION_CHECK_ReturnValue(e, nullptr); | 101 BC_EXCEPTION_CHECK_ReturnValue(e, nullptr); |
| 95 return ret; | 102 return ret; |
| 96 } | 103 } |
| 104 |
| 97 uint8_t* CBC_OneDimWriter::Encode(const CFX_ByteString& contents, | 105 uint8_t* CBC_OneDimWriter::Encode(const CFX_ByteString& contents, |
| 98 BCFORMAT format, | 106 BCFORMAT format, |
| 99 int32_t& outWidth, | 107 int32_t& outWidth, |
| 100 int32_t& outHeight, | 108 int32_t& outHeight, |
| 101 int32_t& e) { | 109 int32_t& e) { |
| 102 uint8_t* ret = Encode(contents, format, outWidth, outHeight, 0, e); | 110 uint8_t* ret = Encode(contents, format, outWidth, outHeight, 0, e); |
| 103 BC_EXCEPTION_CHECK_ReturnValue(e, nullptr); | 111 BC_EXCEPTION_CHECK_ReturnValue(e, nullptr); |
| 104 return ret; | 112 return ret; |
| 105 } | 113 } |
| 106 | 114 |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 176 charPos[i].m_GlyphIndex = encoding->GlyphFromCharCode(pCharCode[i]); | 184 charPos[i].m_GlyphIndex = encoding->GlyphFromCharCode(pCharCode[i]); |
| 177 charPos[i].m_FontCharWidth = cFont->GetGlyphWidth(charPos[i].m_GlyphIndex); | 185 charPos[i].m_FontCharWidth = cFont->GetGlyphWidth(charPos[i].m_GlyphIndex); |
| 178 #if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ | 186 #if _FXM_PLATFORM_ == _FXM_PLATFORM_APPLE_ |
| 179 charPos[i].m_ExtGID = charPos[i].m_GlyphIndex; | 187 charPos[i].m_ExtGID = charPos[i].m_GlyphIndex; |
| 180 #endif | 188 #endif |
| 181 penX += | 189 penX += |
| 182 (FX_FLOAT)(charPos[i].m_FontCharWidth) * (FX_FLOAT)fontSize / 1000.0f; | 190 (FX_FLOAT)(charPos[i].m_FontCharWidth) * (FX_FLOAT)fontSize / 1000.0f; |
| 183 } | 191 } |
| 184 FX_Free(pCharCode); | 192 FX_Free(pCharCode); |
| 185 } | 193 } |
| 194 |
| 186 void CBC_OneDimWriter::ShowDeviceChars(CFX_RenderDevice* device, | 195 void CBC_OneDimWriter::ShowDeviceChars(CFX_RenderDevice* device, |
| 187 const CFX_Matrix* matrix, | 196 const CFX_Matrix* matrix, |
| 188 const CFX_ByteString str, | 197 const CFX_ByteString str, |
| 189 FX_FLOAT geWidth, | 198 FX_FLOAT geWidth, |
| 190 FXTEXT_CHARPOS* pCharPos, | 199 FXTEXT_CHARPOS* pCharPos, |
| 191 FX_FLOAT locX, | 200 FX_FLOAT locX, |
| 192 FX_FLOAT locY, | 201 FX_FLOAT locY, |
| 193 int32_t barWidth) { | 202 int32_t barWidth) { |
| 194 int32_t iFontSize = (int32_t)fabs(m_fFontSize); | 203 int32_t iFontSize = (int32_t)fabs(m_fFontSize); |
| 195 int32_t iTextHeight = iFontSize + 1; | 204 int32_t iTextHeight = iFontSize + 1; |
| (...skipping 226 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 422 } | 431 } |
| 423 } | 432 } |
| 424 int32_t outputWidth = codeLength; | 433 int32_t outputWidth = codeLength; |
| 425 if (!isDevice) { | 434 if (!isDevice) { |
| 426 outputWidth = (int32_t)(codeLength * m_multiple / dataLengthScale); | 435 outputWidth = (int32_t)(codeLength * m_multiple / dataLengthScale); |
| 427 } | 436 } |
| 428 m_barWidth = m_Width; | 437 m_barWidth = m_Width; |
| 429 if (!isDevice) { | 438 if (!isDevice) { |
| 430 m_barWidth = codeLength * m_multiple; | 439 m_barWidth = codeLength * m_multiple; |
| 431 } | 440 } |
| 432 m_output = new CBC_CommonBitMatrix; | 441 m_output.reset(new CBC_CommonBitMatrix); |
| 433 m_output->Init(outputWidth, outputHeight); | 442 m_output->Init(outputWidth, outputHeight); |
| 434 int32_t outputX = leftPadding * m_multiple; | 443 int32_t outputX = leftPadding * m_multiple; |
| 435 for (int32_t inputX = 0; inputX < codeOldLength; inputX++) { | 444 for (int32_t inputX = 0; inputX < codeOldLength; inputX++) { |
| 436 if (code[inputX] == 1) { | 445 if (code[inputX] == 1) { |
| 437 if (outputX >= outputWidth) { | 446 if (outputX >= outputWidth) { |
| 438 break; | 447 break; |
| 439 } | 448 } |
| 440 if (outputX + m_multiple > outputWidth && outputWidth - outputX > 0) { | 449 if (outputX + m_multiple > outputWidth && outputWidth - outputX > 0) { |
| 441 m_output->SetRegion(outputX, 0, outputWidth - outputX, outputHeight, e); | 450 m_output->SetRegion(outputX, 0, outputWidth - outputX, outputHeight, e); |
| 442 break; | 451 break; |
| (...skipping 12 matching lines...) Expand all Loading... |
| 455 | 464 |
| 456 CFX_WideString CBC_OneDimWriter::FilterContents( | 465 CFX_WideString CBC_OneDimWriter::FilterContents( |
| 457 const CFX_WideStringC& contents) { | 466 const CFX_WideStringC& contents) { |
| 458 return CFX_WideString(); | 467 return CFX_WideString(); |
| 459 } | 468 } |
| 460 | 469 |
| 461 CFX_WideString CBC_OneDimWriter::RenderTextContents( | 470 CFX_WideString CBC_OneDimWriter::RenderTextContents( |
| 462 const CFX_WideStringC& contents) { | 471 const CFX_WideStringC& contents) { |
| 463 return CFX_WideString(); | 472 return CFX_WideString(); |
| 464 } | 473 } |
| OLD | NEW |