Macro retro_pixel::rgba32 [−][src]
macro_rules! rgba32 { ($r:expr, $g:expr, $b:expr, $a:expr) => { ... }; }
Builds a u32
value from the given RGBA values.
Each channel is cast into u32
, and then they're combined into a single
u32
value. If inputs aren't within the range 0..=255
you'll get some
unintentional output.
#[macro_use] extern crate retro_pixel; fn main() { const TRANSPARENT_BLACK: u32 = rgba32!(0, 0, 0, 0); const SOLID_WHITE: u32 = rgba32!(255u8, 255u16, 255u32, 255.0); assert_eq!(TRANSPARENT_BLACK, 0); assert_eq!(SOLID_WHITE, ::std::u32::MAX); // all other outputs depend on what endian the machine is, // currently only little endian is supported. assert_eq!(rgba32!(255, 0, 0, 0), 0x000000FF); assert_eq!(rgba32!(0, 255, 0, 0), 0x0000FF00); assert_eq!(rgba32!(0, 0, 255, 0), 0x00FF0000); assert_eq!(rgba32!(0, 0, 0, 255), 0xFF000000); }