Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
shader_banner_widget.h
Go to the documentation of this file.
1#ifndef SHADER_BANNER_WIDGET_H
2#define SHADER_BANNER_WIDGET_H
3
4#include <QColor>
5#include <QElapsedTimer>
6#include <QTimer>
7#include <QWidget>
8#include <QtGlobal>
9#include <qtmetamacros.h>
10
12class QQuickWidget;
14class QStackedLayout;
15
32class BannerHost : public QWidget
33{
34 Q_OBJECT
35
36public:
37 enum class Motif
38 {
39 Welcome,
41 Theming,
42 Account,
43 Preferences,
44 Finish,
45 };
46
47 explicit BannerHost(QWidget *parent = nullptr);
48
49 void setMotif(Motif motif);
50
51protected:
52 void showEvent(QShowEvent *event) override;
53 void hideEvent(QHideEvent *event) override;
54 void resizeEvent(QResizeEvent *event) override;
55
56private slots:
57 void tick();
58 void onSceneGraphFailed();
59 void applyThemeColors();
60
61private:
62 struct Preset
63 {
64 qreal mode;
65 qreal speed;
66 qreal seed;
67 };
68
69 static Preset presetFor(Motif motif);
70
71 void applyMotifPreset(Motif motif);
72 void updateAspect();
73 void activateFallback();
74
75 QStackedLayout *stack;
76 QQuickWidget *quickWidget = nullptr;
79
80 // Palette-derived banner colours -- the theme's window hue forced down to
81 // the banner's curated darkness, plus the theme's Highlight as accent.
85
86 QTimer clock;
87 QElapsedTimer elapsed;
89 bool usingFallback = false;
90 bool isFirstApply = true;
91};
92
93#endif // SHADER_BANNER_WIDGET_H
void updateAspect()
Definition shader_banner_widget.cpp:274
BannerShaderConfig * config
Definition shader_banner_widget.h:77
void activateFallback()
Definition shader_banner_widget.cpp:185
QStackedLayout * stack
Definition shader_banner_widget.h:75
bool isFirstApply
Definition shader_banner_widget.h:90
QTimer clock
Definition shader_banner_widget.h:86
void resizeEvent(QResizeEvent *event) override
Definition shader_banner_widget.cpp:281
QColor bannerAccent
Definition shader_banner_widget.h:84
void showEvent(QShowEvent *event) override
Definition shader_banner_widget.cpp:287
void applyThemeColors()
Definition shader_banner_widget.cpp:302
QColor bannerColorB
Definition shader_banner_widget.h:83
QColor bannerColorA
Definition shader_banner_widget.h:82
bool usingFallback
Definition shader_banner_widget.h:89
void applyMotifPreset(Motif motif)
Definition shader_banner_widget.cpp:234
Motif
Definition shader_banner_widget.h:38
@ Welcome
Definition shader_banner_widget.h:39
static Preset presetFor(Motif motif)
Definition shader_banner_widget.cpp:212
void hideEvent(QHideEvent *event) override
Definition shader_banner_widget.cpp:296
Motif currentMotif
Definition shader_banner_widget.h:88
QQuickWidget * quickWidget
Definition shader_banner_widget.h:76
void onSceneGraphFailed()
Definition shader_banner_widget.cpp:201
void setMotif(Motif motif)
Definition shader_banner_widget.cpp:206
void tick()
Definition shader_banner_widget.cpp:323
GradientFallbackWidget * fallback
Definition shader_banner_widget.h:78
BannerHost(QWidget *parent=nullptr)
Definition shader_banner_widget.cpp:150
QElapsedTimer elapsed
Definition shader_banner_widget.h:87
Definition banner_shader_config.h:23
Core in-memory container for card and set data.
Definition card_database.h:38
Definition shader_banner_widget.cpp:123
Definition shader_banner_widget.h:63
qreal mode
Definition shader_banner_widget.h:64
qreal speed
Definition shader_banner_widget.h:65
qreal seed
Definition shader_banner_widget.h:66