Home | History | Annotate | Download | only in fwl
      1 // Copyright 2014 PDFium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
      6 
      7 #ifndef XFA_FWL_CFX_BARCODE_H_
      8 #define XFA_FWL_CFX_BARCODE_H_
      9 
     10 #include <memory>
     11 
     12 #include "core/fxcrt/fx_coordinates.h"
     13 #include "core/fxcrt/fx_string.h"
     14 #include "core/fxcrt/fx_system.h"
     15 #include "core/fxge/fx_dib.h"
     16 #include "xfa/fxbarcode/BC_Library.h"
     17 
     18 class CBC_CodeBase;
     19 class CFX_Font;
     20 class CFX_RenderDevice;
     21 class CFX_Matrix;
     22 
     23 class CFX_Barcode {
     24  public:
     25   CFX_Barcode();
     26   ~CFX_Barcode();
     27 
     28   bool Create(BC_TYPE type);
     29   BC_TYPE GetType();
     30   bool Encode(const CFX_WideStringC& contents, bool isDevice, int32_t& e);
     31 
     32   bool RenderDevice(CFX_RenderDevice* device,
     33                     const CFX_Matrix* matrix,
     34                     int32_t& e);
     35 
     36   bool SetCharEncoding(BC_CHAR_ENCODING encoding);
     37 
     38   bool SetModuleHeight(int32_t moduleHeight);
     39   bool SetModuleWidth(int32_t moduleWidth);
     40 
     41   bool SetHeight(int32_t height);
     42   bool SetWidth(int32_t width);
     43 
     44   bool SetPrintChecksum(bool checksum);
     45   bool SetDataLength(int32_t length);
     46   bool SetCalChecksum(bool state);
     47 
     48   bool SetFont(CFX_Font* pFont);
     49   bool SetFontSize(FX_FLOAT size);
     50   bool SetFontColor(FX_ARGB color);
     51 
     52   bool SetTextLocation(BC_TEXT_LOC location);
     53 
     54   bool SetWideNarrowRatio(int32_t ratio);
     55   bool SetStartChar(FX_CHAR start);
     56   bool SetEndChar(FX_CHAR end);
     57   bool SetVersion(int32_t version);
     58   bool SetErrorCorrectionLevel(int32_t level);
     59   bool SetTruncated(bool truncated);
     60 
     61  private:
     62   std::unique_ptr<CBC_CodeBase> m_pBCEngine;
     63 };
     64 
     65 #endif  // XFA_FWL_CFX_BARCODE_H_
     66