Skip to content

std.color

32-bit rgba color

pub Color :: struct {
r: u8,
g: u8,
b: u8,
a: u8,
}
pub rgb :: fn(r: u8, g: u8, b: u8) -> Color
pub rgba :: fn(r: u8, g: u8, b: u8, a: u8) -> Color
pub with_alpha :: fn(c: Color, a: u8) -> Color

same color, new alpha

pub gray :: fn(v: u8) -> Color

opaque gray

pub white :: fn() -> Color
pub black :: fn() -> Color
pub red :: fn() -> Color
pub green :: fn() -> Color
pub blue :: fn() -> Color
pub yellow :: fn() -> Color
pub orange :: fn() -> Color
pub purple :: fn() -> Color
pub clear :: fn() -> Color
pub lerp :: fn(a: Color, b: Color, t: f32) -> Color

per-channel lerp; a at t=0, b at t=1

pub to_u32 :: fn(c: Color) -> u32

pack to 0xRRGGBBAA

pub from_u32 :: fn(v: u32) -> Color

unpack from 0xRRGGBBAA