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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
#[derive(Clone)] #[derive(Copy)] #[derive(Debug)] pub struct Rgb { pub r: u8, pub g: u8, pub b: u8 } impl Rgb { pub const fn default() -> Self { Self::new(0, 0, 0) } pub const fn new(r: u8, g: u8, b: u8) -> Self { Self { r, g, b } } } impl Default for Rgb { fn default() -> Self { Rgb::new(0, 0, 0) } } pub const fn white() -> Rgb { Rgb::new(255, 255, 255) } pub const fn black() -> Rgb { Rgb::default() } pub const fn red() -> Rgb { Rgb::new(255, 0, 0) } pub const fn orange() -> Rgb { Rgb::new(255, 128, 0) } pub const fn yellow() -> Rgb { Rgb::new(255, 255, 0) } pub const fn yellow_green() -> Rgb { Rgb::new(128, 255, 0) } pub const fn green() -> Rgb { Rgb::new(0, 255, 0) } pub const fn green_cyan() -> Rgb { Rgb::new(0, 255, 128) } pub const fn cyan() -> Rgb { Rgb::new(0, 255, 255) } pub const fn cyan_blue() -> Rgb { Rgb::new(0, 128, 255) } pub const fn blue() -> Rgb { Rgb::new(0, 0, 255) } pub const fn blue_magenta() -> Rgb { Rgb::new(128, 0, 255) } pub const fn magenta() -> Rgb { Rgb::new(255, 0, 255) } pub const fn magenta_pink() -> Rgb { Rgb::new(255, 0, 128) }