#pragma once #include #include #include "FluAccentColor.h" #include "stdafx.h" #include "singleton.h" /** * @brief The FluColors class */ class FluColors : public QObject { Q_OBJECT Q_PROPERTY_AUTO(QColor, Transparent); Q_PROPERTY_AUTO(QColor, Black); Q_PROPERTY_AUTO(QColor, White); Q_PROPERTY_AUTO(QColor, Grey10); Q_PROPERTY_AUTO(QColor, Grey20); Q_PROPERTY_AUTO(QColor, Grey30); Q_PROPERTY_AUTO(QColor, Grey40); Q_PROPERTY_AUTO(QColor, Grey50); Q_PROPERTY_AUTO(QColor, Grey60); Q_PROPERTY_AUTO(QColor, Grey70); Q_PROPERTY_AUTO(QColor, Grey80); Q_PROPERTY_AUTO(QColor, Grey90); Q_PROPERTY_AUTO(QColor, Grey100); Q_PROPERTY_AUTO(QColor, Grey110); Q_PROPERTY_AUTO(QColor, Grey120); Q_PROPERTY_AUTO(QColor, Grey130); Q_PROPERTY_AUTO(QColor, Grey140); Q_PROPERTY_AUTO(QColor, Grey150); Q_PROPERTY_AUTO(QColor, Grey160); Q_PROPERTY_AUTO(QColor, Grey170); Q_PROPERTY_AUTO(QColor, Grey180); Q_PROPERTY_AUTO(QColor, Grey190); Q_PROPERTY_AUTO(QColor, Grey200); Q_PROPERTY_AUTO(QColor, Grey210); Q_PROPERTY_AUTO(QColor, Grey220); Q_PROPERTY_AUTO_P(FluAccentColor*, Yellow); Q_PROPERTY_AUTO_P(FluAccentColor*, Orange); Q_PROPERTY_AUTO_P(FluAccentColor*, Red); Q_PROPERTY_AUTO_P(FluAccentColor*, Magenta); Q_PROPERTY_AUTO_P(FluAccentColor*, Purple); Q_PROPERTY_AUTO_P(FluAccentColor*, Blue); Q_PROPERTY_AUTO_P(FluAccentColor*, Teal); Q_PROPERTY_AUTO_P(FluAccentColor*, Green); QML_NAMED_ELEMENT(FluColors) QML_SINGLETON private: explicit FluColors(QObject *parent = nullptr); public: SINGLETON(FluColors) [[maybe_unused]] Q_INVOKABLE FluAccentColor *createAccentColor(const QColor &primaryColor); static FluColors *create(QQmlEngine *, QJSEngine *) { return getInstance(); } };