Files
pixelpwnr/src/color.rs
2017-12-31 20:25:31 +01:00

30 lines
596 B
Rust

/// Color struct.
///
/// Represents a color with RGB values from 0 to 255.
#[derive(Copy, Clone)]
pub struct Color {
r: u8,
g: u8,
b: u8,
}
impl Color {
/// Constructor.
///
/// The color channels must be between 0 and 255.
pub fn from(r: u8, g: u8, b: u8) -> Color {
Color {
r,
g,
b,
}
}
/// Get a hexadecimal representation of the color,
/// such as `FFFFFF` for white and `FF0000` for red.
pub fn as_hex(&self) -> String {
format!("{:02X}{:02X}{:02X}", self.r, self.g, self.b)
}
}