about summary refs log tree commit diff
path: root/src/color.rs
blob: e18ce58bd005124cd79bd48a39db57e0818969aa (plain)
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
#[derive(Copy, Clone, Debug, PartialEq)]
pub struct Color {
	pub r: u8,
	pub g: u8,
	pub b: u8,
}

impl Color {
	pub fn new(r: u8, g: u8, b: u8) -> Self {
		Self { r, g, b }
	}
}

impl From<[u8; 3]> for Color {
	fn from(arr: [u8; 3]) -> Self {
		Self {
			r: arr[0],
			g: arr[1],
			b: arr[2],
		}
	}
}

impl From<(u8, u8, u8)> for Color {
	fn from(t: (u8, u8, u8)) -> Self {
		Self {
			r: t.0,
			g: t.1,
			b: t.2,
		}
	}
}

impl Into<[u8; 3]> for Color {
	fn into(self) -> [u8; 3] {
		[self.r, self.g, self.b]
	}
}