| // Copyright 2014 PDFium Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
| #ifndef XFA_SRC_FXBARCODE_ONED_BC_ONEDIMWRITER_H_ | |
| #define XFA_SRC_FXBARCODE_ONED_BC_ONEDIMWRITER_H_ | |
| #include "core/include/fxge/fx_ge.h" | |
| #include "xfa/include/fxbarcode/BC_BarCode.h" | |
| #include "xfa/src/fxbarcode/BC_Writer.h" | |
| class CBC_CommonBitMatrix; | |
| class CFX_Font; | |
| class CFX_RenderDevice; | |
| class CBC_OneDimWriter : public CBC_Writer { | |
| public: | |
| CBC_OneDimWriter(); | |
| virtual ~CBC_OneDimWriter(); | |
| uint8_t* Encode(const CFX_ByteString& contents, | |
| BCFORMAT format, | |
| int32_t& outWidth, | |
| int32_t& outHeight, | |
| int32_t& e); | |
| uint8_t* Encode(const CFX_ByteString& contents, | |
| BCFORMAT format, | |
| int32_t& outWidth, | |
| int32_t& outHeight, | |
| int32_t hints, | |
| int32_t& e); | |
| virtual uint8_t* Encode(const CFX_ByteString& contents, | |
| int32_t& outLength, | |
| int32_t& e) { | |
| return NULL; | |
| }; | |
| virtual void RenderResult(const CFX_WideStringC& contents, | |
| uint8_t* code, | |
| int32_t codeLength, | |
| FX_BOOL isDevice, | |
| int32_t& e); | |
| virtual void RenderBitmapResult(CFX_DIBitmap*& pOutBitmap, | |
| const CFX_WideStringC& contents, | |
| int32_t& e); | |
| virtual void RenderDeviceResult(CFX_RenderDevice* device, | |
| const CFX_Matrix* matrix, | |
| const CFX_WideStringC& contents, | |
| int32_t& e); | |
| virtual FX_BOOL CheckContentValidity(const CFX_WideStringC& contents) { | |
| return TRUE; | |
| }; | |
| virtual CFX_WideString FilterContents(const CFX_WideStringC& contents) { | |
| return CFX_WideString(); | |
| } | |
| virtual CFX_WideString RenderTextContents(const CFX_WideStringC& contents) { | |
| return CFX_WideString(); | |
| } | |
| virtual void SetPrintChecksum(FX_BOOL checksum); | |
| virtual void SetDataLength(int32_t length); | |
| virtual void SetCalcChecksum(int32_t state); | |
| virtual void SetFontSize(FX_FLOAT size); | |
| virtual void SetFontStyle(int32_t style); | |
| virtual void SetFontColor(FX_ARGB color); | |
| virtual FX_BOOL SetFont(CFX_Font* cFont); | |
| protected: | |
| FX_BOOL m_bPrintChecksum; | |
| int32_t m_iDataLenth; | |
| FX_BOOL m_bCalcChecksum; | |
| CFX_Font* m_pFont; | |
| FX_FLOAT m_fFontSize; | |
| int32_t m_iFontStyle; | |
| FX_DWORD m_fontColor; | |
| BC_TEXT_LOC m_locTextLoc; | |
| int32_t m_iContentLen; | |
| FX_BOOL m_bLeftPadding; | |
| FX_BOOL m_bRightPadding; | |
| CBC_CommonBitMatrix* m_output; | |
| int32_t m_barWidth; | |
| int32_t m_multiple; | |
| FX_FLOAT m_outputHScale; | |
| void CalcTextInfo(const CFX_ByteString& text, | |
| FXTEXT_CHARPOS* charPos, | |
| CFX_Font* cFont, | |
| FX_FLOAT geWidth, | |
| int32_t fontSize, | |
| FX_FLOAT& charsLen); | |
| virtual void ShowChars(const CFX_WideStringC& contents, | |
| CFX_DIBitmap* pOutBitmap, | |
| CFX_RenderDevice* device, | |
| const CFX_Matrix* matrix, | |
| int32_t barWidth, | |
| int32_t multiple, | |
| int32_t& e); | |
| virtual void ShowBitmapChars(CFX_DIBitmap* pOutBitmap, | |
| const CFX_ByteString str, | |
| FX_FLOAT geWidth, | |
| FXTEXT_CHARPOS* pCharPos, | |
| FX_FLOAT locX, | |
| FX_FLOAT locY, | |
| int32_t barWidth); | |
| virtual void ShowDeviceChars(CFX_RenderDevice* device, | |
| const CFX_Matrix* matrix, | |
| const CFX_ByteString str, | |
| FX_FLOAT geWidth, | |
| FXTEXT_CHARPOS* pCharPos, | |
| FX_FLOAT locX, | |
| FX_FLOAT locY, | |
| int32_t barWidth); | |
| int32_t AppendPattern(uint8_t* target, | |
| int32_t pos, | |
| const int32_t* pattern, | |
| int32_t patternLength, | |
| int32_t startColor, | |
| int32_t& e); | |
| FX_WCHAR Upper(FX_WCHAR ch); | |
| }; | |
| #endif // XFA_SRC_FXBARCODE_ONED_BC_ONEDIMWRITER_H_ |