#pragma once #include #include #include #include class TokensRounding : public QObject { Q_OBJECT QML_ELEMENT QML_SINGLETON QML_UNCREATABLE("Instantiated internally by Tokens") Q_PROPERTY(qreal extraSmall READ extraSmall CONSTANT) Q_PROPERTY(qreal full READ full CONSTANT) Q_PROPERTY(qreal large READ large CONSTANT) Q_PROPERTY(qreal medium READ medium CONSTANT) Q_PROPERTY(qreal normal READ normal CONSTANT) Q_PROPERTY(qreal scale READ scale CONSTANT) Q_PROPERTY(qreal small READ small CONSTANT) Q_PROPERTY(qreal smallest READ smallest CONSTANT) public: explicit TokensRounding(QObject* parent = nullptr); qreal extraSmall() const { return m_extraSmall; } qreal full() const { return m_full; } qreal large() const { return m_large; } qreal medium() const { return m_medium; } qreal normal() const { return m_normal; } qreal scale() const { return m_scale; } qreal small() const { return m_small; } qreal smallest() const { return m_smallest; } private: qreal m_extraSmall; qreal m_full; qreal m_large; qreal m_medium; qreal m_normal; qreal m_scale; qreal m_small; qreal m_smallest; }; class TokensPadding : public QObject { Q_OBJECT QML_ELEMENT QML_SINGLETON QML_UNCREATABLE("Instantiated internally by Tokens") Q_PROPERTY(qreal extraLarge READ extraLarge CONSTANT) Q_PROPERTY(qreal extraLargeIncreased READ extraLargeIncreased CONSTANT) Q_PROPERTY(qreal extraSmall READ extraSmall CONSTANT) Q_PROPERTY(qreal large READ large CONSTANT) Q_PROPERTY(qreal largeIncreased READ largeIncreased CONSTANT) Q_PROPERTY(qreal larger READ larger CONSTANT) Q_PROPERTY(qreal normal READ normal CONSTANT) Q_PROPERTY(qreal scale READ scale CONSTANT) Q_PROPERTY(qreal small READ small CONSTANT) Q_PROPERTY(qreal smaller READ smaller CONSTANT) Q_PROPERTY(qreal smallest READ smallest CONSTANT) public: explicit TokensPadding(QObject* parent = nullptr); qreal extraLarge() const { return m_extraLarge; } qreal extraLargeIncreased() const { return m_extraLargeIncreased; } qreal extraSmall() const { return m_extraSmall; } qreal large() const { return m_large; } qreal largeIncreased() const { return m_largeIncreased; } qreal larger() const { return m_larger; } qreal normal() const { return m_normal; } qreal scale() const { return m_scale; } qreal small() const { return m_small; } qreal smaller() const { return m_smaller; } qreal smallest() const { return m_smallest; } private: qreal m_extraLarge; qreal m_extraLargeIncreased; qreal m_extraSmall; qreal m_large; qreal m_largeIncreased; qreal m_larger; qreal m_normal; qreal m_scale; qreal m_small; qreal m_smaller; qreal m_smallest; }; class TokensSpacing : public QObject { Q_OBJECT QML_ELEMENT QML_SINGLETON QML_UNCREATABLE("Instantiated internally by Tokens") Q_PROPERTY(qreal extraSmall READ extraSmall CONSTANT) Q_PROPERTY(qreal large READ large CONSTANT) Q_PROPERTY(qreal larger READ larger CONSTANT) Q_PROPERTY(qreal normal READ normal CONSTANT) Q_PROPERTY(qreal scale READ scale CONSTANT) Q_PROPERTY(qreal small READ small CONSTANT) Q_PROPERTY(qreal smaller READ smaller CONSTANT) public: explicit TokensSpacing(QObject* parent = nullptr); qreal extraSmall() const { return m_extraSmall; } qreal large() const { return m_large; } qreal larger() const { return m_larger; } qreal normal() const { return m_normal; } qreal scale() const { return m_scale; } qreal small() const { return m_small; } qreal smaller() const { return m_smaller; } private: qreal m_extraSmall; qreal m_large; qreal m_larger; qreal m_normal; qreal m_scale; qreal m_small; qreal m_smaller; }; class TokensFontSize : public QObject { Q_OBJECT QML_ELEMENT QML_SINGLETON QML_UNCREATABLE("Instantiated internally by Tokens") Q_PROPERTY(qreal extraLarge READ extraLarge CONSTANT) Q_PROPERTY(qreal large READ large CONSTANT) Q_PROPERTY(qreal larger READ larger CONSTANT) Q_PROPERTY(qreal medium READ medium CONSTANT) Q_PROPERTY(qreal normal READ normal CONSTANT) Q_PROPERTY(qreal scale READ scale CONSTANT) Q_PROPERTY(qreal small READ small CONSTANT) Q_PROPERTY(qreal smaller READ smaller CONSTANT) public: explicit TokensFontSize(QObject* parent = nullptr); qreal extraLarge() const { return m_extraLarge; } qreal large() const { return m_large; } qreal larger() const { return m_larger; } qreal medium() const { return m_medium; } qreal normal() const { return m_normal; } qreal scale() const { return m_scale; } qreal small() const { return m_small; } qreal smaller() const { return m_smaller; } private: qreal m_extraLarge; qreal m_large; qreal m_larger; qreal m_medium; qreal m_normal; qreal m_scale; qreal m_small; qreal m_smaller; }; class TokensFont : public QObject { Q_OBJECT QML_ELEMENT QML_SINGLETON QML_UNCREATABLE("Instantiated internally by Tokens") Q_PROPERTY(TokensFontSize* size READ size CONSTANT) public: explicit TokensFont(QObject* parent = nullptr); TokensFontSize* size() const { return m_size; } private: TokensFontSize* m_size = nullptr; }; class TokensAnimCurves : public QObject { Q_OBJECT QML_ELEMENT QML_SINGLETON QML_UNCREATABLE("Instantiated internally by Tokens") Q_PROPERTY(QVariantList emphasized READ emphasized CONSTANT) Q_PROPERTY(QVariantList emphasizedAccel READ emphasizedAccel CONSTANT) Q_PROPERTY(QVariantList emphasizedDecel READ emphasizedDecel CONSTANT) Q_PROPERTY( QVariantList expressiveDefaultEffects READ expressiveDefaultEffects CONSTANT) Q_PROPERTY( QVariantList expressiveDefaultSpatial READ expressiveDefaultSpatial CONSTANT) Q_PROPERTY(QVariantList expressiveEffects READ expressiveEffects CONSTANT) Q_PROPERTY( QVariantList expressiveFastEffects READ expressiveFastEffects CONSTANT) Q_PROPERTY( QVariantList expressiveFastSpatial READ expressiveFastSpatial CONSTANT) Q_PROPERTY( QVariantList expressiveSlowEffects READ expressiveSlowEffects CONSTANT) Q_PROPERTY( QVariantList expressiveSlowSpatial READ expressiveSlowSpatial CONSTANT) Q_PROPERTY(QVariantList standard READ standard CONSTANT) Q_PROPERTY(QVariantList standardAccel READ standardAccel CONSTANT) Q_PROPERTY(QVariantList standardDecel READ standardDecel CONSTANT) public: explicit TokensAnimCurves(QObject* parent = nullptr); QVariantList emphasized() const { return m_emphasized; } QVariantList emphasizedAccel() const { return m_emphasizedAccel; } QVariantList emphasizedDecel() const { return m_emphasizedDecel; } QVariantList expressiveDefaultEffects() const { return m_expressiveDefaultEffects; } QVariantList expressiveDefaultSpatial() const { return m_expressiveDefaultSpatial; } QVariantList expressiveEffects() const { return m_expressiveEffects; } QVariantList expressiveFastEffects() const { return m_expressiveFastEffects; } QVariantList expressiveFastSpatial() const { return m_expressiveFastSpatial; } QVariantList expressiveSlowEffects() const { return m_expressiveSlowEffects; } QVariantList expressiveSlowSpatial() const { return m_expressiveSlowSpatial; } QVariantList standard() const { return m_standard; } QVariantList standardAccel() const { return m_standardAccel; } QVariantList standardDecel() const { return m_standardDecel; } private: QVariantList m_emphasized; QVariantList m_emphasizedAccel; QVariantList m_emphasizedDecel; QVariantList m_expressiveDefaultEffects; QVariantList m_expressiveDefaultSpatial; QVariantList m_expressiveEffects; QVariantList m_expressiveFastEffects; QVariantList m_expressiveFastSpatial; QVariantList m_expressiveSlowEffects; QVariantList m_expressiveSlowSpatial; QVariantList m_standard; QVariantList m_standardAccel; QVariantList m_standardDecel; }; class TokensAnimDurations : public QObject { Q_OBJECT QML_ELEMENT QML_SINGLETON QML_UNCREATABLE("Instantiated internally by Tokens") Q_PROPERTY( int expressiveDefaultSpatial READ expressiveDefaultSpatial CONSTANT) Q_PROPERTY(int expressiveEffects READ expressiveEffects CONSTANT) Q_PROPERTY(int expressiveFastEffects READ expressiveFastEffects CONSTANT) Q_PROPERTY(int expressiveFastSpatial READ expressiveFastSpatial CONSTANT) Q_PROPERTY(int expressiveSlowEffects READ expressiveSlowEffects CONSTANT) Q_PROPERTY(int extraLarge READ extraLarge CONSTANT) Q_PROPERTY(int large READ large CONSTANT) Q_PROPERTY(int normal READ normal CONSTANT) Q_PROPERTY(qreal scale READ scale CONSTANT) Q_PROPERTY(int small READ small CONSTANT) public: explicit TokensAnimDurations(QObject* parent = nullptr); int expressiveDefaultSpatial() const { return m_expressiveDefaultSpatial; } int expressiveEffects() const { return m_expressiveEffects; } int expressiveFastEffects() const { return m_expressiveFastEffects; } int expressiveFastSpatial() const { return m_expressiveFastSpatial; } int expressiveSlowEffects() const { return m_expressiveSlowEffects; } int extraLarge() const { return m_extraLarge; } int large() const { return m_large; } int normal() const { return m_normal; } qreal scale() const { return m_scale; } int small() const { return m_small; } private: int m_expressiveDefaultSpatial; int m_expressiveEffects; int m_expressiveFastEffects; int m_expressiveFastSpatial; int m_expressiveSlowEffects; int m_extraLarge; int m_large; int m_normal; qreal m_scale; int m_small; }; class TokensAnim : public QObject { Q_OBJECT QML_ELEMENT QML_SINGLETON QML_UNCREATABLE("Instantiated internally by Tokens") Q_PROPERTY(TokensAnimCurves* curves READ curves CONSTANT) Q_PROPERTY(TokensAnimDurations* durations READ durations CONSTANT) public: explicit TokensAnim(QObject* parent = nullptr); TokensAnimCurves* curves() const { return m_curves; } TokensAnimDurations* durations() const { return m_durations; } private: TokensAnimCurves* m_curves = nullptr; TokensAnimDurations* m_durations = nullptr; }; class Tokens : public QObject { Q_OBJECT QML_ELEMENT QML_SINGLETON Q_PROPERTY(TokensRounding* rounding READ rounding CONSTANT) Q_PROPERTY(TokensPadding* padding READ padding CONSTANT) Q_PROPERTY(TokensSpacing* spacing READ spacing CONSTANT) Q_PROPERTY(TokensFont* font READ font CONSTANT) Q_PROPERTY(TokensAnim* anim READ anim CONSTANT) public: explicit Tokens(QObject* parent = nullptr); static Tokens* create(QQmlEngine*, QJSEngine*); TokensRounding* rounding() const { return m_rounding; } TokensPadding* padding() const { return m_padding; } TokensSpacing* spacing() const { return m_spacing; } TokensFont* font() const { return m_font; } TokensAnim* anim() const { return m_anim; } private: TokensRounding* m_rounding = nullptr; TokensPadding* m_padding = nullptr; TokensSpacing* m_spacing = nullptr; TokensFont* m_font = nullptr; TokensAnim* m_anim = nullptr; };