Fluid 1.3.0
Material Design for QtQuick and Qml
Loading...
Searching...
No Matches
shapetokens.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: 2026 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
2// SPDX-License-Identifier: MPL-2.0
3
4#pragma once
5
6#include <QtCore/qobject.h>
7#include <QtQml/qqmlregistration.h>
8
9namespace Fluid {
10
12{
13 Q_GADGET
14 QML_ELEMENT
15 QML_VALUE_TYPE(shapeValue)
16
17 Q_PROPERTY(qreal topLeft MEMBER topLeft CONSTANT FINAL)
18 Q_PROPERTY(qreal topRight MEMBER topRight CONSTANT FINAL)
19 Q_PROPERTY(qreal bottomRight MEMBER bottomRight CONSTANT FINAL)
20 Q_PROPERTY(qreal bottomLeft MEMBER bottomLeft CONSTANT FINAL)
21
22public:
23 constexpr ShapeValue(qreal topLeft = 0.0, qreal topRight = 0.0, qreal bottomRight = 0.0,
24 qreal bottomLeft = 0.0)
29 {
30 }
31
32 qreal topLeft;
33 qreal topRight;
34 qreal bottomRight;
35 qreal bottomLeft;
36};
37
48{
49 Q_GADGET
50 QML_ANONYMOUS
51
53 Q_PROPERTY(Fluid::ShapeValue cornerExtraLarge READ cornerExtraLarge CONSTANT FINAL)
55 FINAL)
57 Q_PROPERTY(Fluid::ShapeValue cornerExtraSmall READ cornerExtraSmall CONSTANT FINAL)
59 Q_PROPERTY(Fluid::ShapeValue cornerFull READ cornerFull CONSTANT FINAL)
60 Q_PROPERTY(Fluid::ShapeValue cornerLarge READ cornerLarge CONSTANT FINAL)
61 Q_PROPERTY(Fluid::ShapeValue cornerLargeEnd READ cornerLargeEnd CONSTANT FINAL)
63 Q_PROPERTY(Fluid::ShapeValue cornerLargeStart READ cornerLargeStart CONSTANT FINAL)
64 Q_PROPERTY(Fluid::ShapeValue cornerLargeTop READ cornerLargeTop CONSTANT FINAL)
65 Q_PROPERTY(Fluid::ShapeValue cornerMedium READ cornerMedium CONSTANT FINAL)
66 Q_PROPERTY(Fluid::ShapeValue cornerNone READ cornerNone CONSTANT FINAL)
67 Q_PROPERTY(Fluid::ShapeValue cornerSmall READ cornerSmall CONSTANT FINAL)
68 Q_PROPERTY(qreal cornerValueExtraExtraLarge READ cornerValueExtraExtraLarge CONSTANT FINAL)
69 Q_PROPERTY(qreal cornerValueExtraLarge READ cornerValueExtraLarge CONSTANT FINAL)
70 Q_PROPERTY(
72 Q_PROPERTY(qreal cornerValueExtraSmall READ cornerValueExtraSmall CONSTANT FINAL)
73 Q_PROPERTY(qreal cornerValueFull READ cornerValueFull CONSTANT FINAL)
74 Q_PROPERTY(qreal cornerValueLarge READ cornerValueLarge CONSTANT FINAL)
75 Q_PROPERTY(qreal cornerValueLargeIncreased READ cornerValueLargeIncreased CONSTANT FINAL)
76 Q_PROPERTY(qreal cornerValueMedium READ cornerValueMedium CONSTANT FINAL)
77 Q_PROPERTY(qreal cornerValueNone READ cornerValueNone CONSTANT FINAL)
78 Q_PROPERTY(qreal cornerValueSmall READ cornerValueSmall CONSTANT FINAL)
79
80public:
82 {
83 return { m_cornerValueExtraExtraLarge, m_cornerValueExtraExtraLarge,
84 m_cornerValueExtraExtraLarge, m_cornerValueExtraExtraLarge };
85 }
86 constexpr ShapeValue cornerExtraLarge() const
87 {
88 return { m_cornerValueExtraLarge, m_cornerValueExtraLarge, m_cornerValueExtraLarge,
89 m_cornerValueExtraLarge };
90 }
92 {
93 return { m_cornerValueExtraLargeIncreased, m_cornerValueExtraLargeIncreased,
94 m_cornerValueExtraLargeIncreased, m_cornerValueExtraLargeIncreased };
95 }
97 {
98 return { m_cornerValueExtraLarge, m_cornerValueExtraLarge, m_cornerValueNone,
99 m_cornerValueNone };
100 }
101 constexpr ShapeValue cornerExtraSmall() const
102 {
103 return { m_cornerValueExtraSmall, m_cornerValueExtraSmall, m_cornerValueExtraSmall,
104 m_cornerValueExtraSmall };
105 }
107 {
108 return { m_cornerValueExtraSmall, m_cornerValueExtraSmall, m_cornerValueNone,
109 m_cornerValueNone };
110 }
111
112 // AndroidX uses CircleShape. 9999 is a radius sentinel that remains circular after sizing.
113 constexpr ShapeValue cornerFull() const
114 {
115 return { m_cornerValueFull, m_cornerValueFull, m_cornerValueFull, m_cornerValueFull };
116 }
117
118 constexpr ShapeValue cornerLarge() const
119 {
120 return { m_cornerValueLarge, m_cornerValueLarge, m_cornerValueLarge, m_cornerValueLarge };
121 }
122 constexpr ShapeValue cornerLargeEnd() const
123 {
124 return { m_cornerValueNone, m_cornerValueLarge, m_cornerValueLarge, m_cornerValueNone };
125 }
127 {
128 return { m_cornerValueLargeIncreased, m_cornerValueLargeIncreased,
129 m_cornerValueLargeIncreased, m_cornerValueLargeIncreased };
130 }
131 constexpr ShapeValue cornerLargeStart() const
132 {
133 return { m_cornerValueLarge, m_cornerValueNone, m_cornerValueNone, m_cornerValueLarge };
134 }
135 constexpr ShapeValue cornerLargeTop() const
136 {
137 return { m_cornerValueLarge, m_cornerValueLarge, m_cornerValueNone, m_cornerValueNone };
138 }
139 constexpr ShapeValue cornerMedium() const
140 {
141 return { m_cornerValueMedium, m_cornerValueMedium, m_cornerValueMedium,
142 m_cornerValueMedium };
143 }
144 constexpr ShapeValue cornerNone() const
145 {
146 return { m_cornerValueNone, m_cornerValueNone, m_cornerValueNone, m_cornerValueNone };
147 }
148 constexpr ShapeValue cornerSmall() const
149 {
150 return { m_cornerValueSmall, m_cornerValueSmall, m_cornerValueSmall, m_cornerValueSmall };
151 }
152
153 constexpr qreal cornerValueExtraExtraLarge() const
154 {
155 return m_cornerValueExtraExtraLarge;
156 }
157 constexpr qreal cornerValueExtraLarge() const
158 {
159 return m_cornerValueExtraLarge;
160 }
161 constexpr qreal cornerValueExtraLargeIncreased() const
162 {
163 return m_cornerValueExtraLargeIncreased;
164 }
165 constexpr qreal cornerValueExtraSmall() const
166 {
167 return m_cornerValueExtraSmall;
168 }
169 constexpr qreal cornerValueFull() const
170 {
171 return m_cornerValueFull;
172 }
173 constexpr qreal cornerValueLarge() const
174 {
175 return m_cornerValueLarge;
176 }
177 constexpr qreal cornerValueLargeIncreased() const
178 {
179 return m_cornerValueLargeIncreased;
180 }
181 constexpr qreal cornerValueMedium() const
182 {
183 return m_cornerValueMedium;
184 }
185 constexpr qreal cornerValueNone() const
186 {
187 return m_cornerValueNone;
188 }
189 constexpr qreal cornerValueSmall() const
190 {
191 return m_cornerValueSmall;
192 }
193
194private:
195 static constexpr qreal m_cornerValueExtraExtraLarge = 48.0;
196 static constexpr qreal m_cornerValueExtraLarge = 28.0;
197 static constexpr qreal m_cornerValueExtraLargeIncreased = 32.0;
198 static constexpr qreal m_cornerValueExtraSmall = 4.0;
199 static constexpr qreal m_cornerValueFull = 9999.0;
200 static constexpr qreal m_cornerValueLarge = 16.0;
201 static constexpr qreal m_cornerValueLargeIncreased = 20.0;
202 static constexpr qreal m_cornerValueMedium = 12.0;
203 static constexpr qreal m_cornerValueNone = 0.0;
204 static constexpr qreal m_cornerValueSmall = 8.0;
205};
206
207} // namespace Fluid
Material Design 3 system shape tokens.
Definition shapetokens.h:48
constexpr ShapeValue cornerLarge() const
Fluid::ShapeValue cornerFull
Definition shapetokens.h:59
constexpr ShapeValue cornerLargeTop() const
Fluid::ShapeValue cornerLarge
Definition shapetokens.h:60
constexpr ShapeValue cornerExtraSmall() const
Fluid::ShapeValue cornerLargeEnd
Definition shapetokens.h:61
Fluid::ShapeValue cornerSmall
Definition shapetokens.h:67
constexpr qreal cornerValueLarge() const
Fluid::ShapeValue cornerExtraLargeIncreased
Definition shapetokens.h:55
constexpr qreal cornerValueSmall() const
Fluid::ShapeValue cornerExtraLargeTop
Definition shapetokens.h:56
constexpr qreal cornerValueFull() const
constexpr ShapeValue cornerExtraLargeTop() const
Definition shapetokens.h:96
constexpr qreal cornerValueExtraExtraLarge() const
qreal cornerValueExtraSmall
Definition shapetokens.h:72
Fluid::ShapeValue cornerLargeStart
Definition shapetokens.h:63
constexpr ShapeValue cornerExtraLargeIncreased() const
Definition shapetokens.h:91
Fluid::ShapeValue cornerExtraSmall
Definition shapetokens.h:57
constexpr qreal cornerValueMedium() const
Fluid::ShapeValue cornerMedium
Definition shapetokens.h:65
constexpr ShapeValue cornerMedium() const
constexpr ShapeValue cornerLargeIncreased() const
constexpr qreal cornerValueExtraLarge() const
qreal cornerValueExtraLargeIncreased
Definition shapetokens.h:71
Fluid::ShapeValue cornerExtraSmallTop
Definition shapetokens.h:58
constexpr qreal cornerValueNone() const
qreal cornerValueExtraExtraLarge
Definition shapetokens.h:68
QML_ANONYMOUSFluid::ShapeValue cornerExtraExtraLarge
Definition shapetokens.h:52
Fluid::ShapeValue cornerNone
Definition shapetokens.h:66
constexpr ShapeValue cornerLargeStart() const
constexpr ShapeValue cornerNone() const
constexpr qreal cornerValueLargeIncreased() const
constexpr qreal cornerValueExtraSmall() const
qreal cornerValueLargeIncreased
Definition shapetokens.h:75
constexpr ShapeValue cornerExtraSmallTop() const
Fluid::ShapeValue cornerLargeIncreased
Definition shapetokens.h:62
constexpr qreal cornerValueExtraLargeIncreased() const
constexpr ShapeValue cornerLargeEnd() const
constexpr ShapeValue cornerExtraLarge() const
Definition shapetokens.h:86
constexpr ShapeValue cornerFull() const
Fluid::ShapeValue cornerExtraLarge
Definition shapetokens.h:53
qreal cornerValueExtraLarge
Definition shapetokens.h:69
constexpr ShapeValue cornerSmall() const
Fluid::ShapeValue cornerLargeTop
Definition shapetokens.h:64
QML_ELEMENTqreal topLeft
Definition shapetokens.h:17