// Copyright 2014 PDFium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com #ifndef _BC_WRITER_H_ #define _BC_WRITER_H_ class CBC_Writer; class CBC_Writer { public: CBC_Writer(); virtual ~CBC_Writer(); virtual FX_BYTE *Encode(const CFX_ByteString &contents, BCFORMAT format, FX_INT32 &outWidth, FX_INT32 &outHeight, FX_INT32 &e) = 0; virtual FX_BYTE *Encode(const CFX_ByteString &contents, BCFORMAT format, FX_INT32 &outWidth, FX_INT32 &outHeight, FX_INT32 hints, FX_INT32 &e) = 0; virtual FX_BOOL SetCharEncoding(FX_INT32 encoding); virtual FX_BOOL SetModuleHeight(FX_INT32 moduleHeight); virtual FX_BOOL SetModuleWidth(FX_INT32 moduleWidth); virtual FX_BOOL SetHeight(FX_INT32 height); virtual FX_BOOL SetWidth(FX_INT32 width); virtual void SetBackgroundColor(FX_ARGB backgroundColor); virtual void SetBarcodeColor(FX_ARGB foregroundColor); protected: CFX_DIBitmap* CreateDIBitmap(FX_INT32 width, FX_INT32 height); FX_INT32 m_CharEncoding; FX_INT32 m_ModuleHeight; FX_INT32 m_ModuleWidth; FX_INT32 m_Height; FX_INT32 m_Width; FXDIB_Format m_colorSpace; FX_ARGB m_barColor; FX_ARGB m_backgroundColor; }; #endif