6#include "qml_material/util/corner.hpp"
11class Rectangle :
public QQuickItem {
13 QML_NAMED_ELEMENT(RectangleImpl)
15 Q_PROPERTY(qreal radius READ radius WRITE setRadius NOTIFY radiusChanged FINAL)
16 Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged FINAL)
17 Q_PROPERTY(qml_material::CornersGroup corners READ corners WRITE setCorners NOTIFY
20 Rectangle(QQuickItem* parent =
nullptr);
21 ~Rectangle()
override;
23 auto corners() const -> CornersGroup;
24 void setCorners(const CornersGroup&);
25 Q_SIGNAL
void cornersChanged();
28 void setRadius(qreal newRadius);
29 Q_SIGNAL
void radiusChanged();
32 void setColor(const QColor& newColor);
33 Q_SIGNAL
void colorChanged();
35 void componentComplete() override;
38 void itemChange(QQuickItem::ItemChange change,
39 const QQuickItem::ItemChangeData& value) override;
40 QSGNode* updatePaintNode(QSGNode* node, QQuickItem::UpdatePaintNodeData* data) override;
43 CornersGroup m_corners;