polyhorn_android_sys/color.rs
1pub enum Color {
2 Unmanaged(i32),
3 Managed(i64),
4}
5
6impl Color {
7 /// Returns an unmanaged RGB color.
8 pub fn device_rgb(red: f32, green: f32, blue: f32, alpha: f32) -> Color {
9 let (red, green, blue, alpha) = (
10 (red * 255.0) as u64,
11 (green * 255.0) as u64,
12 (blue * 255.0) as u64,
13 (alpha * 255.0) as u64,
14 );
15
16 Color::Unmanaged((0u64 | (alpha << 24) | (red << 16) | (green << 8) | (blue << 0)) as i32)
17 }
18}