Merge to XFA: Use stdint.h types throughout PDFium.
[pdfium.git] / xfa / src / fxbarcode / BC_Writer.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_WRITER_H_\r
8 #define _BC_WRITER_H_\r
9 class CBC_Writer;\r
10 class CBC_Writer\r
11 {\r
12 public:\r
13     CBC_Writer();\r
14     virtual ~CBC_Writer();\r
15     virtual uint8_t             *Encode(const CFX_ByteString &contents, BCFORMAT format, int32_t &outWidth, int32_t &outHeight, int32_t &e) = 0;\r
16     virtual uint8_t             *Encode(const CFX_ByteString &contents, BCFORMAT format, int32_t &outWidth, int32_t &outHeight, int32_t hints, int32_t &e) = 0;\r
17     virtual FX_BOOL             SetCharEncoding(int32_t encoding);\r
18     virtual FX_BOOL             SetModuleHeight(int32_t moduleHeight);\r
19     virtual FX_BOOL             SetModuleWidth(int32_t moduleWidth);\r
20     virtual FX_BOOL             SetHeight(int32_t height);\r
21     virtual FX_BOOL             SetWidth(int32_t width);\r
22     virtual void                SetBackgroundColor(FX_ARGB backgroundColor);\r
23     virtual void                SetBarcodeColor(FX_ARGB foregroundColor);\r
24 protected:\r
25     CFX_DIBitmap*       CreateDIBitmap(int32_t width, int32_t height);\r
26     int32_t             m_CharEncoding;\r
27     int32_t             m_ModuleHeight;\r
28     int32_t             m_ModuleWidth;\r
29     int32_t             m_Height;\r
30     int32_t             m_Width;\r
31     FXDIB_Format        m_colorSpace;\r
32     FX_ARGB                     m_barColor;\r
33     FX_ARGB                     m_backgroundColor;\r
34 };\r
35 #endif\r