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