PDF SDK Documentation

Comprehensive Guide for Developers: Features, Integration, and API Reference

Loading...
Searching...
No Matches
element.h
1// Copyright (c) 2009-2025 Avanquest Software. All rights reserved.
2
3#ifndef PDFSDK_CXX_PDF_ELEMENT_H_INCLUDED_
4#define PDFSDK_CXX_PDF_ELEMENT_H_INCLUDED_
5
7#include <pdfsdk/cxx/math.h>
8
9#include "forward_declarations.h"
10#include "wrapper_base.h"
11
12namespace PDF {
13
19class Element : public detail::RefCountedHandle<PDEElement> {
20public:
27 static Element CreateContainer(PDAtom tag, const Object& dict);
28
34
40
46 static Element CreateXObject(const XObject& xobject);
47
53 static Element CreateShading(const Shading& shading);
54
66 static Element LayoutText(const Document& doc,
67 const std::wstring& text,
68 const RectF& box,
69 const PDFontInfo& fontInfo,
70 float fontSize,
71 PDColorValue fontColor,
72 PDETextAlign alignment);
73
78 Element Copy() const;
79
85 bool Equals(const Element& that) const;
86
92
97 RectF GetBBox() const;
98
103 Quad GetQuad() const;
104
109 Clip GetClip() const;
110
115 void SetClip(const Clip& clip);
116
122
127 void SetGState(const GState& gstate);
128
134
139 void SetMatrix(const Matrix& matrix);
140
146 bool HitTest(const PointF& point) const;
147
152 PDAtom GetContainerTag() const;
153
158 void SetContainerTag(PDAtom tag);
159
165
170 void SetContainerDict(const Object& dict);
171
177
183
188 PDEPaintOp GetPathPaintOp() const;
189
194 void SetPathPaintOp(PDEPaintOp paintOp);
195
200 size_t GetPathNumSegments() const;
201
207 PDEPathSegment GetPathSegment(size_t index) const;
208
213 void PathAddSegment(const PDEPathSegment& segment);
214
219 void PathMoveTo(const PointF& to);
220
225 void PathLineTo(const PointF& to);
226
233 void PathCurveTo(const PointF& c0, const PointF& c1, const PointF& to);
234
240 void PathVCurveTo(const PointF& c0, const PointF& to);
241
247 void PathYCurveTo(const PointF& c1, const PointF& to);
248
253 void PathRect(const RectF& rect);
254
258 void PathClose();
259
264 void PathRemoveSegment(size_t index);
265
270 size_t GetTextNumRuns() const;
271
277 TextRun GetTextRun(size_t index) const;
278
284 TextRun GetTextRunAtPoint(const PointF& pagePt) const;
285
291 void TextInsertRun(size_t index, const TextRun& run);
292
297 void TextRemoveRun(size_t index);
298
304 void TextSplitRun(size_t itemIndex, size_t charIndex);
305
310 bool GetTextKnockout() const;
311
316 void SetTextKnockout(bool knockout);
317
323
328 void SetXObject(const XObject& xobject);
329
335
340 void SetShading(const Shading& shading);
341
346 bool IsImage() const;
347
353
354 PDF_CXX_CORE_WRAPPER_DEFINE_MEMBERS_(Element, PDEElement)
355};
356
357} // namespace PDF
358
359#include "element_impl.inl"
360
361#endif // PDFSDK_CXX_PDF_ELEMENT_H_INCLUDED_
Represents a clip in a PDF document.
Definition clip.h:19
Represents the content of a PDF page.
Definition content.h:20
Represents a PDF document.
Definition document.h:22
Represents a PDF content element.
Definition element.h:19
PDEImageAttrs GetImageAttrs() const
void PathVCurveTo(const PointF &c0, const PointF &to)
PDAtom GetContainerTag() const
bool IsImage() const
TextRun GetTextRun(size_t index) const
RectF GetBBox() const
Quad GetQuad() const
void TextInsertRun(size_t index, const TextRun &run)
void SetPathPaintOp(PDEPaintOp paintOp)
void PathRemoveSegment(size_t index)
void PathAddSegment(const PDEPathSegment &segment)
void SetMatrix(const Matrix &matrix)
void SetTextKnockout(bool knockout)
void SetXObject(const XObject &xobject)
Element Copy() const
OCMembership GetContainerOCMembership() const
XObject GetXObject() const
void SetShading(const Shading &shading)
static Element CreateXObject(const XObject &xobject)
Shading GetShading() const
void TextSplitRun(size_t itemIndex, size_t charIndex)
Content GetContainerContent() const
void SetContainerTag(PDAtom tag)
PDEElementType GetElementType() const
void SetGState(const GState &gstate)
Matrix GetMatrix() const
static Element CreateContainer(PDAtom tag, const Object &dict)
void TextRemoveRun(size_t index)
static Element CreateShading(const Shading &shading)
static Element CreatePath()
bool GetTextKnockout() const
size_t GetTextNumRuns() const
Object GetContainerDict() const
static Element LayoutText(const Document &doc, const std::wstring &text, const RectF &box, const PDFontInfo &fontInfo, float fontSize, PDColorValue fontColor, PDETextAlign alignment)
GState GetGState() const
bool Equals(const Element &that) const
void SetClip(const Clip &clip)
void PathLineTo(const PointF &to)
void PathYCurveTo(const PointF &c1, const PointF &to)
static Element CreateText()
PDEPaintOp GetPathPaintOp() const
void PathCurveTo(const PointF &c0, const PointF &c1, const PointF &to)
Clip GetClip() const
size_t GetPathNumSegments() const
void PathRect(const RectF &rect)
TextRun GetTextRunAtPoint(const PointF &pagePt) const
void PathClose()
PDEPathSegment GetPathSegment(size_t index) const
void PathMoveTo(const PointF &to)
bool HitTest(const PointF &point) const
void SetContainerDict(const Object &dict)
Represents the graphics state of a PDF document.
Definition gstate.h:19
Optional content membership.
Definition optional_content.h:55
Represents a PDF object.
Definition object.h:20
Represents a shading in a PDF document.
Definition shading.h:17
Represents a text run in a PDF document.
Definition text_run.h:19
Represents an XObject in a PDF document.
Definition xobject.h:22
Content API.
PDEElementType
Definition content.h:125
Definition content.h:331
Definition content.h:198
Definition math.h:1053
Definition math.h:132
Definition math.h:838
Definition math.h:545
Definition fonts.h:25