Merge to XFA: Use stdint.h types throughout PDFium.
[pdfium.git] / xfa / src / fxbarcode / oned / BC_OneDimWriter.h
1 // Copyright 2014 PDFium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4 \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \r
7 #ifndef _BC_ONEDIMWRITER_H_\r
8 #define _BC_ONEDIMWRITER_H_\r
9 class CBC_Writer;\r
10 class CBC_CommonBitMatrix;\r
11 class CBC_OneDimWriter;\r
12 class CBC_OneDimWriter : public CBC_Writer\r
13 {\r
14 public:\r
15     CBC_OneDimWriter();\r
16     virtual ~CBC_OneDimWriter();\r
17     uint8_t                     *Encode(const CFX_ByteString &contents, BCFORMAT format,\r
18                             int32_t &outWidth, int32_t &outHeight, int32_t &e);\r
19     uint8_t                     *Encode(const CFX_ByteString &contents, BCFORMAT format,\r
20                             int32_t &outWidth, int32_t &outHeight, int32_t hints, int32_t &e);\r
21     virtual uint8_t *Encode(const CFX_ByteString &contents, int32_t &outLength, int32_t &e)\r
22     {\r
23         return NULL;\r
24     };\r
25     virtual void     RenderResult(FX_WSTR contents, uint8_t* code, int32_t codeLength,  FX_BOOL isDevice, int32_t &e);\r
26     virtual void     RenderBitmapResult(CFX_DIBitmap *&pOutBitmap, FX_WSTR contents, int32_t &e);\r
27     virtual void     RenderDeviceResult(CFX_RenderDevice* device, const CFX_Matrix* matrix, FX_WSTR contents, int32_t &e);\r
28     virtual FX_BOOL                     CheckContentValidity(FX_WSTR contents)\r
29     {\r
30         return TRUE;\r
31     };\r
32     virtual CFX_WideString      FilterContents(FX_WSTR contents)\r
33     {\r
34         return CFX_WideString();\r
35     }\r
36     virtual CFX_WideString      RenderTextContents(FX_WSTR contents)\r
37     {\r
38         return CFX_WideString();\r
39     }\r
40     virtual void                        SetPrintChecksum(FX_BOOL checksum);\r
41     virtual void                        SetDataLength(int32_t length);\r
42     virtual void                        SetCalcChecksum(int32_t state);\r
43     virtual void                        SetFontSize(FX_FLOAT size);\r
44     virtual void                        SetFontStyle(int32_t style);\r
45     virtual void                        SetFontColor(FX_ARGB color);\r
46     virtual FX_BOOL                     SetFont(CFX_Font * cFont);\r
47 protected:\r
48     FX_BOOL                     m_bPrintChecksum;\r
49     int32_t             m_iDataLenth;\r
50     FX_BOOL                     m_bCalcChecksum;\r
51     CFX_Font*           m_pFont;\r
52     FX_FLOAT            m_fFontSize;\r
53     int32_t             m_iFontStyle;\r
54     FX_DWORD            m_fontColor;\r
55     BC_TEXT_LOC         m_locTextLoc;\r
56     int32_t             m_iContentLen;\r
57     FX_BOOL         m_bLeftPadding;\r
58     FX_BOOL         m_bRightPadding;\r
59     CBC_CommonBitMatrix*   m_output;\r
60     int32_t               m_barWidth;\r
61     int32_t               m_multiple;\r
62     FX_FLOAT               m_outputHScale;\r
63     void                        CalcTextInfo(const CFX_ByteString &text, FXTEXT_CHARPOS *charPos, CFX_Font *cFont, FX_FLOAT geWidth, int32_t fontSize, FX_FLOAT &charsLen);\r
64     virtual void        ShowChars(FX_WSTR contents, CFX_DIBitmap *pOutBitmap, CFX_RenderDevice *device, const CFX_Matrix* matrix, int32_t barWidth, int32_t multiple, int32_t &e);\r
65     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);\r
66     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);\r
67     int32_t             AppendPattern(uint8_t* target, int32_t pos, const int32_t* pattern, int32_t patternLength, int32_t startColor, int32_t &e);\r
68     FX_WCHAR            Upper(FX_WCHAR ch);\r
69 };\r
70 #endif\r