Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[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, FX_INT32 &e) = 0;\r
15     virtual FX_BOOL                     RenderDevice(CFX_RenderDevice* device, const CFX_Matrix* matirx, FX_INT32 &e) = 0;\r
16     virtual FX_BOOL                     RenderBitmap(CFX_DIBitmap *&pOutBitmap, FX_INT32 &e) = 0;\r
17     virtual CFX_WideString      Decode(FX_BYTE* buf, FX_INT32 width, FX_INT32 height, FX_INT32 &errorCode) = 0;\r
18     virtual CFX_WideString      Decode(CFX_DIBitmap *pBitmap, FX_INT32 &errorCode) = 0;\r
19     virtual FX_BOOL                     SetCharEncoding(BC_CHAR_ENCODING encoding) = 0;\r
20     virtual FX_BOOL                     SetModuleHeight(FX_INT32 moduleHeight) = 0;\r
21     virtual FX_BOOL                     SetModuleWidth(FX_INT32 moduleWidth) = 0;\r
22     virtual FX_BOOL                     SetHeight(FX_INT32 height) = 0;\r
23     virtual FX_BOOL                     SetWidth(FX_INT32 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(FX_INT32 length) = 0;\r
27     virtual FX_BOOL                     SetCalChecksum(FX_INT32 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(FX_INT32 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(FX_INT32 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(FX_INT32 version) = 0;\r
37     virtual FX_BOOL                     SetErrorCorrectionLevel (FX_INT32 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