1#[derive(Clone, Copy)]
2pub struct Theme {
3 pub background: [f32; 3],
4 pub panel: [f32; 3],
5 pub button: [f32; 3],
6 pub button_hover: [f32; 3],
7 pub button_active: [f32; 3],
8 pub button_focus: [f32; 3],
9 pub text_primary: [u8; 3],
10 pub text_secondary: [u8; 3],
11 pub checkbox_bg: [f32; 4],
13 pub checkbox_checked_bg: [f32; 4],
14 pub checkbox_border: [f32; 4],
15 pub checkbox_check: [u8; 3],
16 pub radio_bg: [f32; 4],
18 pub radio_border: [f32; 4],
19 pub radio_dot: [f32; 4],
20}
21
22impl Theme {
23 pub fn ocean() -> Self {
24 Self {
25 background: [0.12, 0.20, 0.30],
26 panel: [0.16, 0.28, 0.38],
27 button: [0.20, 0.65, 0.85],
28 button_hover: [0.35, 0.75, 0.92],
29 button_active: [0.15, 0.55, 0.75],
30 button_focus: [0.18, 0.60, 0.82],
31 text_primary: [230, 230, 230],
32 text_secondary: [200, 200, 200],
33 checkbox_bg: [0.16, 0.28, 0.38, 1.0],
34 checkbox_checked_bg: [0.20, 0.65, 0.85, 1.0],
35 checkbox_border: [0.4, 0.55, 0.7, 1.0],
36 checkbox_check: [255, 255, 255],
37 radio_bg: [0.16, 0.28, 0.38, 1.0],
38 radio_border: [0.4, 0.55, 0.7, 1.0],
39 radio_dot: [0.20, 0.65, 0.85, 1.0],
40 }
41 }
42}