70 Q_PROPERTY(qml_material::token::
WindowClassItem medium MEMBER medium CONSTANT FINAL)
72 Q_PROPERTY(qml_material::token::
WindowClassItem expanded MEMBER expanded CONSTANT FINAL)
74 Q_PROPERTY(qml_material::token::
WindowClassItem large MEMBER large CONSTANT FINAL)
76 Q_PROPERTY(qml_material::token::
WindowClassItem extra_large MEMBER extra_large CONSTANT FINAL)
82 std::array wcs { &compact, &medium, &expanded, &large, &extra_large };
83 for (
auto& el : wcs) {
84 if (el->contains(w))
return *el;
89 std::array wcs { &compact, &medium, &expanded, &large, &extra_large };
90 for (
auto& el : wcs) {
91 if (el->contains(w))
return el->type;
95 WindowClassItem compact { 0, 600, Type::WindowClassCompact };
96 WindowClassItem medium { 600, 840, Type::WindowClassMedium };
97 WindowClassItem expanded { 840, 1200, Type::WindowClassExpanded };
98 WindowClassItem large { 1200, 1600, Type::WindowClassLarge };
99 WindowClassItem extra_large { 1600,
100 std::numeric_limits<i32>::max(),
101 Type::WindowClassExtraLarge };
141 Q_GADGET_EXPORT(QML_MATERIAL_API)
144 Q_PROPERTY(QEasingCurve emphasized READ emphasized CONSTANT FINAL)
146 Q_PROPERTY(QEasingCurve emphasized_accelerate READ emphasized_accelerate CONSTANT FINAL)
148 Q_PROPERTY(QEasingCurve emphasized_decelerate READ emphasized_decelerate CONSTANT FINAL)
150 Q_PROPERTY(QEasingCurve standard READ standard CONSTANT FINAL)
152 Q_PROPERTY(QEasingCurve standard_accelerate READ standard_accelerate CONSTANT FINAL)
154 Q_PROPERTY(QEasingCurve standard_decelerate READ standard_decelerate CONSTANT FINAL)
156 Q_PROPERTY(QEasingCurve legacy READ legacy CONSTANT FINAL)
158 Q_PROPERTY(QEasingCurve legacy_accelerate READ legacy_accelerate CONSTANT FINAL)
160 Q_PROPERTY(QEasingCurve legacy_decelerate READ legacy_decelerate CONSTANT FINAL)
162 Q_PROPERTY(QEasingCurve linear READ linear CONSTANT FINAL)
165 bool operator==(const
Easing&) const = default;
166 auto emphasized() const noexcept -> QEasingCurve {
return anim::emphasized(); }
167 auto emphasized_accelerate() const noexcept -> QEasingCurve {
168 return anim::emphasized_accelerate();
170 auto emphasized_decelerate() const noexcept -> QEasingCurve {
171 return anim::emphasized_decelerate();
173 auto standard() const noexcept -> QEasingCurve {
return anim::standard(); }
174 auto standard_accelerate() const noexcept -> QEasingCurve {
175 return anim::standard_accelerate();
177 auto standard_decelerate() const noexcept -> QEasingCurve {
178 return anim::standard_decelerate();
180 auto legacy() const noexcept -> QEasingCurve {
return anim::legacy(); }
181 auto legacy_accelerate() const noexcept -> QEasingCurve {
return anim::legacy_accelerate(); }
182 auto legacy_decelerate() const noexcept -> QEasingCurve {
return anim::legacy_decelerate(); }
183 auto linear() const noexcept -> QEasingCurve {
return anim::linear(); }
281 Q_GADGET_EXPORT(QML_MATERIAL_API)
286 Q_PROPERTY(qml_material::token::
StateItem pressed MEMBER pressed CONSTANT FINAL)
288 Q_PROPERTY(qml_material::token::
StateItem focus MEMBER focus CONSTANT FINAL)
290 Q_PROPERTY(qml_material::token::
StateItem dragged MEMBER dragged CONSTANT FINAL)
293 Q_PROPERTY(qml_material::token::
FocusRing focus_ring MEMBER focus_ring CONSTANT FINAL)
296 Q_PROPERTY(
double disabled_content MEMBER disabled_content CONSTANT FINAL)
298 Q_PROPERTY(
double disabled_container MEMBER disabled_container CONSTANT FINAL)
301 bool operator==(const
State&) const = default;
304 StateItem focus { 0.1 };
305 StateItem dragged { 0.16 };
307 FocusRing focus_ring;
309 double disabled_content { 0.38 };
310 double disabled_container { 0.12 };
353 Q_PROPERTY(qreal item_spacing MEMBER item_spacing CONSTANT FINAL)
354 Q_PROPERTY(qreal container_height_horizontal MEMBER container_height_horizontal CONSTANT FINAL)
355 Q_PROPERTY(qreal default_item_extent MEMBER default_item_extent CONSTANT FINAL)
356 Q_PROPERTY(qreal small_item_min MEMBER small_item_min CONSTANT FINAL)
357 Q_PROPERTY(qreal small_item_max MEMBER small_item_max CONSTANT FINAL)
358 Q_PROPERTY(qreal container_padding_vertical MEMBER container_padding_vertical CONSTANT FINAL)
359 Q_PROPERTY(qreal small_item_min_ratio MEMBER small_item_min_ratio CONSTANT FINAL)
360 Q_PROPERTY(qreal small_item_max_ratio MEMBER small_item_max_ratio CONSTANT FINAL)
361 Q_PROPERTY(qreal large_item_max_aspect MEMBER large_item_max_aspect CONSTANT FINAL)
362 Q_PROPERTY(qreal min_item_aspect MEMBER min_item_aspect CONSTANT FINAL)
363 Q_PROPERTY(qreal max_item_aspect MEMBER max_item_aspect CONSTANT FINAL)
364 Q_PROPERTY(qint32 item_corner MEMBER item_corner CONSTANT FINAL)
365 Q_PROPERTY(qint32 snap_duration MEMBER snap_duration CONSTANT FINAL)
366 Q_PROPERTY(qreal title_fade_span MEMBER title_fade_span CONSTANT FINAL)
367 Q_PROPERTY(qreal chrome_row_height MEMBER chrome_row_height CONSTANT FINAL)
368 Q_PROPERTY(qreal chrome_row_spacing MEMBER chrome_row_spacing CONSTANT FINAL)
369 Q_PROPERTY(qreal default_width MEMBER default_width CONSTANT FINAL)
370 Q_PROPERTY(qreal default_height_vertical MEMBER default_height_vertical CONSTANT FINAL)
371 Q_PROPERTY(qreal min_peek_px MEMBER min_peek_px CONSTANT FINAL)
372 Q_PROPERTY(qreal parallax_ratio MEMBER parallax_ratio CONSTANT FINAL)
373 Q_PROPERTY(qreal parallax_ratio_uncontained MEMBER parallax_ratio_uncontained CONSTANT FINAL)
375 qreal item_spacing { 8 };
376 qreal container_height_horizontal { 196 };
377 qreal default_item_extent { 180 };
378 qreal small_item_min { 40 };
379 qreal small_item_max { 56 };
380 qreal container_padding_vertical { 8 };
381 qreal small_item_min_ratio { 0.45 };
382 qreal small_item_max_ratio { 0.55 };
383 qreal large_item_max_aspect { 2.0 };
384 qreal min_item_aspect { 9.0 / 16.0 };
385 qreal max_item_aspect { 16.0 / 9.0 };
386 i32 item_corner { 28 };
388 qreal title_fade_span { 80 };
389 qreal chrome_row_height { 40 };
390 qreal chrome_row_spacing { 8 };
391 qreal default_width { 480 };
392 qreal default_height_vertical { 320 };
393 qreal min_peek_px { 16 };
394 qreal parallax_ratio { 0.35 };
395 qreal parallax_ratio_uncontained { 0.5 };
404 Q_PROPERTY(qreal active_track_height MEMBER active_track_height CONSTANT FINAL)
405 Q_PROPERTY(qreal inactive_track_height MEMBER inactive_track_height CONSTANT FINAL)
406 Q_PROPERTY(qreal active_track_height_xsmall MEMBER active_track_height_xsmall CONSTANT FINAL)
407 Q_PROPERTY(qreal active_track_height_small MEMBER active_track_height_small CONSTANT FINAL)
408 Q_PROPERTY(qreal active_track_height_medium MEMBER active_track_height_medium CONSTANT FINAL)
409 Q_PROPERTY(qreal active_track_height_large MEMBER active_track_height_large CONSTANT FINAL)
410 Q_PROPERTY(qreal active_track_height_xlarge MEMBER active_track_height_xlarge CONSTANT FINAL)
411 Q_PROPERTY(qreal stop_indicator_size MEMBER stop_indicator_size CONSTANT FINAL)
412 Q_PROPERTY(qreal thumb_track_gap MEMBER thumb_track_gap CONSTANT FINAL)
413 Q_PROPERTY(qreal track_inside_corner MEMBER track_inside_corner CONSTANT FINAL)
414 Q_PROPERTY(qreal inset_icon_size MEMBER inset_icon_size CONSTANT FINAL)
415 Q_PROPERTY(qreal inset_icon_padding MEMBER inset_icon_padding CONSTANT FINAL)
416 Q_PROPERTY(qint32 handle_height MEMBER handle_height CONSTANT FINAL)
417 Q_PROPERTY(qint32 handle_width MEMBER handle_width CONSTANT FINAL)
419 qreal active_track_height { 16 };
420 qreal inactive_track_height { 4 };
421 qreal active_track_height_xsmall { 16 };
422 qreal active_track_height_small { 24 };
423 qreal active_track_height_medium { 40 };
424 qreal active_track_height_large { 56 };
425 qreal active_track_height_xlarge { 96 };
426 qreal stop_indicator_size { 4 };
427 qreal thumb_track_gap { 6 };
428 qreal track_inside_corner { 2 };
429 qreal inset_icon_size { 24 };
430 qreal inset_icon_padding { 8 };
431 i32 handle_height { 44 };
432 i32 handle_width { 12 };
479 Q_PROPERTY(QQmlListProperty<QObject> datas READ datas FINAL)
480 Q_CLASSINFO(
"DefaultProperty",
"datas")
481 QML_NAMED_ELEMENT(TokenImpl)
483 Q_PROPERTY(QString version READ version CONSTANT FINAL)
484 Q_PROPERTY(QString iconFontUrl READ icon_font_url CONSTANT FINAL)
485 Q_PROPERTY(QString iconFill0FontUrl READ icon_fill_0_font_url CONSTANT FINAL)
486 Q_PROPERTY(QString iconFill1FontUrl READ icon_fill_1_font_url CONSTANT FINAL)
489 Q_PROPERTY(qml_material::token::
TypeScale* typescale READ typescale CONSTANT FINAL)
491 Q_PROPERTY(qml_material::token::
IconToken* icon READ icon CONSTANT FINAL)
493 Q_PROPERTY(qml_material::token::
Flick* flick READ flick CONSTANT FINAL)
495 Q_PROPERTY(qml_material::token::
Elevation elevation READ elevation CONSTANT FINAL)
497 Q_PROPERTY(qml_material::token::
Duration duration READ duration CONSTANT FINAL)
499 Q_PROPERTY(qml_material::token::
Easing easing READ easing CONSTANT FINAL)
501 Q_PROPERTY(qml_material::token::
State state READ state CONSTANT FINAL)
503 Q_PROPERTY(qml_material::token::
Shape shape READ shape CONSTANT FINAL)
505 Q_PROPERTY(qml_material::token::
WindowClass window_class READ window_class CONSTANT FINAL)
507 Q_PROPERTY(qml_material::token::
Spacing spacing READ spacing CONSTANT FINAL)
509 Q_PROPERTY(qml_material::token::
SplitButtonSize split_button READ split_button CONSTANT FINAL)
511 Q_PROPERTY(qml_material::token::
ButtonSize button READ button CONSTANT FINAL)
516 Q_PROPERTY(qml_material::token::
IconButtonSize icon_button READ icon_button CONSTANT FINAL)
518 Q_PROPERTY(qml_material::token::ComboBoxSize combo_box READ combo_box CONSTANT FINAL)
520 Q_PROPERTY(qml_material::token::TextFieldSize text_field READ text_field CONSTANT FINAL)
522 Q_PROPERTY(qml_material::token::BadgeSize badge READ badge CONSTANT FINAL)
523 Q_PROPERTY(qml_material::token::FABMenu fab_menu READ fab_menu CONSTANT FINAL)
524 Q_PROPERTY(qml_material::token::ExtendedFAB extended_fab READ extended_fab CONSTANT FINAL)
526 qml_material::token::FloatingToolbar floating_toolbar READ floating_toolbar CONSTANT FINAL)
528 Q_PROPERTY(qml_material::token::
Carousel carousel READ carousel CONSTANT FINAL)
529 Q_PROPERTY(qml_material::token::
Slider slider READ slider CONSTANT FINAL)
530 Q_PROPERTY(qml_material::token::TimePicker time_picker READ time_picker CONSTANT FINAL)
532 Token(QObject* =
nullptr);
533 TimePicker time_picker()
const {
return {}; }
534 FABMenu fab_menu()
const {
return {}; }
535 ExtendedFAB extended_fab()
const {
return {}; }
536 FloatingToolbar floating_toolbar()
const {
return {}; }
539 auto version() const -> QString;
540 auto icon_font_url() const -> QString;
541 auto icon_fill_0_font_url() const -> QString;
542 auto icon_fill_1_font_url() const -> QString;
544 auto typescale() const -> TypeScale*;
545 auto icon() const -> IconToken*;
546 auto flick() const -> Flick*;
547 auto elevation() const -> const Elevation&;
548 auto state() const -> const State&;
549 auto shape() const -> const Shape&;
550 auto window_class() const -> const WindowClass&;
551 auto duration() const -> const Duration&;
552 auto easing() const -> const Easing&;
553 auto spacing() const -> const Spacing&;
554 auto split_button() const -> const SplitButtonSize&;
555 auto button() const -> const ButtonSize&;
556 auto segmented_button() const -> const SegmentedButtonSize&;
557 auto icon_button() const -> const IconButtonSize&;
558 auto combo_box() const -> const ComboBoxSize&;
559 auto text_field() const -> const TextFieldSize&;
560 auto badge() const -> const BadgeSize&;
561 auto carousel() const -> const Carousel&;
562 auto slider() const -> const Slider&;
564 auto datas() -> QQmlListProperty<QObject>;
566 Q_INVOKABLE
double cal_curve_scale(
double dpr) const;
569 TypeScale* m_typescale;
574 Elevation m_elevation;
577 WindowClass m_win_class;
579 SplitButtonSize m_split_button;
581 SegmentedButtonSize m_segmented_button;
582 IconButtonSize m_icon_button;
583 ComboBoxSize m_combo_box;
584 TextFieldSize m_text_field;
589 QList<QObject*> m_datas;