Merge to XFA: Kill CFX_Object.
[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 FX_BYTE             *Encode(const CFX_ByteString &contents, BCFORMAT format, FX_INT32 &outWidth, FX_INT32 &outHeight, FX_INT32 &e) = 0;\r
16     virtual FX_BYTE             *Encode(const CFX_ByteString &contents, BCFORMAT format, FX_INT32 &outWidth, FX_INT32 &outHeight, FX_INT32 hints, FX_INT32 &e) = 0;\r
17     virtual FX_BOOL             SetCharEncoding(FX_INT32 encoding);\r
18     virtual FX_BOOL             SetModuleHeight(FX_INT32 moduleHeight);\r
19     virtual FX_BOOL             SetModuleWidth(FX_INT32 moduleWidth);\r
20     virtual FX_BOOL             SetHeight(FX_INT32 height);\r
21     virtual FX_BOOL             SetWidth(FX_INT32 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(FX_INT32 width, FX_INT32 height);\r
26     FX_INT32            m_CharEncoding;\r
27     FX_INT32            m_ModuleHeight;\r
28     FX_INT32            m_ModuleWidth;\r
29     FX_INT32            m_Height;\r
30     FX_INT32            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