Fluid
Loading...
Searching...
No Matches
src
controls
cpp
style
palette.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: 2026 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
2
// SPDX-License-Identifier: MPL-2.0
3
4
#pragma once
5
6
#include <QRgb>
7
8
namespace
Palette
{
9
10
enum
ToneIndex
{
11
Tone0
= 0,
12
Tone4
,
13
Tone5
,
14
Tone6
,
15
Tone10
,
16
Tone12
,
17
Tone15
,
18
Tone17
,
19
Tone20
,
20
Tone22
,
21
Tone24
,
22
Tone25
,
23
Tone30
,
24
Tone35
,
25
Tone40
,
26
Tone50
,
27
Tone60
,
28
Tone70
,
29
Tone80
,
30
Tone87
,
31
Tone90
,
32
Tone92
,
33
Tone94
,
34
Tone95
,
35
Tone96
,
36
Tone98
,
37
Tone99
,
38
Tone100
39
};
40
41
enum
PaletteType
{
42
Primary
= 0,
43
Secondary
,
44
Tertiary
,
45
Error
,
46
Neutral
,
47
NeutralVariant
48
};
49
50
// Material Design reference palette in tone order.
51
//
52
// It is defined as [type][tone]
53
// Type is defined in PaletteType.
54
// Tone is defined in ToneIndex.
55
//
56
// Palette values are stored as QRgb for efficient conversion to QColor.
57
//
58
// Source: https://m3.material.io/styles/color/the-color-system/tokens
59
// Source:
60
// https://github.com/material-foundation/material-tokens/blob/main/dsp/dist/styledictionary/css/variables.css
61
static
const
QRgb
refPalette
[6][28] = {
62
// Primary
63
{
64
0xff000000u,
// Tone 0
65
0xff10002fu,
// Tone 4
66
0xff14003bu,
// Tone 5
67
0xff170042u,
// Tone 6
68
0xff21005du,
// Tone 10
69
0xff260563u,
// Tone 12
70
0xff2d0c6bu,
// Tone 15
71
0xff31136eu,
// Tone 17
72
0xff381e72u,
// Tone 20
73
0xff3c2577u,
// Tone 22
74
0xff412c7cu,
// Tone 24
75
0xff43307eu,
// Tone 25
76
0xff4f378bu,
// Tone 30
77
0xff5b4397u,
// Tone 35
78
0xff6750a4u,
// Tone 40
79
0xff7f67beu,
// Tone 50
80
0xff9a82dbu,
// Tone 60
81
0xffb69df8u,
// Tone 70
82
0xffd0bcffu,
// Tone 80
83
0xffe2d3ffu,
// Tone 87
84
0xffeaddffu,
// Tone 90
85
0xffefe3ffu,
// Tone 92
86
0xfff4eaffu,
// Tone 94
87
0xfff6edffu,
// Tone 95
88
0xfff9f0ffu,
// Tone 96
89
0xfffef7ffu,
// Tone 98
90
0xfffffbfeu,
// Tone 99
91
0xffffffffu,
// Tone 100
92
},
93
// Secondary
94
{
95
0xff000000u,
// Tone 0
96
0xff0f0d12u,
// Tone 4
97
0xff131017u,
// Tone 5
98
0xff15121bu,
// Tone 6
99
0xff1d192bu,
// Tone 10
100
0xff211d2fu,
// Tone 12
101
0xff282336u,
// Tone 15
102
0xff2c273au,
// Tone 17
103
0xff332d41u,
// Tone 20
104
0xff373145u,
// Tone 22
105
0xff3c364au,
// Tone 24
106
0xff3e384cu,
// Tone 25
107
0xff4a4458u,
// Tone 30
108
0xff564f64u,
// Tone 35
109
0xff625b71u,
// Tone 40
110
0xff7a7289u,
// Tone 50
111
0xff958da5u,
// Tone 60
112
0xffb0a7c0u,
// Tone 70
113
0xffccc2dcu,
// Tone 80
114
0xffe0d6f0u,
// Tone 87
115
0xffe8def8u,
// Tone 90
116
0xffeee4fbu,
// Tone 92
117
0xfff3eafeu,
// Tone 94
118
0xfff6edffu,
// Tone 95
119
0xfff9f0ffu,
// Tone 96
120
0xfffef7ffu,
// Tone 98
121
0xfffffbfeu,
// Tone 99
122
0xffffffffu,
// Tone 100
123
},
124
// Tertiary
125
{
126
0xff000000u,
// Tone 0
127
0xff180812u,
// Tone 4
128
0xff1e0a16u,
// Tone 5
129
0xff220b17u,
// Tone 6
130
0xff31111du,
// Tone 10
131
0xff361622u,
// Tone 12
132
0xff3d1d29u,
// Tone 15
133
0xff42202du,
// Tone 17
134
0xff4a2532u,
// Tone 20
135
0xff4f2936u,
// Tone 22
136
0xff542e3bu,
// Tone 24
137
0xff56303du,
// Tone 25
138
0xff633b48u,
// Tone 30
139
0xff704654u,
// Tone 35
140
0xff7d5260u,
// Tone 40
141
0xff986977u,
// Tone 50
142
0xffb58392u,
// Tone 60
143
0xffd29dacu,
// Tone 70
144
0xffefb8c8u,
// Tone 80
145
0xfffacedcu,
// Tone 87
146
0xffffd8e4u,
// Tone 90
147
0xffffe0e9u,
// Tone 92
148
0xffffe8eeu,
// Tone 94
149
0xffffecf1u,
// Tone 95
150
0xfffff0f3u,
// Tone 96
151
0xfffff8f8u,
// Tone 98
152
0xfffffbfau,
// Tone 99
153
0xffffffffu,
// Tone 100
154
},
155
// Error
156
{
157
0xff000000u,
// Tone 0
158
0xff240504u,
// Tone 4
159
0xff2d0605u,
// Tone 5
160
0xff310806u,
// Tone 6
161
0xff410e0bu,
// Tone 10
162
0xff49100du,
// Tone 12
163
0xff541210u,
// Tone 15
164
0xff591310u,
// Tone 17
165
0xff601410u,
// Tone 20
166
0xff661612u,
// Tone 22
167
0xff6b1814u,
// Tone 24
168
0xff6e1915u,
// Tone 25
169
0xff8c1d18u,
// Tone 30
170
0xffa1261fu,
// Tone 35
171
0xffb3261eu,
// Tone 40
172
0xffdc362eu,
// Tone 50
173
0xffe46962u,
// Tone 60
174
0xffec928eu,
// Tone 70
175
0xfff2b8b5u,
// Tone 80
176
0xfff7d3d0u,
// Tone 87
177
0xfff9dedcu,
// Tone 90
178
0xfffae4e3u,
// Tone 92
179
0xfffbebeau,
// Tone 94
180
0xfffceeeeu,
// Tone 95
181
0xfffdf1f1u,
// Tone 96
182
0xfffff8f7u,
// Tone 98
183
0xfffffbffu,
// Tone 99
184
0xffffffffu,
// Tone 100
185
},
186
// Neutral
187
{
188
0xff000000u,
// Tone 0
189
0xff0e0e0fu,
// Tone 4
190
0xff111113u,
// Tone 5
191
0xff131315u,
// Tone 6
192
0xff1c1b1fu,
// Tone 10
193
0xff201f23u,
// Tone 12
194
0xff262529u,
// Tone 15
195
0xff2a292du,
// Tone 17
196
0xff313033u,
// Tone 20
197
0xff363438u,
// Tone 22
198
0xff3b393du,
// Tone 24
199
0xff3d3b3fu,
// Tone 25
200
0xff48464au,
// Tone 30
201
0xff545156u,
// Tone 35
202
0xff605d62u,
// Tone 40
203
0xff787579u,
// Tone 50
204
0xff938f94u,
// Tone 60
205
0xffaea9b0u,
// Tone 70
206
0xffc9c5cau,
// Tone 80
207
0xffddd9ddu,
// Tone 87
208
0xffe6e1e5u,
// Tone 90
209
0xffece7ebu,
// Tone 92
210
0xfff1ecf1u,
// Tone 94
211
0xfff4eff4u,
// Tone 95
212
0xfff7f2f7u,
// Tone 96
213
0xfffdf8fdu,
// Tone 98
214
0xfffffbfeu,
// Tone 99
215
0xffffffffu,
// Tone 100
216
},
217
// Neutral Variant
218
{
219
0xff000000u,
// Tone 0
220
0xff0d0a11u,
// Tone 4
221
0xff100d15u,
// Tone 5
222
0xff131018u,
// Tone 6
223
0xff1d1a22u,
// Tone 10
224
0xff211e26u,
// Tone 12
225
0xff28252du,
// Tone 15
226
0xff2c2931u,
// Tone 17
227
0xff322f37u,
// Tone 20
228
0xff36333bu,
// Tone 22
229
0xff3b3840u,
// Tone 24
230
0xff3d3a42u,
// Tone 25
231
0xff49454fu,
// Tone 30
232
0xff54515au,
// Tone 35
233
0xff605d66u,
// Tone 40
234
0xff79747eu,
// Tone 50
235
0xff938f99u,
// Tone 60
236
0xffaea9b4u,
// Tone 70
237
0xffcac4d0u,
// Tone 80
238
0xffded8e4u,
// Tone 87
239
0xffe7e0ecu,
// Tone 90
240
0xffede6f2u,
// Tone 92
241
0xfff2ebf7u,
// Tone 94
242
0xfff5eefau,
// Tone 95
243
0xfff8f1fcu,
// Tone 96
244
0xfffef7ffu,
// Tone 98
245
0xfffffbfeu,
// Tone 99
246
0xffffffffu,
// Tone 100
247
},
248
};
249
250
}
// namespace Palette
Palette
Definition
palette.h:8
Palette::refPalette
static const QRgb refPalette[6][28]
Definition
palette.h:61
Palette::PaletteType
PaletteType
Definition
palette.h:41
Palette::Secondary
@ Secondary
Definition
palette.h:43
Palette::Error
@ Error
Definition
palette.h:45
Palette::Neutral
@ Neutral
Definition
palette.h:46
Palette::Tertiary
@ Tertiary
Definition
palette.h:44
Palette::NeutralVariant
@ NeutralVariant
Definition
palette.h:47
Palette::Primary
@ Primary
Definition
palette.h:42
Palette::ToneIndex
ToneIndex
Definition
palette.h:10
Palette::Tone35
@ Tone35
Definition
palette.h:24
Palette::Tone24
@ Tone24
Definition
palette.h:21
Palette::Tone94
@ Tone94
Definition
palette.h:33
Palette::Tone80
@ Tone80
Definition
palette.h:29
Palette::Tone5
@ Tone5
Definition
palette.h:13
Palette::Tone12
@ Tone12
Definition
palette.h:16
Palette::Tone100
@ Tone100
Definition
palette.h:38
Palette::Tone90
@ Tone90
Definition
palette.h:31
Palette::Tone4
@ Tone4
Definition
palette.h:12
Palette::Tone30
@ Tone30
Definition
palette.h:23
Palette::Tone92
@ Tone92
Definition
palette.h:32
Palette::Tone25
@ Tone25
Definition
palette.h:22
Palette::Tone50
@ Tone50
Definition
palette.h:26
Palette::Tone22
@ Tone22
Definition
palette.h:20
Palette::Tone17
@ Tone17
Definition
palette.h:18
Palette::Tone96
@ Tone96
Definition
palette.h:35
Palette::Tone6
@ Tone6
Definition
palette.h:14
Palette::Tone60
@ Tone60
Definition
palette.h:27
Palette::Tone70
@ Tone70
Definition
palette.h:28
Palette::Tone99
@ Tone99
Definition
palette.h:37
Palette::Tone87
@ Tone87
Definition
palette.h:30
Palette::Tone40
@ Tone40
Definition
palette.h:25
Palette::Tone95
@ Tone95
Definition
palette.h:34
Palette::Tone0
@ Tone0
Definition
palette.h:11
Palette::Tone10
@ Tone10
Definition
palette.h:15
Palette::Tone15
@ Tone15
Definition
palette.h:17
Palette::Tone20
@ Tone20
Definition
palette.h:19
Palette::Tone98
@ Tone98
Definition
palette.h:36
Generated by
1.9.8