1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
use crate::cube::Face;
use sdl2::pixels::Color;
pub struct ColorScheme([Color; 7]);
pub const COLOR_SCHEME_STANDARD: ColorScheme = ColorScheme([
Color::RGB(255, 255, 255),
Color::RGB(255, 231, 51),
Color::RGB(1, 166, 92),
Color::RGB(25, 59, 255),
Color::RGB(184, 0, 0),
Color::RGB(253, 106, 0),
Color::RGB(20, 20, 20),
]);
pub const COLOR_SCHEME_VI: ColorScheme = ColorScheme([
Color::RGB(20, 20, 20),
Color::RGB(255, 231, 51),
Color::RGB(1, 166, 92),
Color::RGB(180, 9, 203),
Color::RGB(184, 0, 0),
Color::RGB(253, 106, 0),
Color::RGB(230, 230, 230),
]);
impl ColorScheme {
pub fn color(&self, face: Face) -> Color {
self.0[match face {
Face::U => 0,
Face::D => 1,
Face::F => 2,
Face::B => 3,
Face::R => 4,
Face::L => 5,
}]
}
pub fn background(&self) -> Color {
self.0[6]
}
}