Struct canadensis_data_types::reg::udral::physics::optics::high_color_0_1::HighColor
source · pub struct HighColor {
pub red: u8,
pub green: u8,
pub blue: u8,
}
Expand description
reg.udral.physics.optics.HighColor.0.1
Fixed size 2 bytes
Color in the standard 16-bit 5-6-5 RGB format (green is wider due to non-uniform color sensitivity of the human eye). https://en.wikipedia.org/wiki/High_color
For reasons of unification, a monochrome light can be modeled using the same type, where the brightness is defined as the mean of the color components normalized to one:
brightness = (red/MAX_RED + green/MAX_GREEN + blue/MAX_BLUE) / 3
Fields§
§red: u8
saturated uint5
Always aligned, size 5 bits
green: u8
saturated uint6
Not always aligned, size 6 bits
blue: u8
saturated uint5
Not always aligned, size 5 bits
Implementations§
Trait Implementations§
source§impl Deserialize for HighColor
impl Deserialize for HighColor
source§fn deserialize(cursor: &mut ReadCursor<'_>) -> Result<Self, DeserializeError>where
Self: Sized,
fn deserialize(cursor: &mut ReadCursor<'_>) -> Result<Self, DeserializeError>where Self: Sized,
Deserializes a value and returns it
source§fn deserialize_from_bytes(bytes: &[u8]) -> Result<Self, DeserializeError>where
Self: Sized,
fn deserialize_from_bytes(bytes: &[u8]) -> Result<Self, DeserializeError>where Self: Sized,
A convenience function that creates a cursor around the provided bytes and calls
deserialize
source§impl Serialize for HighColor
impl Serialize for HighColor
source§fn size_bits(&self) -> usize
fn size_bits(&self) -> usize
Returns the size of the encoded form of this value, in bits Read more
source§fn serialize(&self, cursor: &mut WriteCursor<'_>)
fn serialize(&self, cursor: &mut WriteCursor<'_>)
Serializes this value into a buffer Read more
source§fn serialize_to_bytes(&self, bytes: &mut [u8])
fn serialize_to_bytes(&self, bytes: &mut [u8])
A convenience function that creates a cursor around the provided bytes and calls
serialize
impl Message for HighColor
Auto Trait Implementations§
impl RefUnwindSafe for HighColor
impl Send for HighColor
impl Sync for HighColor
impl Unpin for HighColor
impl UnwindSafe for HighColor
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more