Cockatrice 2026-10-19-Development-3.1.2-beta.2
A virtual tabletop for multiplayer card games
Loading...
Searching...
No Matches
banner_shader_config.h
Go to the documentation of this file.
1#ifndef BANNER_SHADER_CONFIG_H
2#define BANNER_SHADER_CONFIG_H
3
4#include <QColor>
5#include <QObject>
6
22class BannerShaderConfig : public QObject
23{
24 Q_OBJECT
25 Q_PROPERTY(qreal time READ time WRITE setTime NOTIFY timeChanged)
26 Q_PROPERTY(qreal aspect READ aspect WRITE setAspect NOTIFY aspectChanged)
27
28 Q_PROPERTY(qreal modeA READ modeA WRITE setModeA NOTIFY modeAChanged)
29 Q_PROPERTY(qreal speedA READ speedA WRITE setSpeedA NOTIFY speedAChanged)
30 Q_PROPERTY(qreal seedA READ seedA WRITE setSeedA NOTIFY seedAChanged)
31
32 Q_PROPERTY(qreal modeB READ modeB WRITE setModeB NOTIFY modeBChanged)
33 Q_PROPERTY(qreal speedB READ speedB WRITE setSpeedB NOTIFY speedBChanged)
34 Q_PROPERTY(qreal seedB READ seedB WRITE setSeedB NOTIFY seedBChanged)
35
36 Q_PROPERTY(bool frontIsA READ frontIsA WRITE setFrontIsA NOTIFY frontIsAChanged)
37
38 Q_PROPERTY(QColor colorA READ colorA WRITE setColorA NOTIFY colorAChanged)
39 Q_PROPERTY(QColor colorB READ colorB WRITE setColorB NOTIFY colorBChanged)
40 Q_PROPERTY(QColor accent READ accent WRITE setAccent NOTIFY accentChanged)
41 Q_PROPERTY(QColor glowColor READ glowColor WRITE setGlowColor NOTIFY glowColorChanged)
42 Q_PROPERTY(QColor brandStrong READ brandStrong WRITE setBrandStrong NOTIFY brandStrongChanged)
43 Q_PROPERTY(QColor brandSoft READ brandSoft WRITE setBrandSoft NOTIFY brandSoftChanged)
44 Q_PROPERTY(qreal vignetteMin READ vignetteMin WRITE setVignetteMin NOTIFY vignetteMinChanged)
45
46 Q_PROPERTY(bool logoVisible READ logoVisible WRITE setLogoVisible NOTIFY logoVisibleChanged)
47 Q_PROPERTY(qreal logoGlow READ logoGlow WRITE setLogoGlow NOTIFY logoGlowChanged)
48
49public:
50 explicit BannerShaderConfig(QObject *parent = nullptr) : QObject(parent)
51 {
52 }
53
54 qreal time() const
55 {
56 return m_time;
57 }
58 void setTime(qreal v)
59 {
60 if (v != m_time) {
61 m_time = v;
62 emit timeChanged();
63 }
64 }
65
66 qreal aspect() const
67 {
68 return m_aspect;
69 }
70 void setAspect(qreal v)
71 {
72 if (v != m_aspect) {
73 m_aspect = v;
74 emit aspectChanged();
75 }
76 }
77
78 qreal modeA() const
79 {
80 return m_modeA;
81 }
82 void setModeA(qreal v)
83 {
84 if (v != m_modeA) {
85 m_modeA = v;
86 emit modeAChanged();
87 }
88 }
89 qreal speedA() const
90 {
91 return m_speedA;
92 }
93 void setSpeedA(qreal v)
94 {
95 if (v != m_speedA) {
96 m_speedA = v;
97 emit speedAChanged();
98 }
99 }
100 qreal seedA() const
101 {
102 return m_seedA;
103 }
104 void setSeedA(qreal v)
105 {
106 if (v != m_seedA) {
107 m_seedA = v;
108 emit seedAChanged();
109 }
110 }
111
112 qreal modeB() const
113 {
114 return m_modeB;
115 }
116 void setModeB(qreal v)
117 {
118 if (v != m_modeB) {
119 m_modeB = v;
120 emit modeBChanged();
121 }
122 }
123 qreal speedB() const
124 {
125 return m_speedB;
126 }
127 void setSpeedB(qreal v)
128 {
129 if (v != m_speedB) {
130 m_speedB = v;
131 emit speedBChanged();
132 }
133 }
134 qreal seedB() const
135 {
136 return m_seedB;
137 }
138 void setSeedB(qreal v)
139 {
140 if (v != m_seedB) {
141 m_seedB = v;
142 emit seedBChanged();
143 }
144 }
145
146 bool frontIsA() const
147 {
148 return m_frontIsA;
149 }
150 void setFrontIsA(bool v)
151 {
152 if (v != m_frontIsA) {
153 m_frontIsA = v;
154 emit frontIsAChanged();
155 }
156 }
157
158 QColor colorA() const
159 {
160 return m_colorA;
161 }
162 void setColorA(const QColor &c)
163 {
164 if (c != m_colorA) {
165 m_colorA = c;
166 emit colorAChanged();
167 }
168 }
169 QColor colorB() const
170 {
171 return m_colorB;
172 }
173 void setColorB(const QColor &c)
174 {
175 if (c != m_colorB) {
176 m_colorB = c;
177 emit colorBChanged();
178 }
179 }
180 QColor accent() const
181 {
182 return m_accent;
183 }
184 void setAccent(const QColor &c)
185 {
186 if (c != m_accent) {
187 m_accent = c;
188 emit accentChanged();
189 }
190 }
191
192 QColor glowColor() const
193 {
194 return m_glowColor;
195 }
196 void setGlowColor(const QColor &c)
197 {
198 if (c != m_glowColor) {
199 m_glowColor = c;
200 emit glowColorChanged();
201 }
202 }
203
204 QColor brandStrong() const
205 {
206 return m_brandStrong;
207 }
208 void setBrandStrong(const QColor &c)
209 {
210 if (c != m_brandStrong) {
211 m_brandStrong = c;
212 emit brandStrongChanged();
213 }
214 }
215
216 QColor brandSoft() const
217 {
218 return m_brandSoft;
219 }
220 void setBrandSoft(const QColor &c)
221 {
222 if (c != m_brandSoft) {
223 m_brandSoft = c;
224 emit brandSoftChanged();
225 }
226 }
227
228 qreal vignetteMin() const
229 {
230 return m_vignetteMin;
231 }
232 void setVignetteMin(qreal v)
233 {
234 if (v != m_vignetteMin) {
235 m_vignetteMin = v;
236 emit vignetteMinChanged();
237 }
238 }
239
240 bool logoVisible() const
241 {
242 return m_logoVisible;
243 }
244 void setLogoVisible(bool v)
245 {
246 if (v != m_logoVisible) {
247 m_logoVisible = v;
248 emit logoVisibleChanged();
249 }
250 }
251
252 qreal logoGlow() const
253 {
254 return m_logoGlow;
255 }
256 void setLogoGlow(qreal v)
257 {
258 if (v != m_logoGlow) {
259 m_logoGlow = v;
260 emit logoGlowChanged();
261 }
262 }
263
264signals:
283
284private:
285 qreal m_time = 0.0;
286 qreal m_aspect = 16.0 / 9.0;
287
288 qreal m_modeA = 0.0;
289 qreal m_speedA = 1.0;
290 qreal m_seedA = 0.0;
291
292 qreal m_modeB = 0.0;
293 qreal m_speedB = 1.0;
294 qreal m_seedB = 0.0;
295
296 bool m_frontIsA = true;
297
298 // Curated fallback seed values -- BannerHost overwrites these with
299 // palette-derived colours (see shader_banner_widget.cpp) before the first
300 // paint, so they only matter as a safe pre-first-apply default.
301 QColor m_colorA{0x1A, 0x1A, 0x20};
302 QColor m_colorB{0x0E, 0x0E, 0x12};
303 QColor m_accent{0x8B, 0xDD, 0x6B};
304 QColor m_glowColor{Qt::white};
305 QColor m_brandStrong{0x13, 0x97, 0x40};
306 QColor m_brandSoft{0xC9, 0xFD, 0x62};
307 qreal m_vignetteMin = 0.62;
308
309 bool m_logoVisible = false;
310 qreal m_logoGlow = 1.0;
311};
312
313#endif // BANNER_SHADER_CONFIG_H
qreal vignetteMin() const
Definition banner_shader_config.h:228
QColor accent() const
Definition banner_shader_config.h:180
void setFrontIsA(bool v)
Definition banner_shader_config.h:150
QColor colorA() const
Definition banner_shader_config.h:158
qreal m_seedA
Definition banner_shader_config.h:290
QColor colorB() const
Definition banner_shader_config.h:169
QColor m_glowColor
Definition banner_shader_config.h:304
qreal logoGlow
Definition banner_shader_config.h:47
bool m_logoVisible
Definition banner_shader_config.h:309
qreal speedB
Definition banner_shader_config.h:33
qreal m_modeA
Definition banner_shader_config.h:288
QColor brandStrong
Definition banner_shader_config.h:42
qreal modeA
Definition banner_shader_config.h:28
QColor brandStrong() const
Definition banner_shader_config.h:204
qreal speedB() const
Definition banner_shader_config.h:123
qreal speedA() const
Definition banner_shader_config.h:89
QColor glowColor() const
Definition banner_shader_config.h:192
qreal time
Definition banner_shader_config.h:25
QColor colorA
Definition banner_shader_config.h:38
void setAspect(qreal v)
Definition banner_shader_config.h:70
qreal vignetteMin
Definition banner_shader_config.h:44
qreal time() const
Definition banner_shader_config.h:54
QColor m_colorB
Definition banner_shader_config.h:302
bool logoVisible() const
Definition banner_shader_config.h:240
void setModeB(qreal v)
Definition banner_shader_config.h:116
qreal m_time
Definition banner_shader_config.h:285
void setTime(qreal v)
Definition banner_shader_config.h:58
void setColorA(const QColor &c)
Definition banner_shader_config.h:162
qreal m_modeB
Definition banner_shader_config.h:292
qreal modeA() const
Definition banner_shader_config.h:78
void setModeA(qreal v)
Definition banner_shader_config.h:82
qreal seedB() const
Definition banner_shader_config.h:134
qreal modeB() const
Definition banner_shader_config.h:112
bool frontIsA
Definition banner_shader_config.h:36
qreal m_logoGlow
Definition banner_shader_config.h:310
qreal modeB
Definition banner_shader_config.h:32
void setSeedA(qreal v)
Definition banner_shader_config.h:104
qreal seedA() const
Definition banner_shader_config.h:100
qreal logoGlow() const
Definition banner_shader_config.h:252
QColor m_brandSoft
Definition banner_shader_config.h:306
QColor m_accent
Definition banner_shader_config.h:303
qreal aspect() const
Definition banner_shader_config.h:66
bool m_frontIsA
Definition banner_shader_config.h:296
bool frontIsA() const
Definition banner_shader_config.h:146
qreal m_speedB
Definition banner_shader_config.h:293
qreal speedA
Definition banner_shader_config.h:29
qreal m_vignetteMin
Definition banner_shader_config.h:307
void setLogoVisible(bool v)
Definition banner_shader_config.h:244
qreal aspect
Definition banner_shader_config.h:26
QColor m_brandStrong
Definition banner_shader_config.h:305
QColor m_colorA
Definition banner_shader_config.h:301
QColor colorB
Definition banner_shader_config.h:39
QColor accent
Definition banner_shader_config.h:40
QColor brandSoft
Definition banner_shader_config.h:43
void setLogoGlow(qreal v)
Definition banner_shader_config.h:256
void setBrandStrong(const QColor &c)
Definition banner_shader_config.h:208
qreal seedA
Definition banner_shader_config.h:30
QColor brandSoft() const
Definition banner_shader_config.h:216
void setColorB(const QColor &c)
Definition banner_shader_config.h:173
qreal m_aspect
Definition banner_shader_config.h:286
void setSeedB(qreal v)
Definition banner_shader_config.h:138
void setSpeedA(qreal v)
Definition banner_shader_config.h:93
qreal m_speedA
Definition banner_shader_config.h:289
qreal m_seedB
Definition banner_shader_config.h:294
qreal seedB
Definition banner_shader_config.h:34
bool logoVisible
Definition banner_shader_config.h:46
QColor glowColor
Definition banner_shader_config.h:41
void setAccent(const QColor &c)
Definition banner_shader_config.h:184
void setBrandSoft(const QColor &c)
Definition banner_shader_config.h:220
void setGlowColor(const QColor &c)
Definition banner_shader_config.h:196
void setVignetteMin(qreal v)
Definition banner_shader_config.h:232
void setSpeedB(qreal v)
Definition banner_shader_config.h:127
BannerShaderConfig(QObject *parent=nullptr)
Definition banner_shader_config.h:50