//! various predefined color constants and helper functions use glam::{vec4, Vec4}; /// Create a color from red, green, blue components pub fn rgb(r: u8, g: u8, b: u8) -> Vec4 { vec4(r as f32 / 255.0, g as f32 / 255.0, b as f32 / 255.0, 1.0) } /// Create a color from red, green, blue, alpha components pub fn rgba(r: u8, g: u8, b: u8, a: u8) -> Vec4 { vec4(r as f32 / 255.0, g as f32 / 255.0, b as f32 / 255.0, a as f32 / 255.0) } /// Create an RGB color from a u32 (/hex) value pub fn rgb_hex(value: u32) -> Vec4 { let r = (value >> 16) & 0xff; let g = (value >> 8) & 0xff; let b = value & 0xff; vec4(r as f32 / 255.0, g as f32 / 255.0, b as f32 / 255.0, 1.0) } /// Create an RGBA color from a u32 (/hex) value pub fn rgba_hex(value: u32) -> Vec4 { let r = (value >> 16) & 0xff; let g = (value >> 8) & 0xff; let b = value & 0xff; let a = (value >> 24) & 0xff; vec4(r as f32 / 255.0, g as f32 / 255.0, b as f32 / 255.0, a as f32 / 255.0) } #[cfg_attr(doc, doc="")] /// `#00000000` Transparent pub const TRANSPARENT: Vec4 = vec4(0.0, 0.0, 0.0, 0.0); #[cfg_attr(doc, doc="")] /// `#000000` Black pub const BLACK: Vec4 = vec4(0.0, 0.0, 0.0, 1.0); #[cfg_attr(doc, doc="")] /// `#ffffff` White pub const WHITE: Vec4 = vec4(1.0, 1.0, 1.0, 1.0); #[cfg_attr(doc, doc="")] /// `#ff0000` Red pub const RED: Vec4 = vec4(1.0, 0.0, 0.0, 1.0); #[cfg_attr(doc, doc="")] /// `#800000` Dark red pub const DARK_RED: Vec4 = vec4(0.5, 0.0, 0.0, 1.0); #[cfg_attr(doc, doc="")] /// `#00ff00` Green pub const GREEN: Vec4 = vec4(0.0, 1.0, 0.0, 1.0); #[cfg_attr(doc, doc="")] /// `#008000` Dark green pub const DARK_GREEN: Vec4 = vec4(0.0, 0.5, 0.0, 1.0); #[cfg_attr(doc, doc="")] /// `#0000ff` Blue pub const BLUE: Vec4 = vec4(0.0, 0.0, 1.0, 1.0); #[cfg_attr(doc, doc="")] /// `#000080` Dark blue pub const DARK_BLUE: Vec4 = vec4(0.0, 0.0, 0.5, 1.0); #[cfg_attr(doc, doc="")] /// `#ffff00` Yellow pub const YELLOW: Vec4 = vec4(1.0, 1.0, 0.0, 1.0); #[cfg_attr(doc, doc="")] /// `#00ffff` Cyan pub const CYAN: Vec4 = vec4(0.0, 1.0, 1.0, 1.0); #[cfg_attr(doc, doc="")] /// `#ff00ff` Magenta pub const MAGENTA: Vec4 = vec4(1.0, 0.0, 1.0, 1.0); #[cfg_attr(doc, doc="")] /// `#808080` Gray pub const GRAY: Vec4 = vec4(0.5, 0.5, 0.5, 1.0); #[cfg_attr(doc, doc="")] /// `#c0c0c0` Light gray pub const LIGHT_GRAY: Vec4 = vec4(0.75, 0.75, 0.75, 1.0); #[cfg_attr(doc, doc="")] /// `#404040` Dark gray pub const DARK_GRAY: Vec4 = vec4(0.25, 0.25, 0.25, 1.0); #[cfg_attr(doc, doc="")] /// `#ff8000` Orange pub const ORANGE: Vec4 = vec4(1.0, 0.5, 0.0, 1.0); #[cfg_attr(doc, doc="")] /// `#804000` Brown pub const BROWN: Vec4 = vec4(0.5, 0.25, 0.0, 1.0); #[cfg_attr(doc, doc="")] /// `#ff80ff` Pink pub const PINK: Vec4 = vec4(1.0, 0.5, 1.0, 1.0); #[cfg_attr(doc, doc="")] /// `#800080` Purple pub const PURPLE: Vec4 = vec4(0.5, 0.0, 0.5, 1.0); #[cfg_attr(doc, doc="")] /// `#80ff00` Lime pub const LIME: Vec4 = vec4(0.5, 1.0, 0.0, 1.0); #[cfg_attr(doc, doc="")] /// `#008080` Teal pub const TEAL: Vec4 = vec4(0.0, 0.5, 0.5, 1.0); #[cfg_attr(doc, doc="")] /// `#004080` Indigo pub const INDIGO: Vec4 = vec4(0.0, 0.25, 0.5, 1.0); #[cfg_attr(doc, doc="")] /// `#808000` Olive pub const OLIVE: Vec4 = vec4(0.5, 0.5, 0.0, 1.0); #[cfg_attr(doc, doc="")] /// `#87ceeb` Sky blue pub const SKY_BLUE: Vec4 = vec4(0.53, 0.81, 0.92, 1.0); //TODO color macro