Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qsvgnode_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QSVGNODE_P_H
5#define QSVGNODE_P_H
6
7//
8// W A R N I N G
9// -------------
10//
11// This file is not part of the Qt API. It exists purely as an
12// implementation detail. This header file may change from version to
13// version without notice, or even be removed.
14//
15// We mean it.
16//
17
18#include "qsvgstyle_p.h"
19#include "qtsvgglobal_p.h"
20
21#include "QtCore/qstring.h"
22#include "QtCore/qhash.h"
23
25
26class QPainter;
28
29class Q_SVG_PRIVATE_EXPORT QSvgNode
30{
31public:
32 enum Type
33 {
52 VIDEO
53 };
72 InheritMode
73 };
74public:
76 virtual ~QSvgNode();
77 virtual void draw(QPainter *p, QSvgExtraStates &states) =0;
78
79 QSvgNode *parent() const;
80 bool isDescendantOf(const QSvgNode *parent) const;
81
82 void appendStyleProperty(QSvgStyleProperty *prop, const QString &id);
83 void applyStyle(QPainter *p, QSvgExtraStates &states) const;
84 void revertStyle(QPainter *p, QSvgExtraStates &states) const;
86 QSvgFillStyleProperty *styleProperty(const QString &id) const;
87
88 QSvgTinyDocument *document() const;
89
90 virtual Type type() const =0;
91 virtual QRectF fastBounds(QPainter *p, QSvgExtraStates &states) const;
92 virtual QRectF bounds(QPainter *p, QSvgExtraStates &states) const;
93 virtual QRectF transformedBounds(QPainter *p, QSvgExtraStates &states) const;
94 QRectF transformedBounds() const;
95
96 void setRequiredFeatures(const QStringList &lst);
97 const QStringList & requiredFeatures() const;
98
99 void setRequiredExtensions(const QStringList &lst);
100 const QStringList & requiredExtensions() const;
101
102 void setRequiredLanguages(const QStringList &lst);
103 const QStringList & requiredLanguages() const;
104
105 void setRequiredFormats(const QStringList &lst);
106 const QStringList & requiredFormats() const;
107
108 void setRequiredFonts(const QStringList &lst);
109 const QStringList & requiredFonts() const;
110
111 void setVisible(bool visible);
112 bool isVisible() const;
113
114 void setDisplayMode(DisplayMode display);
115 DisplayMode displayMode() const;
116
117 QString nodeId() const;
118 void setNodeId(const QString &i);
119
120 QString xmlClass() const;
121 void setXmlClass(const QString &str);
122
123 bool shouldDrawNode(QPainter *p, QSvgExtraStates &states) const;
124protected:
126
127 static qreal strokeWidth(QPainter *p);
128private:
129 QSvgNode *m_parent;
130
131 QStringList m_requiredFeatures;
132 QStringList m_requiredExtensions;
133 QStringList m_requiredLanguages;
134 QStringList m_requiredFormats;
135 QStringList m_requiredFonts;
136
137 bool m_visible;
138
139 QString m_id;
140 QString m_class;
141
142 DisplayMode m_displayMode;
143 mutable QRectF m_cachedBounds;
144
145 friend class QSvgTinyDocument;
146};
147
149{
150 return m_parent;
151}
152
153inline bool QSvgNode::isVisible() const
154{
155 return m_visible;
156}
157
159{
160 return m_id;
161}
162
164{
165 return m_class;
166}
167
169
170#endif // QSVGNODE_P_H
The QPainter class performs low-level painting on widgets and other paint devices.
Definition qpainter.h:46
\inmodule QtCore\reentrant
Definition qrect.h:483
\inmodule QtCore
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:127
@ TableCaptionMode
Definition qsvgnode_p.h:70
@ TableColumnMode
Definition qsvgnode_p.h:68
@ TableRowMode
Definition qsvgnode_p.h:66
@ TableColumnGroupMode
Definition qsvgnode_p.h:67
@ TableCellMode
Definition qsvgnode_p.h:69
@ CompactMode
Definition qsvgnode_p.h:59
@ TableRowGroupMode
Definition qsvgnode_p.h:63
@ TableHeaderGroupMode
Definition qsvgnode_p.h:64
@ InlineTableMode
Definition qsvgnode_p.h:62
@ TableFooterGroupMode
Definition qsvgnode_p.h:65
@ ListItemMode
Definition qsvgnode_p.h:57
QString xmlClass() const
Definition qsvgnode_p.h:163
QSvgNode * parent() const
Definition qsvgnode_p.h:148
virtual void draw(QPainter *p, QSvgExtraStates &states)=0
QSvgStyle m_style
Definition qsvgnode_p.h:125
QString nodeId() const
Definition qsvgnode_p.h:158
bool isVisible() const
Definition qsvgnode_p.h:153
virtual Type type() const =0
QString str
[2]
struct wl_display * display
Definition linuxdmabuf.h:41
Combined button and popup list for selecting options.
GLenum type
GLfloat GLfloat p
[1]
GLuint * states
double qreal
Definition qtypes.h:92
edit isVisible()
Definition moc.h:24
IUIAutomationTreeWalker __RPC__deref_out_opt IUIAutomationElement ** parent