PoDoFo 1.2.0
Loading...
Searching...
No Matches
PdfContentStreamOperators.h
1// SPDX-FileCopyrightText: 2022 Francesco Pretto <ceztko@gmail.com>
2// SPDX-License-Identifier: LGPL-2.0-or-later OR MPL-2.0
3
4#ifndef PDF_CONTENT_STREAM_OPERATORS_H
5#define PDF_CONTENT_STREAM_OPERATORS_H
6
7#include <podofo/main/PdfDictionary.h>
8#include <podofo/main/PdfStringStream.h>
9#include <podofo/main/PdfMath.h>
10
11namespace PoDoFo
12{
15// TODO: Add missing operators
17{
18protected:
20public:
21 virtual void re_Operator(double x, double y, double width, double height) = 0;
22 virtual void m_Operator(double x, double y) = 0;
23 virtual void l_Operator(double x, double y) = 0;
24 virtual void c_Operator(double c1x, double c1y, double c2x, double c2y, double x, double y) = 0;
25 virtual void v_Operator(double cx, double cy, double x, double y) = 0;
26 virtual void y_Operator(double cx, double cy, double x, double y) = 0;
27 virtual void n_Operator() = 0;
28 virtual void h_Operator() = 0;
29 virtual void b_Operator() = 0;
30 virtual void B_Operator() = 0;
31 virtual void bStar_Operator() = 0;
32 virtual void BStar_Operator() = 0;
33 virtual void s_Operator() = 0;
34 virtual void S_Operator() = 0;
35 virtual void f_Operator() = 0;
36 virtual void fStar_Operator() = 0;
37 virtual void W_Operator() = 0;
38 virtual void WStar_Operator() = 0;
39 virtual void MP_Operator(const std::string_view& tag) = 0;
40 virtual void DP_Operator(const std::string_view& tag, const PdfDictionary& properties) = 0;
41 virtual void DP_Operator(const std::string_view& tag, const std::string_view& propertyDictName) = 0;
42 virtual void BMC_Operator(const std::string_view& tag) = 0;
43 virtual void BDC_Operator(const std::string_view& tag, const PdfDictionary& properties) = 0;
44 virtual void BDC_Operator(const std::string_view& tag, const std::string_view& propertyDictName) = 0;
45 virtual void EMC_Operator() = 0;
46 virtual void q_Operator() = 0;
47 virtual void Q_Operator() = 0;
48 virtual void BT_Operator() = 0;
49 virtual void ET_Operator() = 0;
50 virtual void Td_Operator(double tx, double ty) = 0;
51 virtual void TD_Operator(double tx, double ty) = 0;
52 virtual void Tm_Operator(double a, double b, double c, double d, double e, double f) = 0;
53 virtual void Tr_Operator(PdfTextRenderingMode mode) = 0;
54 virtual void Ts_Operator(double rise) = 0;
55 virtual void Tc_Operator(double charSpace) = 0;
56 virtual void TL_Operator(double leading) = 0;
57 virtual void Tf_Operator(const std::string_view& fontName, double fontSize) = 0;
58 virtual void Tw_Operator(double wordSpace) = 0;
59 virtual void Tz_Operator(double scale) = 0;
60 virtual void Tj_Operator(const std::string_view& encoded, bool hex) = 0;
61 virtual void TJ_Operator_Begin() = 0;
62 virtual void TJ_Operator_Delta(double delta) = 0;
63 virtual void TJ_Operator_Glyphs(const std::string_view& encoded, bool hex) = 0;
64 virtual void TJ_Operator_End() = 0;
65 virtual void cm_Operator(double a, double b, double c, double d, double e, double f) = 0;
66 virtual void w_Operator(double lineWidth) = 0;
67 virtual void J_Operator(PdfLineCapStyle style) = 0;
68 virtual void j_Operator(PdfLineJoinStyle style) = 0;
69 virtual void M_Operator(double miterLimit) = 0;
70 virtual void d_Operator(const cspan<double>& dashArray, double fase) = 0;
71 virtual void ri_Operator(const std::string_view& intent) = 0;
72 virtual void i_Operator(double flatness) = 0;
73 virtual void gs_Operator(const std::string_view& dictName) = 0;
74 virtual void Do_Operator(const std::string_view& xobjname) = 0;
75 virtual void cs_Operator(PdfColorSpaceType colorSpace) = 0;
76 virtual void cs_Operator(const std::string_view& name) = 0;
77 virtual void CS_Operator(PdfColorSpaceType colorSpace) = 0;
78 virtual void CS_Operator(const std::string_view& name) = 0;
79 virtual void sc_Operator(const cspan<double>& components) = 0;
80 virtual void SC_Operator(const cspan<double>& components) = 0;
81 virtual void scn_Operator(const cspan<double>& components) = 0;
82 virtual void SCN_Operator(const cspan<double>& components) = 0;
83 virtual void scn_Operator(const cspan<double>& components, const std::string_view& patternName) = 0;
84 virtual void SCN_Operator(const cspan<double>& components, const std::string_view& patternName) = 0;
85 virtual void scn_Operator(const std::string_view& patternName) = 0;
86 virtual void SCN_Operator(const std::string_view& patternName) = 0;
87 virtual void G_Operator(double gray) = 0;
88 virtual void g_Operator(double gray) = 0;
89 virtual void RG_Operator(double red, double green, double blue) = 0;
90 virtual void rg_Operator(double red, double green, double blue) = 0;
91 virtual void K_Operator(double cyan, double magenta, double yellow, double black) = 0;
92 virtual void k_Operator(double cyan, double magenta, double yellow, double black) = 0;
93 virtual void sh_Operator(const std::string_view& patternName) = 0;
94 virtual void BX_Operator() = 0;
95 virtual void EX_Operator() = 0;
96 virtual void Extension_Operator(const std::string_view& opName, const cspan<PdfVariant>& operands) = 0;
97protected:
99 PdfContentStreamOperators& operator=(const PdfContentStreamOperators&) = default;
100};
101
102}
103
104#endif // PDF_CONTENT_STREAM_OPERATORS_H
Pdf content stream callble operator interface ISO 32000 - 1:2008 "A.2 PDF Content Stream Operators".
Definition PdfContentStreamOperators.h:17
The PDF dictionary data type of PoDoFo (inherits from PdfDataContainer, the base class for such repre...
Definition PdfDictionary.h:77
Convenient type for char array storage and/or buffer with std::string compatibility.
Definition basetypes.h:30
All classes, functions, types and enums of PoDoFo are members of these namespace.
Definition basetypes.h:13
PdfLineJoinStyle
Enum for line join styles when drawing.
Definition PdfDeclarations.h:406
PdfLineCapStyle
Enum for line cap styles when drawing.
Definition PdfDeclarations.h:398
PdfTextRenderingMode
Enum for text rendering mode (Tr)
Definition PdfDeclarations.h:364
PdfColorSpaceType
Enum for the colorspaces supported by PDF.
Definition PdfDeclarations.h:333