pub struct ConversionProperties {
pub coefficients: Option<[f32; 9]>,
pub preoffsets: Option<[f32; 3]>,
pub postoffsets: Option<[f32; 3]>,
/* private fields */
}
Expand description
The properties required to apply color conversion to the display. The conversion is applied to each pixel of the display according to the formula:
[coefficients * (pixel + preoffsets) + postoffsets].
where pixel is a column vector consisting of the pixel’s 3 RGB components.
Fields§
§coefficients: Option<[f32; 9]>
The |coefficients| param represents a 3x3 matrix, where the values are given in row-major order:
| 0 1 2 | | 3 4 5 | | 6 7 8 |
preoffsets: Option<[f32; 3]>
Preoffsets and postoffsets represent a [3x1] vector each of RGB values.
postoffsets: Option<[f32; 3]>
Implementations§
Trait Implementations§
source§impl Clone for ConversionProperties
impl Clone for ConversionProperties
source§fn clone(&self) -> ConversionProperties
fn clone(&self) -> ConversionProperties
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for ConversionProperties
impl Debug for ConversionProperties
source§impl Decodable for ConversionProperties
impl Decodable for ConversionProperties
source§fn decode(&mut self, decoder: &mut Decoder<'_>, offset: usize) -> Result<()>
fn decode(&mut self, decoder: &mut Decoder<'_>, offset: usize) -> Result<()>
Decodes an object of this type from the decoder’s buffers into
self
.
Callers must ensure that offset
is a multiple of
Layout::inline_align
, and that decoder.buf
has room for reading
Layout::inline_size
bytes at offset
. Read moresource§impl Encodable for ConversionProperties
impl Encodable for ConversionProperties
source§fn encode(
&mut self,
encoder: &mut Encoder<'_, '_>,
offset: usize,
recursion_depth: usize
) -> Result<()>
fn encode( &mut self, encoder: &mut Encoder<'_, '_>, offset: usize, recursion_depth: usize ) -> Result<()>
Encode the object into the buffer. Any handles stored in the object are
swapped for
Handle::INVALID
. Callers must ensure that offset
is a
multiple of Layout::inline_align
, and that encoder.buf
has room for
writing Layout::inline_size
bytes at offset
. Read moresource§impl Layout for ConversionProperties
impl Layout for ConversionProperties
source§fn inline_align(_context: &Context) -> usize
fn inline_align(_context: &Context) -> usize
Returns the minimum required alignment of the inline portion of the
encoded object. It must be a (nonzero) power of two.
source§fn inline_size(_context: &Context) -> usize
fn inline_size(_context: &Context) -> usize
Returns the size of the inline portion of the encoded object, including
padding for the type’s alignment. Must be a multiple of
inline_align
.§fn supports_simple_copy() -> boolwhere
Self: Sized,
fn supports_simple_copy() -> boolwhere Self: Sized,
Returns true iff the type can be encoded or decoded via simple copy. Read more
source§impl PartialEq<ConversionProperties> for ConversionProperties
impl PartialEq<ConversionProperties> for ConversionProperties
source§fn eq(&self, other: &ConversionProperties) -> bool
fn eq(&self, other: &ConversionProperties) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.impl Persistable for ConversionProperties
impl StructuralPartialEq for ConversionProperties
impl TopLevel for ConversionProperties
Auto Trait Implementations§
impl RefUnwindSafe for ConversionProperties
impl Send for ConversionProperties
impl Sync for ConversionProperties
impl Unpin for ConversionProperties
impl UnwindSafe for ConversionProperties
Blanket Implementations§
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> LayoutObject for Twhere
T: Layout,
impl<T> LayoutObject for Twhere T: Layout,
§fn inline_align(&self, context: &Context) -> usize
fn inline_align(&self, context: &Context) -> usize
See
Layout::inline_align
.§fn inline_size(&self, context: &Context) -> usize
fn inline_size(&self, context: &Context) -> usize
See
Layout::inline_size
.