Struct WpImageDescriptionInfoV1
pub struct WpImageDescriptionInfoV1 { /* private fields */ }wayland and Linux only.Expand description
Colorimetric image description information
Sends all matching events describing an image description object exactly once and finally sends the ‘done’ event.
This means
- if the image description is parametric, it must send
- primaries
- named_primaries, if applicable
- at least one of tf_power and tf_named, as applicable
- luminances
- target_primaries
- target_luminance
- if the image description is parametric, it may send, if applicable,
- target_max_cll
- target_max_fall
- if the image description contains an ICC profile, it must send the icc_file event
Once a wp_image_description_info_v1 object has delivered a ‘done’ event it is automatically destroyed.
Every wp_image_description_info_v1 created from the same wp_image_description_v1 shall always return the exact same data.
This interface has no requests.
Implementations§
§impl WpImageDescriptionInfoV1
impl WpImageDescriptionInfoV1
pub fn done(&self)
pub fn done(&self)
end of information
Signals the end of information events and destroys the object.
pub fn icc_file(&self, icc: BorrowedFd<'_>, icc_size: u32)
pub fn icc_file(&self, icc: BorrowedFd<'_>, icc_size: u32)
ICC profile matching the image description
The icc argument provides a file descriptor to the client which may be memory-mapped to provide the ICC profile matching the image description. The fd is read-only, and if mapped then it must be mapped with MAP_PRIVATE by the client.
The ICC profile version and other details are determined by the compositor. There is no provision for a client to ask for a specific kind of a profile.
pub fn primaries(
&self,
r_x: i32,
r_y: i32,
g_x: i32,
g_y: i32,
b_x: i32,
b_y: i32,
w_x: i32,
w_y: i32,
)
pub fn primaries( &self, r_x: i32, r_y: i32, g_x: i32, g_y: i32, b_x: i32, b_y: i32, w_x: i32, w_y: i32, )
primaries as chromaticity coordinates
Delivers the primary color volume primaries and white point using CIE 1931 xy chromaticity coordinates.
Each coordinate value is multiplied by 1 million to get the argument value to carry precision of 6 decimals.
pub fn primaries_named(&self, primaries: Primaries)
pub fn primaries_named(&self, primaries: Primaries)
named primaries
Delivers the primary color volume primaries and white point using an explicitly enumerated named set.
pub fn tf_power(&self, eexp: u32)
pub fn tf_power(&self, eexp: u32)
transfer characteristic as a power curve
The color component transfer characteristic of this image description is a pure power curve. This event provides the exponent of the power function. This curve represents the conversion from electrical to optical pixel or color values.
The curve exponent has been multiplied by 10000 to get the argument eexp value to carry the precision of 4 decimals.
pub fn tf_named(&self, tf: TransferFunction)
pub fn tf_named(&self, tf: TransferFunction)
named transfer characteristic
Delivers the transfer characteristic using an explicitly enumerated named function.
pub fn luminances(&self, min_lum: u32, max_lum: u32, reference_lum: u32)
pub fn luminances(&self, min_lum: u32, max_lum: u32, reference_lum: u32)
primary color volume luminance range and reference white
Delivers the primary color volume luminance range and the reference white luminance level. These values include the minimum display emission and ambient flare luminances, assumed to be optically additive and have the chromaticity of the primary color volume white point.
The minimum luminance is multiplied by 10000 to get the argument ‘min_lum’ value and carries precision of 4 decimals. The maximum luminance and reference white luminance values are unscaled.
pub fn target_primaries(
&self,
r_x: i32,
r_y: i32,
g_x: i32,
g_y: i32,
b_x: i32,
b_y: i32,
w_x: i32,
w_y: i32,
)
pub fn target_primaries( &self, r_x: i32, r_y: i32, g_x: i32, g_y: i32, b_x: i32, b_y: i32, w_x: i32, w_y: i32, )
target primaries as chromaticity coordinates
Provides the color primaries and white point of the target color volume using CIE 1931 xy chromaticity coordinates. This is compatible with the SMPTE ST 2086 definition of HDR static metadata for mastering displays.
While primary color volume is about how color is encoded, the target color volume is the actually displayable color volume. If target color volume is equal to the primary color volume, then this event is not sent.
Each coordinate value is multiplied by 1 million to get the argument value to carry precision of 6 decimals.
pub fn target_luminance(&self, min_lum: u32, max_lum: u32)
pub fn target_luminance(&self, min_lum: u32, max_lum: u32)
target luminance range
Provides the luminance range that the image description is targeting as the minimum and maximum absolute luminance L. These values include the minimum display emission and ambient flare luminances, assumed to be optically additive and have the chromaticity of the primary color volume white point. This should be compatible with the SMPTE ST 2086 definition of HDR static metadata.
This luminance range is only theoretical and may not correspond to the luminance of light emitted on an actual display.
Min L value is multiplied by 10000 to get the argument min_lum value and carry precision of 4 decimals. Max L value is unscaled for max_lum.
pub fn target_max_cll(&self, max_cll: u32)
pub fn target_max_cll(&self, max_cll: u32)
target maximum content light level
Provides the targeted max_cll of the image description. max_cll is defined by CTA-861-H.
This luminance is only theoretical and may not correspond to the luminance of light emitted on an actual display.
pub fn target_max_fall(&self, max_fall: u32)
pub fn target_max_fall(&self, max_fall: u32)
target maximum frame-average light level
Provides the targeted max_fall of the image description. max_fall is defined by CTA-861-H.
This luminance is only theoretical and may not correspond to the luminance of light emitted on an actual display.
Trait Implementations§
§impl Borrow<ObjectId> for WpImageDescriptionInfoV1
impl Borrow<ObjectId> for WpImageDescriptionInfoV1
§impl Clone for WpImageDescriptionInfoV1
impl Clone for WpImageDescriptionInfoV1
§fn clone(&self) -> WpImageDescriptionInfoV1
fn clone(&self) -> WpImageDescriptionInfoV1
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for WpImageDescriptionInfoV1
impl Debug for WpImageDescriptionInfoV1
§impl Hash for WpImageDescriptionInfoV1
impl Hash for WpImageDescriptionInfoV1
§impl PartialEq<Weak<WpImageDescriptionInfoV1>> for WpImageDescriptionInfoV1
impl PartialEq<Weak<WpImageDescriptionInfoV1>> for WpImageDescriptionInfoV1
§impl PartialEq for WpImageDescriptionInfoV1
impl PartialEq for WpImageDescriptionInfoV1
§impl Resource for WpImageDescriptionInfoV1
impl Resource for WpImageDescriptionInfoV1
§fn object_data(&self) -> Option<&Arc<dyn Any + Sync + Send>>
fn object_data(&self) -> Option<&Arc<dyn Any + Sync + Send>>
§fn from_id(
conn: &DisplayHandle,
id: ObjectId,
) -> Result<WpImageDescriptionInfoV1, InvalidId>
fn from_id( conn: &DisplayHandle, id: ObjectId, ) -> Result<WpImageDescriptionInfoV1, InvalidId>
§fn send_event(
&self,
evt: <WpImageDescriptionInfoV1 as Resource>::Event<'_>,
) -> Result<(), InvalidId>
fn send_event( &self, evt: <WpImageDescriptionInfoV1 as Resource>::Event<'_>, ) -> Result<(), InvalidId>
§fn parse_request(
conn: &DisplayHandle,
msg: Message<ObjectId, OwnedFd>,
) -> Result<(WpImageDescriptionInfoV1, <WpImageDescriptionInfoV1 as Resource>::Request), DispatchError>
fn parse_request( conn: &DisplayHandle, msg: Message<ObjectId, OwnedFd>, ) -> Result<(WpImageDescriptionInfoV1, <WpImageDescriptionInfoV1 as Resource>::Request), DispatchError>
§fn write_event<'a>(
&self,
conn: &DisplayHandle,
msg: <WpImageDescriptionInfoV1 as Resource>::Event<'a>,
) -> Result<Message<ObjectId, BorrowedFd<'a>>, InvalidId>
fn write_event<'a>( &self, conn: &DisplayHandle, msg: <WpImageDescriptionInfoV1 as Resource>::Event<'a>, ) -> Result<Message<ObjectId, BorrowedFd<'a>>, InvalidId>
impl Eq for WpImageDescriptionInfoV1
Auto Trait Implementations§
impl Freeze for WpImageDescriptionInfoV1
impl !RefUnwindSafe for WpImageDescriptionInfoV1
impl Send for WpImageDescriptionInfoV1
impl Sync for WpImageDescriptionInfoV1
impl Unpin for WpImageDescriptionInfoV1
impl !UnwindSafe for WpImageDescriptionInfoV1
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
§impl<T> AnyEq for T
impl<T> AnyEq for T
§impl<T, Res> Apply<Res> for Twhere
T: ?Sized,
impl<T, Res> Apply<Res> for Twhere
T: ?Sized,
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
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
Source§impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.§impl<State, Message> IntoBoot<State, Message> for State
impl<State, Message> IntoBoot<State, Message> for State
§fn into_boot(self) -> (State, Task<Message>)
fn into_boot(self) -> (State, Task<Message>)
Application.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more