27 Q_DECLARE_PUBLIC(QQuickRectangleShape)
30 QQuickRectangleShapePrivate() =
default;
32 static QQuickRectangleShapePrivate *get(QQuickRectangleShape *p) {
return p->d_func(); }
34 void setTopLeftRadius(
int topLeftRadius, QQml::PropertyUtils::State propertyState);
35 void setTopRightRadius(
int topRightRadius, QQml::PropertyUtils::State propertyState);
36 void setBottomLeftRadius(
int bottomLeftRadius, QQml::PropertyUtils::State propertyState);
37 void setBottomRightRadius(
int bottomRightRadius, QQml::PropertyUtils::State propertyState);
39 void setTopLeftBevel(
bool topLeftBevel, QQml::PropertyUtils::State propertyState);
40 void setTopRightBevel(
bool topRightBevel, QQml::PropertyUtils::State propertyState);
41 void setBottomLeftBevel(
bool bottomLeftBevel, QQml::PropertyUtils::State propertyState);
42 void setBottomRightBevel(
bool bottomRightBevel, QQml::PropertyUtils::State propertyState);
44 void maybeUpdateElements();
46 void calculateIndependentRadii();
56 QQuickShapePath *shapePath =
nullptr;
58 QQuickPathLine *topPathLine =
nullptr;
59 QQuickPathMove *topPathMove =
nullptr;
60 QQuickPathArc *topRightPathArc =
nullptr;
61 QQuickPathLine *rightPathLine =
nullptr;
62 QQuickPathMove *rightPathMove =
nullptr;
63 QQuickPathArc *bottomRightPathArc =
nullptr;
64 QQuickPathLine *bottomPathLine =
nullptr;
65 QQuickPathMove *bottomPathMove =
nullptr;
66 QQuickPathArc *bottomLeftPathArc =
nullptr;
67 QQuickPathLine *leftPathLine =
nullptr;
68 QQuickPathArc *topLeftPathArc =
nullptr;
70 static const int defaultRadius = 10;
71 static const bool defaultDrawEdge =
true;
72 static const bool defaultBevel =
false;
74 int radius = defaultRadius;
75 int topLeftRadius = defaultRadius;
76 int topRightRadius = defaultRadius;
77 int bottomLeftRadius = defaultRadius;
78 int bottomRightRadius = defaultRadius;
79 int effectiveTopLeftRadius = 0;
80 int effectiveTopRightRadius = 0;
81 int effectiveBottomLeftRadius = 0;
82 int effectiveBottomRightRadius = 0;
84 bool explicitTopLeftRadius =
false;
85 bool explicitTopRightRadius =
false;
86 bool explicitBottomLeftRadius =
false;
87 bool explicitBottomRightRadius =
false;
88 bool drawTop = defaultDrawEdge;
89 bool drawRight = defaultDrawEdge;
90 bool drawBottom = defaultDrawEdge;
91 bool drawLeft = defaultDrawEdge;
92 bool bevel = defaultBevel;
93 bool topLeftBevel = defaultBevel;
94 bool topRightBevel = defaultBevel;
95 bool bottomLeftBevel = defaultBevel;
96 bool bottomRightBevel = defaultBevel;
98 bool explicitTopLeftBevel =
false;
99 bool explicitTopRightBevel =
false;
100 bool explicitBottomLeftBevel =
false;
101 bool explicitBottomRightBevel =
false;
102 qreal borderOffset = 0;
103 qreal borderRadiusAdjustment = 0;
104 Edge firstVisibleEdge = Edge::NEdges;
105 QQuickRectangleShape::BorderMode borderMode = QQuickRectangleShape::BorderMode::Inside;