Merge to XFA: Use stdint.h types throughout PDFium.
[pdfium.git] / xfa / include / fwl / basewidget / fxmath_barcode.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 _FXMATH_BARCODE_H_\r
8 #define _FXMATH_BARCODE_H_\r
9 class IFX_Barcode\r
10 {\r
11 public:\r
12     virtual void                        Release() = 0;\r
13     virtual BC_TYPE                     GetType() = 0;\r
14     virtual FX_BOOL                     Encode(FX_WSTR contents, FX_BOOL isDevice, int32_t &e) = 0;\r
15     virtual FX_BOOL                     RenderDevice(CFX_RenderDevice* device, const CFX_Matrix* matirx, int32_t &e) = 0;\r
16     virtual FX_BOOL                     RenderBitmap(CFX_DIBitmap *&pOutBitmap, int32_t &e) = 0;\r
17     virtual CFX_WideString      Decode(uint8_t* buf, int32_t width, int32_t height, int32_t &errorCode) = 0;\r
18     virtual CFX_WideString      Decode(CFX_DIBitmap *pBitmap, int32_t &errorCode) = 0;\r
19     virtual FX_BOOL                     SetCharEncoding(BC_CHAR_ENCODING encoding) = 0;\r
20     virtual FX_BOOL                     SetModuleHeight(int32_t moduleHeight) = 0;\r
21     virtual FX_BOOL                     SetModuleWidth(int32_t moduleWidth) = 0;\r
22     virtual FX_BOOL                     SetHeight(int32_t height) = 0;\r
23     virtual FX_BOOL                     SetWidth(int32_t width) = 0;\r
24     virtual FX_BOOL                     CheckContentValidity(FX_WSTR contents) = 0;\r
25     virtual FX_BOOL                     SetPrintChecksum(FX_BOOL checksum) = 0;\r
26     virtual FX_BOOL                     SetDataLength(int32_t length) = 0;\r
27     virtual FX_BOOL                     SetCalChecksum(int32_t state) = 0;\r
28     virtual FX_BOOL                     SetFont(CFX_Font* pFont) = 0;\r
29     virtual FX_BOOL                     SetFontSize(FX_FLOAT size) = 0;\r
30     virtual FX_BOOL                     SetFontStyle(int32_t style) = 0;\r
31     virtual FX_BOOL                     SetFontColor(FX_ARGB color) = 0;\r
32     virtual FX_BOOL                     SetTextLocation(BC_TEXT_LOC location) = 0;\r
33     virtual FX_BOOL                     SetWideNarrowRatio(int32_t ratio) = 0;\r
34     virtual FX_BOOL                     SetStartChar(FX_CHAR start) = 0;\r
35     virtual FX_BOOL                     SetEndChar(FX_CHAR end) = 0;\r
36     virtual FX_BOOL                     SetVersion(int32_t version) = 0;\r
37     virtual FX_BOOL                     SetErrorCorrectionLevel (int32_t level) = 0;\r
38     virtual FX_BOOL                     SetTruncated(FX_BOOL truncated) = 0;\r
39 };\r
40 IFX_Barcode*                            FX_Barcode_Create(BC_TYPE type);\r
41 #endif\r