qskinny/skins/fluent2/QskFluent2Skin.h

56 lines
1.4 KiB
C
Raw Normal View History

2023-04-13 17:19:36 +02:00
/******************************************************************************
2023-05-12 14:26:24 +02:00
* QSkinny - Copyright (C) 2023 Edelhirsch Software GmbH
2023-04-13 17:19:36 +02:00
* SPDX-License-Identifier: BSD-3-Clause
*****************************************************************************/
2023-06-17 12:23:34 +02:00
#ifndef QSK_FLUENT2_SKIN_H
#define QSK_FLUENT2_SKIN_H
2023-04-13 17:19:36 +02:00
2023-06-17 12:23:34 +02:00
#include "QskFluent2Global.h"
2023-05-06 15:46:12 +02:00
#include <QskSkin.h>
2023-04-13 17:19:36 +02:00
2023-07-02 12:18:47 +02:00
class QskFluent2Theme;
2023-04-13 17:19:36 +02:00
2023-06-17 12:23:34 +02:00
class QSK_FLUENT2_EXPORT QskFluent2Skin : public QskSkin
2023-04-13 17:19:36 +02:00
{
Q_OBJECT
using Inherited = QskSkin;
public:
2023-06-17 12:23:34 +02:00
QskFluent2Skin( const QskFluent2Theme&, QObject* parent = nullptr );
2023-07-02 12:18:47 +02:00
~QskFluent2Skin() override;
2023-04-13 17:19:36 +02:00
enum GraphicRole
{
GraphicRoleFillColorTextDisabled,
2023-05-01 19:34:36 +02:00
GraphicRoleFillColorTextOnAccentDisabled,
GraphicRoleFillColorTextOnAccentPrimary,
GraphicRoleFillColorTextOnAccentSecondary,
GraphicRoleFillColorTextPrimary,
GraphicRoleFillColorTextSecondary,
2023-04-13 17:19:36 +02:00
};
enum FontRole
{
2023-05-12 15:35:16 +02:00
Caption = TinyFont,
Body = DefaultFont,
BodyStrong = SmallFont,
BodyLarge = MediumFont,
Subtitle = LargeFont,
Title = HugeFont,
2023-04-13 17:19:36 +02:00
TitleLarge,
2023-05-12 15:35:16 +02:00
Display,
2023-04-13 17:19:36 +02:00
};
2023-04-29 10:38:55 +02:00
static constexpr QskAspect::Variation Standard = QskAspect::NoVariation;
static constexpr QskAspect::Variation Accent = QskAspect::Large;
2023-04-13 17:19:36 +02:00
private:
void setupFonts();
2023-07-02 12:18:47 +02:00
void setupGraphicFilters( const QskFluent2Theme& );
2023-04-13 17:19:36 +02:00
void setGraphicColor( GraphicRole, QRgb );
};
#endif