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}