15 Q_PROPERTY(MaterialShape::Type shape READ shape WRITE setShape NOTIFY shapeChanged FINAL)
17 MaterialShape::Type toShape READ toShape WRITE setToShape NOTIFY toShapeChanged FINAL)
18 Q_PROPERTY(qreal progress READ progress WRITE setProgress NOTIFY progressChanged FINAL)
19 Q_PROPERTY(QSizeF size READ size WRITE setSize NOTIFY sizeChanged FINAL)
20 Q_PROPERTY(qreal startAngle READ startAngle WRITE setStartAngle NOTIFY startAngleChanged FINAL)
21 Q_PROPERTY(
bool radialNormalization READ radialNormalization WRITE setRadialNormalization NOTIFY
22 radialNormalizationChanged FINAL)
25 MaterialShape::Type shape()
const {
return m_shape; }
26 MaterialShape::Type toShape()
const {
return m_toShape; }
27 qreal progress()
const {
return m_progress; }
28 QSizeF size()
const {
return m_size; }
29 qreal startAngle()
const {
return m_startAngle; }
30 bool radialNormalization()
const {
return m_radial; }
31 void setShape(MaterialShape::Type shape);
32 void setToShape(MaterialShape::Type shape);
33 void setProgress(qreal progress);
34 void setSize(QSizeF size);
35 void setStartAngle(qreal angle);
36 void setRadialNormalization(
bool radial);
37 Q_SIGNAL
void shapeChanged();
38 Q_SIGNAL
void toShapeChanged();
39 Q_SIGNAL
void progressChanged();
40 Q_SIGNAL
void sizeChanged();
41 Q_SIGNAL
void startAngleChanged();
42 Q_SIGNAL
void radialNormalizationChanged();
45 void updateGeometry();
47 MaterialShape::Type m_shape = MaterialShape::Circle;
48 MaterialShape::Type m_toShape = MaterialShape::None;
50 QSizeF m_size { 1, 1 };
51 qreal m_startAngle = 0;
52 bool m_radial =
false;
53 std::shared_ptr<const Morph> m_morph;