2017-07-21 18:21:34 +02:00
|
|
|
/******************************************************************************
|
|
|
|
* QSkinny - Copyright (C) 2016 Uwe Rathmann
|
|
|
|
* This file may be used under the terms of the QSkinny License, Version 1.0
|
|
|
|
*****************************************************************************/
|
|
|
|
|
|
|
|
#ifndef QSK_MATERIAL_SKIN_H
|
|
|
|
#define QSK_MATERIAL_SKIN_H
|
|
|
|
|
2018-10-12 08:03:03 +02:00
|
|
|
#include "QskMaterialGlobal.h"
|
2017-07-21 18:21:34 +02:00
|
|
|
#include <QskSkin.h>
|
2022-06-03 10:15:20 +02:00
|
|
|
#include <QskRgbPalette.h>
|
2017-07-21 18:21:34 +02:00
|
|
|
|
2022-06-03 10:15:20 +02:00
|
|
|
class QSK_MATERIAL_EXPORT QskMaterialTheme
|
2022-02-17 21:54:56 +01:00
|
|
|
{
|
2022-03-31 18:29:39 +02:00
|
|
|
public:
|
2022-06-03 10:15:20 +02:00
|
|
|
enum Lightness
|
|
|
|
{
|
|
|
|
Light,
|
|
|
|
Dark
|
|
|
|
};
|
|
|
|
|
|
|
|
enum PaletteType
|
|
|
|
{
|
|
|
|
Primary,
|
|
|
|
Secondary,
|
|
|
|
Tertiary,
|
|
|
|
Error,
|
|
|
|
Neutral,
|
|
|
|
NeutralVariant,
|
|
|
|
|
|
|
|
NumPaletteTypes
|
|
|
|
};
|
|
|
|
|
|
|
|
QskMaterialTheme( Lightness );
|
|
|
|
QskMaterialTheme( Lightness, std::array< QskRgbPalette, NumPaletteTypes > );
|
2022-02-17 21:54:56 +01:00
|
|
|
|
2022-03-31 18:29:39 +02:00
|
|
|
QRgb primary;
|
|
|
|
QRgb onPrimary;
|
2022-06-03 09:32:29 +02:00
|
|
|
QRgb primaryContainer;
|
|
|
|
QRgb onPrimaryContainer;
|
2022-03-31 18:29:39 +02:00
|
|
|
|
|
|
|
QRgb secondary;
|
|
|
|
QRgb onSecondary;
|
2022-06-03 09:32:29 +02:00
|
|
|
QRgb secondaryContainer;
|
|
|
|
QRgb onSecondaryContainer;
|
2022-03-31 18:29:39 +02:00
|
|
|
|
2022-06-03 09:32:29 +02:00
|
|
|
QRgb tertiary;
|
|
|
|
QRgb onTertiary;
|
|
|
|
QRgb tertiaryContainer;
|
|
|
|
QRgb onTertiaryContainer;
|
2022-03-31 18:29:39 +02:00
|
|
|
|
|
|
|
QRgb error;
|
|
|
|
QRgb onError;
|
2022-06-03 09:32:29 +02:00
|
|
|
QRgb errorContainer;
|
|
|
|
QRgb onErrorContainer;
|
2022-03-31 18:29:39 +02:00
|
|
|
|
2022-06-03 09:32:29 +02:00
|
|
|
QRgb background;
|
|
|
|
QRgb onBackground;
|
|
|
|
QRgb surface;
|
|
|
|
QRgb onSurface;
|
2022-03-31 18:29:39 +02:00
|
|
|
|
2022-06-03 09:32:29 +02:00
|
|
|
QRgb surfaceVariant;
|
|
|
|
QRgb onSurfaceVariant;
|
|
|
|
QRgb outline;
|
2022-06-03 10:15:20 +02:00
|
|
|
|
|
|
|
private:
|
|
|
|
std::array< QskRgbPalette, NumPaletteTypes > m_palettes;
|
2022-02-17 21:54:56 +01:00
|
|
|
};
|
|
|
|
|
2018-10-12 08:03:03 +02:00
|
|
|
class QSK_MATERIAL_EXPORT QskMaterialSkin : public QskSkin
|
2017-07-21 18:21:34 +02:00
|
|
|
{
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
using Inherited = QskSkin;
|
|
|
|
|
2018-08-03 08:15:28 +02:00
|
|
|
public:
|
2022-06-03 10:15:20 +02:00
|
|
|
QskMaterialSkin( const QskMaterialTheme&, QObject* parent = nullptr );
|
2018-07-31 17:32:25 +02:00
|
|
|
~QskMaterialSkin() override;
|
2022-06-03 10:15:20 +02:00
|
|
|
|
|
|
|
// ### add setTheme() re-implement resetColors()
|
2017-07-21 18:21:34 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|