QmlMaterial 0.1.0
Loading...
Searching...
No Matches
token.hpp
1#pragma once
2
3#include <array>
4#include <QtCore/QEasingCurve>
5#include <QtGui/QFont>
6#include <QtQml/QQmlEngine>
7#include <QtQuick/QQuickWindow>
8
9#include "qml_material/core.hpp"
10#include "qml_material/token/type_scale.hpp"
11#include "qml_material/token/split_button.hpp"
12#include "qml_material/token/button.hpp"
13#include "qml_material/token/segmented_button.hpp"
14#include "qml_material/token/combo_box.hpp"
15#include "qml_material/token/text_field.hpp"
16#include "qml_material/token/badge.hpp"
17#include "qml_material/anim/interpolator.hpp"
18#include "qml_material/core/enum.hpp"
19Q_MOC_INCLUDE("qml_material/token/icon.hpp")
20
21namespace qml_material::token
22{
23
24class IconToken;
25auto create_icon_token(QObject* parent) -> IconToken*;
26
34 Q_GADGET
35 QML_ANONYMOUS
36
38 Q_PROPERTY(qint32 min_width MEMBER min_width CONSTANT FINAL)
40 Q_PROPERTY(qint32 max_width MEMBER max_width CONSTANT FINAL)
42 Q_PROPERTY(qml_material::Enum::WindowClassType type MEMBER type CONSTANT FINAL)
43
44public:
45 Q_INVOKABLE bool contains(i32 w) const { return w >= min_width && w < max_width; }
46 i32 min_width { 0 };
47 i32 max_width { std::numeric_limits<i32>::max() };
48 Enum::WindowClassType type { Enum::WindowClassType::WindowClassCompact };
49};
50
58 Q_GADGET
59 QML_ANONYMOUS
60
62 Q_PROPERTY(qml_material::token::WindowClassItem compact MEMBER compact CONSTANT FINAL)
64 Q_PROPERTY(qml_material::token::WindowClassItem medium MEMBER medium CONSTANT FINAL)
66 Q_PROPERTY(qml_material::token::WindowClassItem expanded MEMBER expanded CONSTANT FINAL)
68 Q_PROPERTY(qml_material::token::WindowClassItem large MEMBER large CONSTANT FINAL)
70 Q_PROPERTY(qml_material::token::WindowClassItem extra_large MEMBER extra_large CONSTANT FINAL)
71
72public:
73 using Type = Enum::WindowClassType;
74
75 Q_INVOKABLE WindowClassItem select(i32 w) const {
76 std::array wcs { &compact, &medium, &expanded, &large, &extra_large };
77 for (auto& el : wcs) {
78 if (el->contains(w)) return *el;
79 }
80 return compact;
81 }
82 Q_INVOKABLE Enum::WindowClassType select_type(i32 w) const {
83 std::array wcs { &compact, &medium, &expanded, &large, &extra_large };
84 for (auto& el : wcs) {
85 if (el->contains(w)) return el->type;
86 }
87 return compact.type;
88 }
89 WindowClassItem compact { 0, 600, Type::WindowClassCompact };
90 WindowClassItem medium { 600, 840, Type::WindowClassMedium };
91 WindowClassItem expanded { 840, 1200, Type::WindowClassExpanded };
92 WindowClassItem large { 1200, 1600, Type::WindowClassLarge };
93 WindowClassItem extra_large { 1600,
94 std::numeric_limits<i32>::max(),
95 Type::WindowClassExtraLarge };
96};
97
104struct Elevation {
105 Q_GADGET
106 QML_ANONYMOUS
107
109 Q_PROPERTY(qint32 level0 MEMBER level0 CONSTANT FINAL)
111 Q_PROPERTY(qint32 level1 MEMBER level1 CONSTANT FINAL)
113 Q_PROPERTY(qint32 level2 MEMBER level2 CONSTANT FINAL)
115 Q_PROPERTY(qint32 level3 MEMBER level3 CONSTANT FINAL)
117 Q_PROPERTY(qint32 level4 MEMBER level4 CONSTANT FINAL)
119 Q_PROPERTY(qint32 level5 MEMBER level5 CONSTANT FINAL)
120public:
121 i32 level0 { 0 };
122 i32 level1 { 1 };
123 i32 level2 { 3 };
124 i32 level3 { 6 };
125 i32 level4 { 8 };
126 i32 level5 { 12 };
127};
128
133struct Easing {
134 Q_GADGET
135 QML_ANONYMOUS
137 Q_PROPERTY(QEasingCurve emphasized READ emphasized CONSTANT FINAL)
139 Q_PROPERTY(QEasingCurve emphasized_accelerate READ emphasized_accelerate CONSTANT FINAL)
141 Q_PROPERTY(QEasingCurve emphasized_decelerate READ emphasized_decelerate CONSTANT FINAL)
143 Q_PROPERTY(QEasingCurve standard READ standard CONSTANT FINAL)
145 Q_PROPERTY(QEasingCurve standard_accelerate READ standard_accelerate CONSTANT FINAL)
147 Q_PROPERTY(QEasingCurve standard_decelerate READ standard_decelerate CONSTANT FINAL)
149 Q_PROPERTY(QEasingCurve legacy READ legacy CONSTANT FINAL)
151 Q_PROPERTY(QEasingCurve legacy_accelerate READ legacy_accelerate CONSTANT FINAL)
153 Q_PROPERTY(QEasingCurve legacy_decelerate READ legacy_decelerate CONSTANT FINAL)
155 Q_PROPERTY(QEasingCurve linear READ linear CONSTANT FINAL)
156
157public:
158 auto emphasized() const noexcept -> QEasingCurve { return anim::emphasized(); }
159 auto emphasized_accelerate() const noexcept -> QEasingCurve {
160 return anim::emphasized_accelerate();
161 }
162 auto emphasized_decelerate() const noexcept -> QEasingCurve {
163 return anim::emphasized_decelerate();
164 }
165 auto standard() const noexcept -> QEasingCurve { return anim::standard(); }
166 auto standard_accelerate() const noexcept -> QEasingCurve {
167 return anim::standard_accelerate();
168 }
169 auto standard_decelerate() const noexcept -> QEasingCurve {
170 return anim::standard_decelerate();
171 }
172 auto legacy() const noexcept -> QEasingCurve { return anim::legacy(); }
173 auto legacy_accelerate() const noexcept -> QEasingCurve { return anim::legacy_accelerate(); }
174 auto legacy_decelerate() const noexcept -> QEasingCurve { return anim::legacy_decelerate(); }
175 auto linear() const noexcept -> QEasingCurve { return anim::linear(); }
176};
177
182struct Duration {
183 Q_GADGET
184 QML_ANONYMOUS
186 Q_PROPERTY(qreal short1 MEMBER short1 CONSTANT FINAL)
188 Q_PROPERTY(qreal short2 MEMBER short2 CONSTANT FINAL)
190 Q_PROPERTY(qreal short3 MEMBER short3 CONSTANT FINAL)
192 Q_PROPERTY(qreal short4 MEMBER short4 CONSTANT FINAL)
194 Q_PROPERTY(qreal medium1 MEMBER medium1 CONSTANT FINAL)
196 Q_PROPERTY(qreal medium2 MEMBER medium2 CONSTANT FINAL)
198 Q_PROPERTY(qreal medium3 MEMBER medium3 CONSTANT FINAL)
200 Q_PROPERTY(qreal medium4 MEMBER medium4 CONSTANT FINAL)
202 Q_PROPERTY(qreal long1 MEMBER long1 CONSTANT FINAL)
204 Q_PROPERTY(qreal long2 MEMBER long2 CONSTANT FINAL)
206 Q_PROPERTY(qreal long3 MEMBER long3 CONSTANT FINAL)
208 Q_PROPERTY(qreal long4 MEMBER long4 CONSTANT FINAL)
210 Q_PROPERTY(qreal extra_long1 MEMBER extra_long1 CONSTANT FINAL)
212 Q_PROPERTY(qreal extra_long2 MEMBER extra_long2 CONSTANT FINAL)
214 Q_PROPERTY(qreal extra_long3 MEMBER extra_long3 CONSTANT FINAL)
216 Q_PROPERTY(qreal extra_long4 MEMBER extra_long4 CONSTANT FINAL)
217
218public:
219 qreal short1 { 50 };
220 qreal short2 { 100 };
221 qreal short3 { 150 };
222 qreal short4 { 200 };
223 qreal medium1 { 250 };
224 qreal medium2 { 300 };
225 qreal medium3 { 350 };
226 qreal medium4 { 400 };
227 qreal long1 { 450 };
228 qreal long2 { 500 };
229 qreal long3 { 550 };
230 qreal long4 { 600 };
231 qreal extra_long1 { 700 };
232 qreal extra_long2 { 800 };
233 qreal extra_long3 { 900 };
234 qreal extra_long4 { 1000 };
235};
236
244 Q_GADGET
245 QML_ANONYMOUS
247 Q_PROPERTY(qint32 none MEMBER none CONSTANT FINAL)
249 Q_PROPERTY(qint32 extra_small MEMBER extra_small CONSTANT FINAL)
251 Q_PROPERTY(qint32 small MEMBER small CONSTANT FINAL)
253 Q_PROPERTY(qint32 medium MEMBER medium CONSTANT FINAL)
255 Q_PROPERTY(qint32 large MEMBER large CONSTANT FINAL)
257 Q_PROPERTY(qint32 extra_large MEMBER extra_large CONSTANT FINAL)
259 Q_PROPERTY(qint32 full MEMBER full CONSTANT FINAL)
260public:
262 i32 none { 0 };
263 i32 extra_small { 4 };
264 i32 small { 8 };
265 i32 medium { 12 };
266 i32 large { 16 };
267 i32 extra_large { 28 };
268 i32 full { 100 };
269};
270
276struct Shape {
277 Q_GADGET
278 QML_ANONYMOUS
279 Q_PROPERTY(qml_material::token::ShapeCorner corner MEMBER corner CONSTANT FINAL)
280public:
281 ShapeCorner corner;
282};
283
290struct StateItem {
291 Q_GADGET
292 QML_ANONYMOUS
294 Q_PROPERTY(double state_layer_opacity MEMBER state_layer_opacity CONSTANT FINAL)
295public:
296 double state_layer_opacity;
297};
298
307struct FocusRing {
308 Q_GADGET
309 QML_ANONYMOUS
310 Q_PROPERTY(qreal outer_stroke_width MEMBER outer_stroke_width CONSTANT FINAL)
311 Q_PROPERTY(qreal inner_stroke_width MEMBER inner_stroke_width CONSTANT FINAL)
312 Q_PROPERTY(qreal inner_stroke_inset MEMBER inner_stroke_inset CONSTANT FINAL)
313 Q_PROPERTY(qreal outer_offset MEMBER outer_offset CONSTANT FINAL)
314public:
315 qreal outer_stroke_width { 2 };
316 qreal inner_stroke_width { 3 };
317 qreal inner_stroke_inset { 1 };
318 qreal outer_offset { 2 };
319};
320
327struct State {
328 Q_GADGET
329 QML_ANONYMOUS
331 Q_PROPERTY(qml_material::token::StateItem hover MEMBER hover CONSTANT FINAL)
333 Q_PROPERTY(qml_material::token::StateItem pressed MEMBER pressed CONSTANT FINAL)
335 Q_PROPERTY(qml_material::token::StateItem focus MEMBER focus CONSTANT FINAL)
337 Q_PROPERTY(qml_material::token::StateItem dragged MEMBER dragged CONSTANT FINAL)
338
340 Q_PROPERTY(qml_material::token::FocusRing focus_ring MEMBER focus_ring CONSTANT FINAL)
341
343 Q_PROPERTY(double disabled_content MEMBER disabled_content CONSTANT FINAL)
345 Q_PROPERTY(double disabled_container MEMBER disabled_container CONSTANT FINAL)
346
347public:
348 StateItem hover { 0.08 };
349 StateItem pressed { 0.1 };
350 StateItem focus { 0.1 };
351 StateItem dragged { 0.16 };
352
353 FocusRing focus_ring;
354
355 double disabled_content { 0.38 };
356 double disabled_container { 0.12 };
357};
358
365class Flick : public QObject {
366 Q_OBJECT
367 QML_ANONYMOUS
369 Q_PROPERTY(qint32 pressDelay READ pressDelay NOTIFY pressDelayChanged FINAL)
371 Q_PROPERTY(
372 double flickDeceleration READ flickDeceleration NOTIFY flickDecelerationChanged FINAL)
374 Q_PROPERTY(double maximumFlickVelocity READ maximumFlickVelocity NOTIFY
375 maximumFlickVelocityChanged FINAL)
376public:
377 Flick(QObject* parent = nullptr);
378 ~Flick();
379 auto pressDelay() const -> qint32;
380 auto flickDeceleration() const -> double;
381 auto maximumFlickVelocity() const -> double;
382
383 Q_SIGNAL void pressDelayChanged();
384 Q_SIGNAL void flickDecelerationChanged();
385 Q_SIGNAL void maximumFlickVelocityChanged();
386
387private:
388 qint32 m_press_delay;
389 double m_flick_deceleration;
390 double m_maximum_flickVelocity;
391};
392
396struct Carousel {
397 Q_GADGET
398 QML_ANONYMOUS
399 Q_PROPERTY(qreal item_spacing MEMBER item_spacing CONSTANT FINAL)
400 Q_PROPERTY(qreal container_height_horizontal MEMBER container_height_horizontal CONSTANT FINAL)
401 Q_PROPERTY(qreal default_item_extent MEMBER default_item_extent CONSTANT FINAL)
402 Q_PROPERTY(qreal small_item_min MEMBER small_item_min CONSTANT FINAL)
403 Q_PROPERTY(qreal small_item_max MEMBER small_item_max CONSTANT FINAL)
404 Q_PROPERTY(qreal container_padding_vertical MEMBER container_padding_vertical CONSTANT FINAL)
405 Q_PROPERTY(qreal small_item_min_ratio MEMBER small_item_min_ratio CONSTANT FINAL)
406 Q_PROPERTY(qreal small_item_max_ratio MEMBER small_item_max_ratio CONSTANT FINAL)
407 Q_PROPERTY(qreal large_item_max_aspect MEMBER large_item_max_aspect CONSTANT FINAL)
408 Q_PROPERTY(qreal min_item_aspect MEMBER min_item_aspect CONSTANT FINAL)
409 Q_PROPERTY(qreal max_item_aspect MEMBER max_item_aspect CONSTANT FINAL)
410 Q_PROPERTY(qint32 item_corner MEMBER item_corner CONSTANT FINAL)
411 Q_PROPERTY(qint32 snap_duration MEMBER snap_duration CONSTANT FINAL)
412 Q_PROPERTY(qreal title_fade_span MEMBER title_fade_span CONSTANT FINAL)
413 Q_PROPERTY(qreal chrome_row_height MEMBER chrome_row_height CONSTANT FINAL)
414 Q_PROPERTY(qreal chrome_row_spacing MEMBER chrome_row_spacing CONSTANT FINAL)
415 Q_PROPERTY(qreal default_width MEMBER default_width CONSTANT FINAL)
416 Q_PROPERTY(qreal default_height_vertical MEMBER default_height_vertical CONSTANT FINAL)
417 Q_PROPERTY(qreal min_peek_px MEMBER min_peek_px CONSTANT FINAL)
418 Q_PROPERTY(qreal parallax_ratio MEMBER parallax_ratio CONSTANT FINAL)
419 Q_PROPERTY(qreal parallax_ratio_uncontained MEMBER parallax_ratio_uncontained CONSTANT FINAL)
420public:
421 qreal item_spacing { 8 };
422 qreal container_height_horizontal { 196 };
423 qreal default_item_extent { 180 };
424 qreal small_item_min { 40 };
425 qreal small_item_max { 56 };
426 qreal container_padding_vertical { 8 };
427 qreal small_item_min_ratio { 0.45 };
428 qreal small_item_max_ratio { 0.55 };
429 qreal large_item_max_aspect { 2.0 };
430 qreal min_item_aspect { 9.0 / 16.0 };
431 qreal max_item_aspect { 16.0 / 9.0 };
432 i32 item_corner { 28 };
433 i32 snap_duration { 400 };
434 qreal title_fade_span { 80 };
435 qreal chrome_row_height { 40 };
436 qreal chrome_row_spacing { 8 };
437 qreal default_width { 480 };
438 qreal default_height_vertical { 320 };
439 qreal min_peek_px { 16 };
440 qreal parallax_ratio { 0.35 };
441 qreal parallax_ratio_uncontained { 0.5 };
442};
443
447struct Slider {
448 Q_GADGET
449 QML_ANONYMOUS
450 Q_PROPERTY(qreal active_track_height MEMBER active_track_height CONSTANT FINAL)
451 Q_PROPERTY(qreal inactive_track_height MEMBER inactive_track_height CONSTANT FINAL)
452 Q_PROPERTY(qreal active_track_height_xsmall MEMBER active_track_height_xsmall CONSTANT FINAL)
453 Q_PROPERTY(qreal active_track_height_small MEMBER active_track_height_small CONSTANT FINAL)
454 Q_PROPERTY(qreal active_track_height_medium MEMBER active_track_height_medium CONSTANT FINAL)
455 Q_PROPERTY(qreal active_track_height_large MEMBER active_track_height_large CONSTANT FINAL)
456 Q_PROPERTY(qreal active_track_height_xlarge MEMBER active_track_height_xlarge CONSTANT FINAL)
457 Q_PROPERTY(qreal stop_indicator_size MEMBER stop_indicator_size CONSTANT FINAL)
458 Q_PROPERTY(qreal thumb_track_gap MEMBER thumb_track_gap CONSTANT FINAL)
459 Q_PROPERTY(qreal track_inside_corner MEMBER track_inside_corner CONSTANT FINAL)
460 Q_PROPERTY(qreal inset_icon_size MEMBER inset_icon_size CONSTANT FINAL)
461 Q_PROPERTY(qreal inset_icon_padding MEMBER inset_icon_padding CONSTANT FINAL)
462 Q_PROPERTY(qint32 handle_height MEMBER handle_height CONSTANT FINAL)
463 Q_PROPERTY(qint32 handle_width MEMBER handle_width CONSTANT FINAL)
464public:
465 qreal active_track_height { 16 };
466 qreal inactive_track_height { 4 };
467 qreal active_track_height_xsmall { 16 };
468 qreal active_track_height_small { 24 };
469 qreal active_track_height_medium { 40 };
470 qreal active_track_height_large { 56 };
471 qreal active_track_height_xlarge { 96 };
472 qreal stop_indicator_size { 4 };
473 qreal thumb_track_gap { 6 };
474 qreal track_inside_corner { 2 };
475 qreal inset_icon_size { 24 };
476 qreal inset_icon_padding { 8 };
477 i32 handle_height { 44 };
478 i32 handle_width { 12 };
479};
480
487struct Spacing {
488 Q_GADGET
489 QML_ANONYMOUS
491 Q_PROPERTY(qint32 none MEMBER none CONSTANT FINAL)
493 Q_PROPERTY(qint32 extra_small MEMBER extra_small CONSTANT FINAL)
495 Q_PROPERTY(qint32 small MEMBER small CONSTANT FINAL)
497 Q_PROPERTY(qint32 medium_small MEMBER medium_small CONSTANT FINAL)
499 Q_PROPERTY(qint32 medium MEMBER medium CONSTANT FINAL)
501 Q_PROPERTY(qint32 large_medium MEMBER large_medium CONSTANT FINAL)
503 Q_PROPERTY(qint32 large MEMBER large CONSTANT FINAL)
505 Q_PROPERTY(qint32 extra_large MEMBER extra_large CONSTANT FINAL)
506public:
507 i32 none { 0 };
508 i32 extra_small { 4 };
509 i32 small { 8 };
510 i32 medium_small { 12 };
511 i32 medium { 16 };
512 i32 large_medium { 24 };
513 i32 large { 32 };
514 i32 extra_large { 48 };
515};
516
523class Token : public QObject {
524 Q_OBJECT
525 Q_PROPERTY(QQmlListProperty<QObject> datas READ datas FINAL)
526 Q_CLASSINFO("DefaultProperty", "datas")
527 QML_NAMED_ELEMENT(TokenImpl)
528
529 Q_PROPERTY(QString version READ version CONSTANT FINAL)
530 Q_PROPERTY(QString iconFontUrl READ icon_font_url CONSTANT FINAL)
531 Q_PROPERTY(QString iconFill0FontUrl READ icon_fill_0_font_url CONSTANT FINAL)
532 Q_PROPERTY(QString iconFill1FontUrl READ icon_fill_1_font_url CONSTANT FINAL)
533
534
535 Q_PROPERTY(qml_material::token::TypeScale* typescale READ typescale CONSTANT FINAL)
537 Q_PROPERTY(qml_material::token::IconToken* icon READ icon CONSTANT FINAL)
539 Q_PROPERTY(qml_material::token::Flick* flick READ flick CONSTANT FINAL)
541 Q_PROPERTY(qml_material::token::Elevation elevation READ elevation CONSTANT FINAL)
543 Q_PROPERTY(qml_material::token::Duration duration READ duration CONSTANT FINAL)
545 Q_PROPERTY(qml_material::token::Easing easing READ easing CONSTANT FINAL)
547 Q_PROPERTY(qml_material::token::State state READ state CONSTANT FINAL)
549 Q_PROPERTY(qml_material::token::Shape shape READ shape CONSTANT FINAL)
551 Q_PROPERTY(qml_material::token::WindowClass window_class READ window_class CONSTANT FINAL)
553 Q_PROPERTY(qml_material::token::Spacing spacing READ spacing CONSTANT FINAL)
555 Q_PROPERTY(qml_material::token::SplitButtonSize split_button READ split_button CONSTANT FINAL)
557 Q_PROPERTY(qml_material::token::ButtonSize button READ button CONSTANT FINAL)
559 Q_PROPERTY(qml_material::token::SegmentedButtonSize segmented_button READ segmented_button CONSTANT FINAL)
561 Q_PROPERTY(qml_material::token::IconButtonSize icon_button READ icon_button CONSTANT FINAL)
563 Q_PROPERTY(qml_material::token::ComboBoxSize combo_box READ combo_box CONSTANT FINAL)
565 Q_PROPERTY(qml_material::token::TextFieldSize text_field READ text_field CONSTANT FINAL)
567 Q_PROPERTY(qml_material::token::BadgeSize badge READ badge CONSTANT FINAL)
569 Q_PROPERTY(qml_material::token::Carousel carousel READ carousel CONSTANT FINAL)
570 Q_PROPERTY(qml_material::token::Slider slider READ slider CONSTANT FINAL)
571 public:
572 Token(QObject* = nullptr);
573 ~Token();
574
575 auto version() const -> QString;
576 auto icon_font_url() const -> QString;
577 auto icon_fill_0_font_url() const -> QString;
578 auto icon_fill_1_font_url() const -> QString;
579
580 auto typescale() const -> TypeScale*;
581 auto icon() const -> IconToken*;
582 auto flick() const -> Flick*;
583 auto elevation() const -> const Elevation&;
584 auto state() const -> const State&;
585 auto shape() const -> const Shape&;
586 auto window_class() const -> const WindowClass&;
587 auto duration() const -> const Duration&;
588 auto easing() const -> const Easing&;
589 auto spacing() const -> const Spacing&;
590 auto split_button() const -> const SplitButtonSize&;
591 auto button() const -> const ButtonSize&;
592 auto segmented_button() const -> const SegmentedButtonSize&;
593 auto icon_button() const -> const IconButtonSize&;
594 auto combo_box() const -> const ComboBoxSize&;
595 auto text_field() const -> const TextFieldSize&;
596 auto badge() const -> const BadgeSize&;
597 auto carousel() const -> const Carousel&;
598 auto slider() const -> const Slider&;
599
600 auto datas() -> QQmlListProperty<QObject>;
601
602 Q_INVOKABLE double cal_curve_scale(double dpr) const;
603
604 private:
605 TypeScale* m_typescale;
606 IconToken* m_icon;
607 Flick* m_flick;
608 Duration m_duration;
609 Easing m_easing;
610 Elevation m_elevation;
611 State m_state;
612 Shape m_shape;
613 WindowClass m_win_class;
614 Spacing m_spacing;
615 SplitButtonSize m_split_button;
616 ButtonSize m_button;
617 SegmentedButtonSize m_segmented_button;
618 IconButtonSize m_icon_button;
619 ComboBoxSize m_combo_box;
620 TextFieldSize m_text_field;
621 BadgeSize m_badge;
622 Carousel m_carousel;
623 Slider m_slider;
624
625 QList<QObject*> m_datas;
626 };
627
628 } // namespace qml_material::token
Enum.
Definition enum.hpp:13
WindowClassType
Definition enum.hpp:143
Handles flicking behavior and physics parameters.
Definition token.hpp:365
IconToken, full codes.
Definition icon.hpp:15
Main token container for Material Design system.
Definition token.hpp:523
TypeScale.
Definition type_scale.hpp:64
Collection of button size tokens for different size classes.
Definition button.hpp:45
Carousel layout and sizing tokens (M3 Carousel specs)
Definition token.hpp:396
Motion duration.
Definition token.hpp:182
Motion easing.
Definition token.hpp:133
Defines elevation levels for Material Design shadows.
Definition token.hpp:104
Geometry tokens for the M3 keyboard focus ring.
Definition token.hpp:307
Collection of icon button size tokens for different size classes.
Definition button.hpp:144
Collection of segmented button size tokens for different size classes.
Definition segmented_button.hpp:45
Defines corner radius values for shape styling.
Definition token.hpp:243
Container for shape-related styling properties.
Definition token.hpp:276
Slider layout tokens (M3 Slider specs)
Definition token.hpp:447
Defines standard spacing values.
Definition token.hpp:487
Collection of split button size tokens for different size classes.
Definition split_button.hpp:60
Defines opacity values for different UI states.
Definition token.hpp:290
Manages UI element state appearances.
Definition token.hpp:327
Represents a window class category with size constraints.
Definition token.hpp:33
qml_material::Enum::WindowClassType type
Type classification of the window size (compact, medium, expanded etc.)
Definition token.hpp:42
Window classification system based on width ranges.
Definition token.hpp:57