2023-07-02 12:18:47 +02:00
|
|
|
/******************************************************************************
|
2024-01-17 14:31:45 +01:00
|
|
|
* QSkinny - Copyright (C) The authors
|
2023-07-02 12:18:47 +02:00
|
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
*****************************************************************************/
|
|
|
|
|
|
|
|
#ifndef QSK_FLUENT2_THEME_H
|
|
|
|
#define QSK_FLUENT2_THEME_H
|
|
|
|
|
|
|
|
#include "QskFluent2Global.h"
|
|
|
|
|
|
|
|
#include <QskSkin.h>
|
|
|
|
#include <QskShadowMetrics.h>
|
|
|
|
|
|
|
|
#include <qcolor.h>
|
|
|
|
#include <array>
|
|
|
|
|
|
|
|
class QSK_FLUENT2_EXPORT QskFluent2Theme
|
|
|
|
{
|
|
|
|
public:
|
2023-07-03 17:50:57 +02:00
|
|
|
struct BaseColors
|
2023-07-02 12:18:47 +02:00
|
|
|
{
|
2023-07-03 17:50:57 +02:00
|
|
|
QRgb primary;
|
|
|
|
QRgb secondary;
|
|
|
|
QRgb tertiary;
|
2023-07-02 12:18:47 +02:00
|
|
|
};
|
|
|
|
|
2023-07-03 17:50:57 +02:00
|
|
|
struct AccentColors
|
|
|
|
{
|
|
|
|
QRgb primary;
|
|
|
|
QRgb secondary;
|
|
|
|
QRgb tertiary;
|
|
|
|
QRgb quaternary;
|
|
|
|
};
|
|
|
|
|
|
|
|
QskFluent2Theme( QskSkin::ColorScheme, const BaseColors& baseColors,
|
|
|
|
const AccentColors& accentColors );
|
2023-07-02 12:18:47 +02:00
|
|
|
|
|
|
|
typedef std::array< QRgb, 2 > BorderGradient;
|
|
|
|
|
|
|
|
struct FillColor
|
|
|
|
{
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb primary;
|
|
|
|
QRgb secondary;
|
|
|
|
QRgb tertiary;
|
|
|
|
QRgb disabled;
|
|
|
|
} text;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb primary;
|
|
|
|
QRgb secondary;
|
|
|
|
QRgb tertiary;
|
|
|
|
QRgb disabled;
|
|
|
|
} accentText;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb primary;
|
|
|
|
QRgb secondary;
|
|
|
|
QRgb tertiary;
|
|
|
|
QRgb disabled;
|
|
|
|
QRgb selectedText;
|
|
|
|
} textOnAccent;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb defaultColor;
|
|
|
|
QRgb secondary;
|
|
|
|
QRgb tertiary;
|
|
|
|
QRgb inputActive;
|
|
|
|
QRgb disabled;
|
|
|
|
} control;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb defaultColor;
|
|
|
|
QRgb disabled;
|
|
|
|
} controlStrong;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb secondary;
|
|
|
|
QRgb tertiary;
|
|
|
|
QRgb disabled;
|
|
|
|
} subtle;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb defaultColor;
|
|
|
|
} controlSolid;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb secondary;
|
|
|
|
QRgb tertiary;
|
|
|
|
QRgb quaternary;
|
|
|
|
QRgb disabled;
|
|
|
|
} controlAlt;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb defaultColor;
|
|
|
|
QRgb secondary;
|
|
|
|
QRgb tertiary;
|
|
|
|
QRgb disabled;
|
|
|
|
QRgb selectedTextBackground;
|
|
|
|
} accent;
|
2023-07-20 10:41:49 +02:00
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb background;
|
|
|
|
} acrylic;
|
2023-07-02 12:18:47 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
struct Elevation
|
|
|
|
{
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
BorderGradient border;
|
|
|
|
} control;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
BorderGradient border;
|
|
|
|
} circle;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
BorderGradient border;
|
|
|
|
BorderGradient borderFocused;
|
|
|
|
} textControl;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
BorderGradient border;
|
|
|
|
} accentControl;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct StrokeColor
|
|
|
|
{
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb defaultColor;
|
|
|
|
QRgb secondary;
|
|
|
|
QRgb onAccentDefault;
|
|
|
|
QRgb onAccentSecondary;
|
|
|
|
QRgb onAccentTertiary;
|
|
|
|
QRgb onAccentDisabled;
|
|
|
|
} control;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb defaultColor;
|
|
|
|
QRgb disabled;
|
|
|
|
} controlStrong;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb defaultColor;
|
|
|
|
QRgb defaultSolid;
|
|
|
|
} card;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb defaultColor;
|
|
|
|
} divider;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb defaultColor;
|
|
|
|
QRgb flyout;
|
|
|
|
} surface;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb outer;
|
|
|
|
QRgb inner;
|
|
|
|
} focus;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct Background
|
|
|
|
{
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb defaultColor;
|
|
|
|
} overlay;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb alt;
|
|
|
|
} layer;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb defaultColor;
|
|
|
|
} flyout;
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
QRgb base;
|
|
|
|
QRgb secondary;
|
|
|
|
QRgb tertiary;
|
|
|
|
QRgb quaternary;
|
|
|
|
} solid;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
FillColor fillColor;
|
|
|
|
Elevation elevation;
|
|
|
|
StrokeColor strokeColor;
|
|
|
|
Background background;
|
|
|
|
} palette;
|
|
|
|
|
|
|
|
struct ShadowSettings
|
|
|
|
{
|
|
|
|
QskShadowMetrics metrics;
|
|
|
|
QRgb color;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct
|
|
|
|
{
|
|
|
|
ShadowSettings flyout;
|
|
|
|
ShadowSettings dialog;
|
|
|
|
} shadow;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|