6#include "qml_material/util/corner.hpp"
11class Rectangle :
public QQuickItem {
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(CornersGroup corners READ corners WRITE setCorners NOTIFY cornersChanged FINAL)
19 Rectangle(QQuickItem* parent =
nullptr);
20 ~Rectangle()
override;
22 auto corners() const -> CornersGroup;
23 void setCorners(const CornersGroup&);
24 Q_SIGNAL
void cornersChanged();
27 void setRadius(qreal newRadius);
28 Q_SIGNAL
void radiusChanged();
31 void setColor(const QColor& newColor);
32 Q_SIGNAL
void colorChanged();
34 void componentComplete() override;
37 void itemChange(QQuickItem::ItemChange change,
38 const QQuickItem::ItemChangeData& value) override;
39 QSGNode* updatePaintNode(QSGNode* node, QQuickItem::UpdatePaintNodeData* data) override;
42 CornersGroup m_corners;