pub struct LightUtils;
impl LightUtils {
pub fn extract_sunlight(light: u32) -> u32 {
(light >> 12) & 0xF
}
pub fn insert_sunlight(light: u32, level: u32) -> u32 {
(light & 0xFFF) | (level << 12)
}
pub fn extract_red_light(light: u32) -> u32 {
(light >> 8) & 0xF
}
pub fn insert_red_light(light: u32, level: u32) -> u32 {
(light & 0xF0FF) | (level << 8)
}
pub fn extract_green_light(light: u32) -> u32 {
(light >> 4) & 0xF
}
pub fn insert_green_light(light: u32, level: u32) -> u32 {
(light & 0xFF0F) | (level << 4)
}
pub fn extract_blue_light(light: u32) -> u32 {
light & 0xF
}
pub fn insert_blue_light(light: u32, level: u32) -> u32 {
(light & 0xFFF0) | (level)
}
}