105 Q_PROPERTY(qreal centerX READ centerX WRITE setCenterX NOTIFY centerXChanged)
106 Q_PROPERTY(qreal centerY READ centerY WRITE setCenterY NOTIFY centerYChanged)
107 Q_PROPERTY(qreal centerRadius READ centerRadius WRITE setCenterRadius NOTIFY centerRadiusChanged)
108 Q_PROPERTY(qreal focalX READ focalX WRITE setFocalX NOTIFY focalXChanged)
109 Q_PROPERTY(qreal focalY READ focalY WRITE setFocalY NOTIFY focalYChanged)
110 Q_PROPERTY(qreal focalRadius READ focalRadius WRITE setFocalRadius NOTIFY focalRadiusChanged)
111 Q_CLASSINFO(
"DefaultProperty",
"stops")
112 QML_NAMED_ELEMENT(RadialGradient)
113 QML_ADDED_IN_VERSION(1, 0)
116 QQuickShapeRadialGradient(QObject *parent =
nullptr);
118 qreal centerX()
const;
119 void setCenterX(qreal v);
121 qreal centerY()
const;
122 void setCenterY(qreal v);
124 qreal centerRadius()
const;
125 void setCenterRadius(qreal v);
127 qreal focalX()
const;
128 void setFocalX(qreal v);
130 qreal focalY()
const;
131 void setFocalY(qreal v);
133 qreal focalRadius()
const;
134 void setFocalRadius(qreal v);
137 void centerXChanged();
138 void centerYChanged();
139 void focalXChanged();
140 void focalYChanged();
141 void centerRadiusChanged();
142 void focalRadiusChanged();
145 QPointF m_centerPoint;
146 QPointF m_focalPoint;
147 qreal m_centerRadius = 0;
148 qreal m_focalRadius = 0;
219 Q_PROPERTY(QColor strokeColor READ strokeColor WRITE setStrokeColor NOTIFY strokeColorChanged)
220 Q_PROPERTY(qreal strokeWidth READ strokeWidth WRITE setStrokeWidth NOTIFY strokeWidthChanged)
221 Q_PROPERTY(QColor fillColor READ fillColor WRITE setFillColor NOTIFY fillColorChanged)
222 Q_PROPERTY(FillRule fillRule READ fillRule WRITE setFillRule NOTIFY fillRuleChanged)
223 Q_PROPERTY(JoinStyle joinStyle READ joinStyle WRITE setJoinStyle NOTIFY joinStyleChanged)
224 Q_PROPERTY(
int miterLimit READ miterLimit WRITE setMiterLimit NOTIFY miterLimitChanged)
225 Q_PROPERTY(CapStyle capStyle READ capStyle WRITE setCapStyle NOTIFY capStyleChanged)
226 Q_PROPERTY(StrokeStyle strokeStyle READ strokeStyle WRITE setStrokeStyle NOTIFY strokeStyleChanged)
227 Q_PROPERTY(qreal dashOffset READ dashOffset WRITE setDashOffset NOTIFY dashOffsetChanged)
228 Q_PROPERTY(QVector<qreal> dashPattern READ dashPattern WRITE setDashPattern NOTIFY dashPatternChanged)
229 Q_PROPERTY(QQuickShapeGradient *fillGradient READ fillGradient WRITE setFillGradient RESET resetFillGradient)
230 Q_PROPERTY(QSizeF scale READ scale WRITE setScale NOTIFY scaleChanged REVISION(1, 14))
231 Q_PROPERTY(PathHints pathHints READ pathHints WRITE setPathHints NOTIFY pathHintsChanged REVISION(6, 7) FINAL)
232 Q_PROPERTY(QMatrix4x4 fillTransform READ fillTransform WRITE setFillTransform NOTIFY fillTransformChanged REVISION(6, 8) FINAL)
233 Q_PROPERTY(QQuickItem *fillItem READ fillItem WRITE setFillItem NOTIFY fillItemChanged REVISION(6, 8) FINAL)
234 Q_PROPERTY(QQuickShapeTrim *trim READ trim CONSTANT REVISION(6, 10) FINAL)
235 Q_PROPERTY(
bool cosmeticStroke READ cosmeticStroke WRITE setCosmeticStroke NOTIFY cosmeticStrokeChanged REVISION(6, 11) FINAL)
236 QML_NAMED_ELEMENT(ShapePath)
237 QML_ADDED_IN_VERSION(1, 0)
241 OddEvenFill = Qt::OddEvenFill,
242 WindingFill = Qt::WindingFill
247 MiterJoin = Qt::MiterJoin,
248 BevelJoin = Qt::BevelJoin,
249 RoundJoin = Qt::RoundJoin
254 FlatCap = Qt::FlatCap,
255 SquareCap = Qt::SquareCap,
256 RoundCap = Qt::RoundCap
261 SolidLine = Qt::SolidLine,
262 DashLine = Qt::DashLine
270 PathFillOnRight = 0x8,
272 PathNonIntersecting = 0x20,
273 PathNonOverlappingControlPointTriangles = 0x40
275 Q_DECLARE_FLAGS(PathHints, PathHint)
278 QQuickShapePath(QObject *parent =
nullptr);
281 QColor strokeColor()
const;
282 void setStrokeColor(
const QColor &color);
284 qreal strokeWidth()
const;
285 void setStrokeWidth(qreal w);
287 QColor fillColor()
const;
288 void setFillColor(
const QColor &color);
290 FillRule fillRule()
const;
291 void setFillRule(FillRule fillRule);
293 JoinStyle joinStyle()
const;
294 void setJoinStyle(JoinStyle style);
296 int miterLimit()
const;
297 void setMiterLimit(
int limit);
299 CapStyle capStyle()
const;
300 void setCapStyle(CapStyle style);
302 StrokeStyle strokeStyle()
const;
303 void setStrokeStyle(StrokeStyle style);
305 qreal dashOffset()
const;
306 void setDashOffset(qreal offset);
308 QVector<qreal> dashPattern()
const;
309 void setDashPattern(
const QVector<qreal> &array);
311 QQuickShapeGradient *fillGradient()
const;
312 void setFillGradient(QQuickShapeGradient *gradient);
313 void resetFillGradient();
315 PathHints pathHints()
const;
316 void setPathHints(PathHints newPathHints);
318 QMatrix4x4 fillTransform()
const;
319 void setFillTransform(
const QMatrix4x4 &matrix);
321 QQuickItem *fillItem()
const;
322 void setFillItem(QQuickItem *newFillItem);
324 QQuickShapeTrim *trim();
325 bool hasTrim()
const;
327 bool cosmeticStroke()
const;
328 void setCosmeticStroke(
bool c);
331 void shapePathChanged();
332 void strokeColorChanged();
333 void strokeWidthChanged();
334 void fillColorChanged();
335 void fillRuleChanged();
336 void joinStyleChanged();
337 void miterLimitChanged();
338 void capStyleChanged();
339 void strokeStyleChanged();
340 void dashOffsetChanged();
341 void dashPatternChanged();
343 Q_REVISION(6, 7)
void pathHintsChanged();
344 Q_REVISION(6, 8)
void fillTransformChanged();
345 Q_REVISION(6, 8)
void fillItemChanged();
346 Q_REVISION(6, 11)
void cosmeticStrokeChanged();
349 Q_DISABLE_COPY(QQuickShapePath)
350 Q_DECLARE_PRIVATE(QQuickShapePath)
351 Q_PRIVATE_SLOT(d_func(),
void _q_fillGradientChanged())
352 Q_PRIVATE_SLOT(d_func(),
void _q_fillItemDestroyed())
357class Q_QUICKSHAPES_EXPORT QQuickShape :
public QQuickItem
360 Q_PROPERTY(RendererType rendererType READ rendererType NOTIFY rendererChanged)
361 Q_PROPERTY(
bool asynchronous READ asynchronous WRITE setAsynchronous NOTIFY asynchronousChanged)
362 Q_PROPERTY(
bool vendorExtensionsEnabled READ vendorExtensionsEnabled WRITE setVendorExtensionsEnabled NOTIFY vendorExtensionsEnabledChanged)
363 Q_PROPERTY(RendererType preferredRendererType READ preferredRendererType
364 WRITE setPreferredRendererType NOTIFY preferredRendererTypeChanged REVISION(6, 6) FINAL)
365 Q_PROPERTY(Status status READ status NOTIFY statusChanged)
366 Q_PROPERTY(ContainsMode containsMode READ containsMode WRITE setContainsMode NOTIFY containsModeChanged REVISION(1, 11))
367 Q_PROPERTY(QRectF boundingRect READ boundingRect NOTIFY boundingRectChanged REVISION(6, 6) FINAL)
368 Q_PROPERTY(FillMode fillMode READ fillMode WRITE setFillMode NOTIFY fillModeChanged REVISION(6, 7) FINAL)
369 Q_PROPERTY(HAlignment horizontalAlignment READ horizontalAlignment WRITE setHorizontalAlignment NOTIFY horizontalAlignmentChanged REVISION(6, 7) FINAL)
370 Q_PROPERTY(VAlignment verticalAlignment READ verticalAlignment WRITE setVerticalAlignment NOTIFY verticalAlignmentChanged REVISION(6, 7) FINAL)
372 Q_PROPERTY(QQmlListProperty<QObject> data READ data)
373 Q_CLASSINFO(
"DefaultProperty",
"data")
374 QML_NAMED_ELEMENT(Shape)
375 QML_ADDED_IN_VERSION(1, 0)
395 BoundingRectContains,
408 enum HAlignment { AlignLeft = Qt::AlignLeft,
409 AlignRight = Qt::AlignRight,
410 AlignHCenter = Qt::AlignHCenter };
412 enum VAlignment { AlignTop = Qt::AlignTop,
413 AlignBottom = Qt::AlignBottom,
414 AlignVCenter = Qt::AlignVCenter };
417 QQuickShape(QQuickItem *parent =
nullptr);
420 RendererType rendererType()
const;
422 bool asynchronous()
const;
423 void setAsynchronous(
bool async);
425 Q_REVISION(6, 6) RendererType preferredRendererType()
const;
426 Q_REVISION(6, 6)
void setPreferredRendererType(RendererType preferredType);
428 Q_REVISION(6, 6) QRectF boundingRect()
const override;
430 bool vendorExtensionsEnabled()
const;
431 void setVendorExtensionsEnabled(
bool enable);
433 Status status()
const;
435 ContainsMode containsMode()
const;
436 void setContainsMode(ContainsMode containsMode);
438 bool contains(
const QPointF &point)
const override;
440 QQmlListProperty<QObject> data();
442 Q_REVISION(6, 7) FillMode fillMode()
const;
443 Q_REVISION(6, 7)
void setFillMode(FillMode newFillMode);
445 Q_REVISION(6, 7) HAlignment horizontalAlignment()
const;
446 Q_REVISION(6, 7)
void setHorizontalAlignment(HAlignment newHorizontalAlignment);
448 Q_REVISION(6, 7) VAlignment verticalAlignment()
const;
449 Q_REVISION(6, 7)
void setVerticalAlignment(VAlignment newVerticalAlignment);
452 QQuickShape(QQuickShapePrivate &dd, QQuickItem *parent);
454 QSGNode *updatePaintNode(QSGNode *node, UpdatePaintNodeData *) override;
455 void updatePolish() override;
456 void itemChange(ItemChange change,
const ItemChangeData &data) override;
457 void componentComplete() override;
458 void classBegin() override;
461 void rendererChanged();
462 void asynchronousChanged();
463 void vendorExtensionsEnabledChanged();
464 void statusChanged();
465 Q_REVISION(6, 6)
void preferredRendererTypeChanged();
466 Q_REVISION(6, 6)
void boundingRectChanged();
467 Q_REVISION(1, 11)
void containsModeChanged();
469 Q_REVISION(6, 7)
void fillModeChanged();
470 Q_REVISION(6, 7)
void horizontalAlignmentChanged();
471 Q_REVISION(6, 7)
void verticalAlignmentChanged();
474 Q_DISABLE_COPY(QQuickShape)
475 Q_DECLARE_PRIVATE(QQuickShape)
476 Q_PRIVATE_SLOT(d_func(),
void _q_shapePathChanged())