Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
BC_OneDimWriter.h
Go to the documentation of this file.
1// Copyright 2014 The PDFium Authors
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 FXBARCODE_ONED_BC_ONEDIMWRITER_H_
8#define FXBARCODE_ONED_BC_ONEDIMWRITER_H_
9
10#include <stddef.h>
11#include <stdint.h>
12
13#include <vector>
14
15#include "core/fxcrt/data_vector.h"
16#include "core/fxcrt/fx_string.h"
17#include "core/fxcrt/unowned_ptr.h"
18#include "core/fxge/cfx_textrenderoptions.h"
19#include "fxbarcode/BC_Library.h"
20#include "fxbarcode/BC_Writer.h"
21#include "third_party/base/containers/span.h"
22
23class CFX_Font;
24class CFX_Matrix;
25class CFX_Path;
27class TextCharPos;
28
30 public:
34 static bool HasValidContentSize(WideStringView contents);
35
37 ~CBC_OneDimWriter() override;
38
39 virtual bool RenderResult(WideStringView contents,
40 pdfium::span<const uint8_t> code);
41 virtual bool CheckContentValidity(WideStringView contents) = 0;
42 virtual WideString FilterContents(WideStringView contents) = 0;
43 virtual void SetDataLength(int32_t length);
44
45 void SetPrintChecksum(bool checksum);
46 void SetCalcChecksum(bool state);
47 void SetFontSize(float size);
48 void SetFontStyle(int32_t style);
49 void SetFontColor(FX_ARGB color);
50
51 virtual DataVector<uint8_t> Encode(const ByteString& contents) = 0;
53 const CFX_Matrix& matrix,
54 WideStringView contents);
55 bool SetFont(CFX_Font* cFont);
56
57 protected:
58 virtual bool ShowChars(WideStringView contents,
59 CFX_RenderDevice* device,
60 const CFX_Matrix& matrix,
61 int32_t barWidth);
63 const CFX_Matrix& matrix,
64 const ByteString str,
65 float geWidth,
66 TextCharPos* pCharPos,
67 float locX,
68 float locY,
69 int32_t barWidth);
70 void CalcTextInfo(const ByteString& text,
71 TextCharPos* charPos,
72 CFX_Font* cFont,
73 float geWidth,
74 int32_t fontSize,
75 float& charsLen);
76 pdfium::span<uint8_t> AppendPattern(pdfium::span<uint8_t> target,
77 pdfium::span<const uint8_t> pattern,
78 bool startColor);
79
80 bool m_bPrintChecksum = true;
81 bool m_bCalcChecksum = false;
82 bool m_bLeftPadding = false;
83 bool m_bRightPadding = false;
84
86 float m_fFontSize = 10.0f;
87 int32_t m_iFontStyle = 0;
88 uint32_t m_fontColor = 0xff000000;
90
91 int32_t m_iDataLenth = 0;
93
95 int32_t m_barWidth;
97};
98
99#endif // FXBARCODE_ONED_BC_ONEDIMWRITER_H_
BC_TEXT_LOC
Definition BC_Library.h:12
BC_TYPE
Definition BC_Library.h:25
BC_CHAR_ENCODING
Definition BC_Library.h:20
BC_TYPE GetType() override
~CBC_Codabar() override
bool RenderDevice(CFX_RenderDevice *device, const CFX_Matrix &matrix) override
bool Encode(WideStringView contents) override
virtual bool Encode(WideStringView contents)=0
void SetTextLocation(BC_TEXT_LOC location)
void SetWidth(int32_t width)
bool SetModuleWidth(int32_t moduleWidth)
virtual bool RenderDevice(CFX_RenderDevice *device, const CFX_Matrix &matrix)=0
void SetCharEncoding(BC_CHAR_ENCODING encoding)
CBC_CodeBase(std::unique_ptr< CBC_Writer > pWriter)
bool SetModuleHeight(int32_t moduleHeight)
bool SetStartChar(char start)
std::unique_ptr< CBC_Writer > m_pBCWriter
virtual ~CBC_CodeBase()
bool SetErrorCorrectionLevel(int32_t level)
bool SetWideNarrowRatio(int8_t ratio)
void SetHeight(int32_t height)
virtual BC_TYPE GetType()=0
bool SetEndChar(char end)
void SetCalChecksum(bool calc)
void SetFontStyle(int32_t style)
void SetPrintChecksum(bool checksum)
~CBC_OneCode() override
CBC_OneCode(std::unique_ptr< CBC_Writer > pWriter)
void SetFontColor(FX_ARGB color)
void SetDataLength(int32_t length)
void SetFontSize(float size)
bool SetFont(CFX_Font *cFont)
void SetFontSize(float size)
void SetFontColor(FX_ARGB color)
void ShowDeviceChars(CFX_RenderDevice *device, const CFX_Matrix &matrix, const ByteString str, float geWidth, TextCharPos *pCharPos, float locX, float locY, int32_t barWidth)
~CBC_OneDimWriter() override
void SetFontStyle(int32_t style)
virtual DataVector< uint8_t > Encode(const ByteString &contents)=0
std::vector< CFX_Path > m_output
virtual WideString FilterContents(WideStringView contents)=0
virtual void SetDataLength(int32_t length)
BC_TEXT_LOC m_locTextLoc
virtual bool ShowChars(WideStringView contents, CFX_RenderDevice *device, const CFX_Matrix &matrix, int32_t barWidth)
UnownedPtr< CFX_Font > m_pFont
static bool HasValidContentSize(WideStringView contents)
bool RenderDeviceResult(CFX_RenderDevice *device, const CFX_Matrix &matrix, WideStringView contents)
virtual bool RenderResult(WideStringView contents, pdfium::span< const uint8_t > code)
static constexpr CFX_TextRenderOptions GetTextRenderOptions()
virtual bool CheckContentValidity(WideStringView contents)=0
void CalcTextInfo(const ByteString &text, TextCharPos *charPos, CFX_Font *cFont, float geWidth, int32_t fontSize, float &charsLen)
void SetCalcChecksum(bool state)
void SetPrintChecksum(bool checksum)
pdfium::span< uint8_t > AppendPattern(pdfium::span< uint8_t > target, pdfium::span< const uint8_t > pattern, bool startColor)
bool SetFont(CFX_Font *cFont)
bool SetEndChar(char end) override
WideString encodedContents(WideStringView contents)
void SetTextLocation(BC_TEXT_LOC location) override
void SetDataLength(int32_t length) override
bool SetWideNarrowRatio(int8_t ratio) override
bool RenderResult(WideStringView contents, pdfium::span< const uint8_t > code) override
DataVector< uint8_t > Encode(const ByteString &contents) override
bool CheckContentValidity(WideStringView contents) override
bool SetStartChar(char start) override
~CBC_OnedCodaBarWriter() override
WideString FilterContents(WideStringView contents) override
constexpr CFX_TextRenderOptions(AliasingType type)