FluentUI/src/FluColors.h
2024-06-28 17:09:23 +08:00

64 lines
1.8 KiB
C++

#pragma once
#include <QObject>
#include <QtQml/qqml.h>
#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();
}
};