Fluid
Loading...
Searching...
No Matches
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
8namespace Palette {
9
40
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
61static 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
Definition palette.h:8
static const QRgb refPalette[6][28]
Definition palette.h:61
PaletteType
Definition palette.h:41
@ Secondary
Definition palette.h:43
@ Error
Definition palette.h:45
@ Neutral
Definition palette.h:46
@ Tertiary
Definition palette.h:44
@ NeutralVariant
Definition palette.h:47
@ Primary
Definition palette.h:42
ToneIndex
Definition palette.h:10
@ Tone35
Definition palette.h:24
@ Tone24
Definition palette.h:21
@ Tone94
Definition palette.h:33
@ Tone80
Definition palette.h:29
@ Tone5
Definition palette.h:13
@ Tone12
Definition palette.h:16
@ Tone100
Definition palette.h:38
@ Tone90
Definition palette.h:31
@ Tone4
Definition palette.h:12
@ Tone30
Definition palette.h:23
@ Tone92
Definition palette.h:32
@ Tone25
Definition palette.h:22
@ Tone50
Definition palette.h:26
@ Tone22
Definition palette.h:20
@ Tone17
Definition palette.h:18
@ Tone96
Definition palette.h:35
@ Tone6
Definition palette.h:14
@ Tone60
Definition palette.h:27
@ Tone70
Definition palette.h:28
@ Tone99
Definition palette.h:37
@ Tone87
Definition palette.h:30
@ Tone40
Definition palette.h:25
@ Tone95
Definition palette.h:34
@ Tone0
Definition palette.h:11
@ Tone10
Definition palette.h:15
@ Tone15
Definition palette.h:17
@ Tone20
Definition palette.h:19
@ Tone98
Definition palette.h:36