106 Q_PROPERTY(qreal centerX READ centerX WRITE setCenterX NOTIFY centerXChanged)
107 Q_PROPERTY(qreal centerY READ centerY WRITE setCenterY NOTIFY centerYChanged)
108 Q_PROPERTY(qreal centerRadius READ centerRadius WRITE setCenterRadius NOTIFY centerRadiusChanged)
109 Q_PROPERTY(qreal focalX READ focalX WRITE setFocalX NOTIFY focalXChanged)
110 Q_PROPERTY(qreal focalY READ focalY WRITE setFocalY NOTIFY focalYChanged)
111 Q_PROPERTY(qreal focalRadius READ focalRadius WRITE setFocalRadius NOTIFY focalRadiusChanged)
112 Q_CLASSINFO(
"DefaultProperty",
"stops")
113 QML_NAMED_ELEMENT(RadialGradient)
114 QML_ADDED_IN_VERSION(1, 0)
117 QQuickShapeRadialGradient(QObject *parent =
nullptr);
119 qreal centerX()
const;
120 void setCenterX(qreal v);
122 qreal centerY()
const;
123 void setCenterY(qreal v);
125 qreal centerRadius()
const;
126 void setCenterRadius(qreal v);
128 qreal focalX()
const;
129 void setFocalX(qreal v);
131 qreal focalY()
const;
132 void setFocalY(qreal v);
134 qreal focalRadius()
const;
135 void setFocalRadius(qreal v);
138 void centerXChanged();
139 void centerYChanged();
140 void focalXChanged();
141 void focalYChanged();
142 void centerRadiusChanged();
143 void focalRadiusChanged();
146 QPointF m_centerPoint;
147 QPointF m_focalPoint;
148 qreal m_centerRadius = 0;
149 qreal m_focalRadius = 0;
220 Q_PROPERTY(QColor strokeColor READ strokeColor WRITE setStrokeColor NOTIFY strokeColorChanged)
221 Q_PROPERTY(qreal strokeWidth READ strokeWidth WRITE setStrokeWidth NOTIFY strokeWidthChanged)
222 Q_PROPERTY(QColor fillColor READ fillColor WRITE setFillColor NOTIFY fillColorChanged)
223 Q_PROPERTY(FillRule fillRule READ fillRule WRITE setFillRule NOTIFY fillRuleChanged)
224 Q_PROPERTY(JoinStyle joinStyle READ joinStyle WRITE setJoinStyle NOTIFY joinStyleChanged)
225 Q_PROPERTY(
int miterLimit READ miterLimit WRITE setMiterLimit NOTIFY miterLimitChanged)
226 Q_PROPERTY(CapStyle capStyle READ capStyle WRITE setCapStyle NOTIFY capStyleChanged)
227 Q_PROPERTY(StrokeStyle strokeStyle READ strokeStyle WRITE setStrokeStyle NOTIFY strokeStyleChanged)
228 Q_PROPERTY(qreal dashOffset READ dashOffset WRITE setDashOffset NOTIFY dashOffsetChanged)
229 Q_PROPERTY(QList<qreal> dashPattern READ dashPattern WRITE setDashPattern NOTIFY dashPatternChanged)
230 Q_PROPERTY(QQuickShapeGradient *fillGradient READ fillGradient WRITE setFillGradient NOTIFY fillGradientChanged RESET resetFillGradient)
231 Q_PROPERTY(QSizeF scale READ scale WRITE setScale NOTIFY scaleChanged OVERRIDE REVISION(1, 14))
232 Q_PROPERTY(PathHints pathHints READ pathHints WRITE setPathHints NOTIFY pathHintsChanged REVISION(6, 7) FINAL)
233 Q_PROPERTY(QMatrix4x4 fillTransform READ fillTransform WRITE setFillTransform NOTIFY fillTransformChanged REVISION(6, 8) FINAL)
234 Q_PROPERTY(QQuickItem *fillItem READ fillItem WRITE setFillItem NOTIFY fillItemChanged REVISION(6, 8) FINAL)
235 Q_PROPERTY(QQuickShapeTrim *trim READ trim CONSTANT REVISION(6, 10) FINAL)
236 Q_PROPERTY(
bool cosmeticStroke READ cosmeticStroke WRITE setCosmeticStroke NOTIFY cosmeticStrokeChanged REVISION(6, 11) FINAL)
237 Q_PROPERTY(QQuickShapeGradient *strokeGradient READ strokeGradient WRITE setStrokeGradient NOTIFY strokeGradientChanged RESET resetStrokeGradient REVISION(6, 12))
238 Q_PROPERTY(
bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged REVISION(6, 13) FINAL)
239 QML_NAMED_ELEMENT(ShapePath)
240 QML_ADDED_IN_VERSION(1, 0)
244 OddEvenFill = Qt::OddEvenFill,
245 WindingFill = Qt::WindingFill
250 MiterJoin = Qt::MiterJoin,
251 BevelJoin = Qt::BevelJoin,
252 RoundJoin = Qt::RoundJoin
257 FlatCap = Qt::FlatCap,
258 SquareCap = Qt::SquareCap,
259 RoundCap = Qt::RoundCap
264 SolidLine = Qt::SolidLine,
265 DashLine = Qt::DashLine
273 PathFillOnRight = 0x8,
275 PathNonIntersecting = 0x20,
276 PathNonOverlappingControlPointTriangles = 0x40
278 Q_DECLARE_FLAGS(PathHints, PathHint)
281 QQuickShapePath(QObject *parent =
nullptr);
284 QColor strokeColor()
const;
285 void setStrokeColor(
const QColor &color);
287 qreal strokeWidth()
const;
288 void setStrokeWidth(qreal w);
290 void setStrokeGradient(QQuickShapeGradient *gradient);
291 QQuickShapeGradient *strokeGradient()
const;
292 void resetStrokeGradient();
294 QColor fillColor()
const;
295 void setFillColor(
const QColor &color);
297 FillRule fillRule()
const;
298 void setFillRule(FillRule fillRule);
300 JoinStyle joinStyle()
const;
301 void setJoinStyle(JoinStyle style);
303 int miterLimit()
const;
304 void setMiterLimit(
int limit);
306 CapStyle capStyle()
const;
307 void setCapStyle(CapStyle style);
309 StrokeStyle strokeStyle()
const;
310 void setStrokeStyle(StrokeStyle style);
312 qreal dashOffset()
const;
313 void setDashOffset(qreal offset);
315 QList<qreal> dashPattern()
const;
316 void setDashPattern(
const QList<qreal> &array);
318 QQuickShapeGradient *fillGradient()
const;
319 void setFillGradient(QQuickShapeGradient *gradient);
320 void resetFillGradient();
322 PathHints pathHints()
const;
323 void setPathHints(PathHints newPathHints);
325 QMatrix4x4 fillTransform()
const;
326 void setFillTransform(
const QMatrix4x4 &matrix);
328 QQuickItem *fillItem()
const;
329 void setFillItem(QQuickItem *newFillItem);
331 QQuickShapeTrim *trim();
332 bool hasTrim()
const;
334 bool cosmeticStroke()
const;
335 void setCosmeticStroke(
bool c);
337 bool isVisible()
const;
338 void setVisible(
bool visible);
341 void shapePathChanged();
342 void strokeColorChanged();
343 void strokeWidthChanged();
344 void fillColorChanged();
345 void fillRuleChanged();
346 void joinStyleChanged();
347 void miterLimitChanged();
348 void capStyleChanged();
349 void strokeStyleChanged();
350 void dashOffsetChanged();
351 void dashPatternChanged();
352 Q_REVISION(6, 11)
void fillGradientChanged();
354 Q_REVISION(6, 7)
void pathHintsChanged();
355 Q_REVISION(6, 8)
void fillTransformChanged();
356 Q_REVISION(6, 8)
void fillItemChanged();
357 Q_REVISION(6, 11)
void cosmeticStrokeChanged();
358 Q_REVISION(6, 12)
void strokeGradientChanged();
359 Q_REVISION(6, 13)
void visibleChanged();
362 Q_DISABLE_COPY(QQuickShapePath)
363 Q_DECLARE_PRIVATE(QQuickShapePath)
364 Q_PRIVATE_SLOT(d_func(),
void _q_fillGradientChanged())
365 Q_PRIVATE_SLOT(d_func(),
void _q_strokeGradientChanged())
366 Q_PRIVATE_SLOT(d_func(),
void _q_fillItemDestroyed())
371class Q_QUICKSHAPES_EXPORT QQuickShape :
public QQuickItem
374 Q_PROPERTY(RendererType rendererType READ rendererType NOTIFY rendererChanged)
375 Q_PROPERTY(
bool asynchronous READ asynchronous WRITE setAsynchronous NOTIFY asynchronousChanged)
376 Q_PROPERTY(
bool vendorExtensionsEnabled READ vendorExtensionsEnabled WRITE setVendorExtensionsEnabled NOTIFY vendorExtensionsEnabledChanged)
377 Q_PROPERTY(RendererType preferredRendererType READ preferredRendererType
378 WRITE setPreferredRendererType NOTIFY preferredRendererTypeChanged REVISION(6, 6) FINAL)
379 Q_PROPERTY(Status status READ status NOTIFY statusChanged)
380 Q_PROPERTY(ContainsMode containsMode READ containsMode WRITE setContainsMode NOTIFY containsModeChanged REVISION(1, 11))
381 Q_PROPERTY(QRectF boundingRect READ boundingRect NOTIFY boundingRectChanged REVISION(6, 6) FINAL)
382 Q_PROPERTY(FillMode fillMode READ fillMode WRITE setFillMode NOTIFY fillModeChanged REVISION(6, 7) FINAL)
383 Q_PROPERTY(HAlignment horizontalAlignment READ horizontalAlignment WRITE setHorizontalAlignment NOTIFY horizontalAlignmentChanged REVISION(6, 7) FINAL)
384 Q_PROPERTY(VAlignment verticalAlignment READ verticalAlignment WRITE setVerticalAlignment NOTIFY verticalAlignmentChanged REVISION(6, 7) FINAL)
386 Q_PROPERTY(QQmlListProperty<QObject> data READ data OVERRIDE)
387 Q_CLASSINFO(
"DefaultProperty",
"data")
388 QML_NAMED_ELEMENT(Shape)
389 QML_ADDED_IN_VERSION(1, 0)
409 BoundingRectContains,
422 enum HAlignment { AlignLeft = Qt::AlignLeft,
423 AlignRight = Qt::AlignRight,
424 AlignHCenter = Qt::AlignHCenter };
426 enum VAlignment { AlignTop = Qt::AlignTop,
427 AlignBottom = Qt::AlignBottom,
428 AlignVCenter = Qt::AlignVCenter };
431 QQuickShape(QQuickItem *parent =
nullptr);
434 RendererType rendererType()
const;
436 bool asynchronous()
const;
437 void setAsynchronous(
bool async);
439 Q_REVISION(6, 6) RendererType preferredRendererType()
const;
440 Q_REVISION(6, 6)
void setPreferredRendererType(RendererType preferredType);
442 Q_REVISION(6, 6) QRectF boundingRect()
const override;
444 bool vendorExtensionsEnabled()
const;
445 void setVendorExtensionsEnabled(
bool enable);
447 Status status()
const;
449 ContainsMode containsMode()
const;
450 void setContainsMode(ContainsMode containsMode);
452 bool contains(
const QPointF &point)
const override;
454 QQmlListProperty<QObject> data();
456 Q_REVISION(6, 7) FillMode fillMode()
const;
457 Q_REVISION(6, 7)
void setFillMode(FillMode newFillMode);
459 Q_REVISION(6, 7) HAlignment horizontalAlignment()
const;
460 Q_REVISION(6, 7)
void setHorizontalAlignment(HAlignment newHorizontalAlignment);
462 Q_REVISION(6, 7) VAlignment verticalAlignment()
const;
463 Q_REVISION(6, 7)
void setVerticalAlignment(VAlignment newVerticalAlignment);
466 QQuickShape(QQuickShapePrivate &dd, QQuickItem *parent);
468 QSGNode *updatePaintNode(QSGNode *node, UpdatePaintNodeData *) override;
469 void updatePolish() override;
470 void itemChange(ItemChange change,
const ItemChangeData &data) override;
471 void componentComplete() override;
472 void classBegin() override;
475 void rendererChanged();
476 void asynchronousChanged();
477 void vendorExtensionsEnabledChanged();
478 void statusChanged();
479 Q_REVISION(6, 6)
void preferredRendererTypeChanged();
480 Q_REVISION(6, 6)
void boundingRectChanged();
481 Q_REVISION(1, 11)
void containsModeChanged();
483 Q_REVISION(6, 7)
void fillModeChanged();
484 Q_REVISION(6, 7)
void horizontalAlignmentChanged();
485 Q_REVISION(6, 7)
void verticalAlignmentChanged();
488 Q_DISABLE_COPY(QQuickShape)
489 Q_DECLARE_PRIVATE(QQuickShape)
490 Q_PRIVATE_SLOT(d_func(),
void _q_shapePathChanged())