Struct WpColorManagerV1
pub struct WpColorManagerV1 { /* private fields */ }wayland and Linux only.Expand description
color manager singleton
A singleton global interface used for getting color management extensions for wl_surface and wl_output objects, and for creating client defined image description objects. The extension interfaces allow getting the image description of outputs and setting the image description of surfaces.
Compositors should never remove this global.
See also the Event enum for this interface.
Implementations§
§impl WpColorManagerV1
impl WpColorManagerV1
pub fn destroy(&self)
pub fn destroy(&self)
destroy the color manager
Destroy the wp_color_manager_v1 object. This does not affect any other objects in any way.
pub fn get_output<U, D>(
&self,
output: &WlOutput,
qh: &QueueHandle<D>,
udata: U,
) -> WpColorManagementOutputV1
pub fn get_output<U, D>( &self, output: &WlOutput, qh: &QueueHandle<D>, udata: U, ) -> WpColorManagementOutputV1
create a color management interface for a wl_output
This creates a new wp_color_management_output_v1 object for the given wl_output.
See the wp_color_management_output_v1 interface for more details.
pub fn get_surface<U, D>(
&self,
surface: &WlSurface,
qh: &QueueHandle<D>,
udata: U,
) -> WpColorManagementSurfaceV1
pub fn get_surface<U, D>( &self, surface: &WlSurface, qh: &QueueHandle<D>, udata: U, ) -> WpColorManagementSurfaceV1
create a color management interface for a wl_surface
If a wp_color_management_surface_v1 object already exists for the given wl_surface, the protocol error surface_exists is raised.
This creates a new color wp_color_management_surface_v1 object for the given wl_surface.
See the wp_color_management_surface_v1 interface for more details.
pub fn get_surface_feedback<U, D>(
&self,
surface: &WlSurface,
qh: &QueueHandle<D>,
udata: U,
) -> WpColorManagementSurfaceFeedbackV1
pub fn get_surface_feedback<U, D>( &self, surface: &WlSurface, qh: &QueueHandle<D>, udata: U, ) -> WpColorManagementSurfaceFeedbackV1
create a color management feedback interface
This creates a new color wp_color_management_surface_feedback_v1 object for the given wl_surface.
See the wp_color_management_surface_feedback_v1 interface for more details.
pub fn create_icc_creator<U, D>(
&self,
qh: &QueueHandle<D>,
udata: U,
) -> WpImageDescriptionCreatorIccV1
pub fn create_icc_creator<U, D>( &self, qh: &QueueHandle<D>, udata: U, ) -> WpImageDescriptionCreatorIccV1
make a new ICC-based image description creator object
Makes a new ICC-based image description creator object with all properties initially unset. The client can then use the object’s interface to define all the required properties for an image description and finally create a wp_image_description_v1 object.
This request can be used when the compositor advertises wp_color_manager_v1.feature.icc_v2_v4. Otherwise this request raises the protocol error unsupported_feature.
pub fn create_parametric_creator<U, D>(
&self,
qh: &QueueHandle<D>,
udata: U,
) -> WpImageDescriptionCreatorParamsV1
pub fn create_parametric_creator<U, D>( &self, qh: &QueueHandle<D>, udata: U, ) -> WpImageDescriptionCreatorParamsV1
make a new parametric image description creator object
Makes a new parametric image description creator object with all properties initially unset. The client can then use the object’s interface to define all the required properties for an image description and finally create a wp_image_description_v1 object.
This request can be used when the compositor advertises wp_color_manager_v1.feature.parametric. Otherwise this request raises the protocol error unsupported_feature.
pub fn create_windows_scrgb<U, D>(
&self,
qh: &QueueHandle<D>,
udata: U,
) -> WpImageDescriptionV1
pub fn create_windows_scrgb<U, D>( &self, qh: &QueueHandle<D>, udata: U, ) -> WpImageDescriptionV1
create Windows-scRGB image description object
This creates a pre-defined image description for the so-called Windows-scRGB stimulus encoding. This comes from the Windows 10 handling of its own definition of an scRGB color space for an HDR screen driven in BT.2100/PQ signalling mode.
Windows-scRGB uses sRGB (BT.709) color primaries and white point. The transfer characteristic is extended linear.
The nominal color channel value range is extended, meaning it includes negative and greater than 1.0 values. Negative values are used to escape the sRGB color gamut boundaries. To make use of the extended range, the client needs to use a pixel format that can represent those values, e.g. floating-point 16 bits per channel.
Nominal color value R=G=B=0.0 corresponds to BT.2100/PQ system 0 cd/m², and R=G=B=1.0 corresponds to BT.2100/PQ system 80 cd/m². The maximum is R=G=B=125.0 corresponding to 10k cd/m².
Windows-scRGB is displayed by Windows 10 by converting it to BT.2100/PQ, maintaining the CIE 1931 chromaticity and mapping the luminance as above. No adjustment is made to the signal to account for the viewing conditions.
The reference white level of Windows-scRGB is unknown. If a reference white level must be assumed for compositor processing, it should be R=G=B=2.5375 corresponding to 203 cd/m² of Report ITU-R BT.2408-7.
The target color volume of Windows-scRGB is unknown. The color gamut may be anything between sRGB and BT.2100.
Note: EGL_EXT_gl_colorspace_scrgb_linear definition differs from Windows-scRGB by using R=G=B=1.0 as the reference white level, while Windows-scRGB reference white level is unknown or varies. However, it seems probable that Windows implements both EGL_EXT_gl_colorspace_scrgb_linear and Vulkan VK_COLOR_SPACE_EXTENDED_SRGB_LINEAR_EXT as Windows-scRGB.
This request can be used when the compositor advertises wp_color_manager_v1.feature.windows_scrgb. Otherwise this request raises the protocol error unsupported_feature.
The resulting image description object does not allow get_information request. The wp_image_description_v1.ready event shall be sent.
pub fn get_image_description<U, D>(
&self,
reference: &WpImageDescriptionReferenceV1,
qh: &QueueHandle<D>,
udata: U,
) -> WpImageDescriptionV1
pub fn get_image_description<U, D>( &self, reference: &WpImageDescriptionReferenceV1, qh: &QueueHandle<D>, udata: U, ) -> WpImageDescriptionV1
create an image description from a reference
This request retrieves the image description backing a reference.
The get_information request can be used if and only if the request that creates the reference allows it.
Trait Implementations§
§impl Borrow<ObjectId> for WpColorManagerV1
impl Borrow<ObjectId> for WpColorManagerV1
§impl Clone for WpColorManagerV1
impl Clone for WpColorManagerV1
§fn clone(&self) -> WpColorManagerV1
fn clone(&self) -> WpColorManagerV1
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for WpColorManagerV1
impl Debug for WpColorManagerV1
§impl Hash for WpColorManagerV1
impl Hash for WpColorManagerV1
§impl PartialEq<Weak<WpColorManagerV1>> for WpColorManagerV1
impl PartialEq<Weak<WpColorManagerV1>> for WpColorManagerV1
§impl PartialEq for WpColorManagerV1
impl PartialEq for WpColorManagerV1
§impl Proxy for WpColorManagerV1
impl Proxy for WpColorManagerV1
§fn object_data(&self) -> Option<&Arc<dyn ObjectData>>
fn object_data(&self) -> Option<&Arc<dyn ObjectData>>
§fn backend(&self) -> &WeakBackend
fn backend(&self) -> &WeakBackend
§fn send_request(
&self,
req: <WpColorManagerV1 as Proxy>::Request<'_>,
) -> Result<(), InvalidId>
fn send_request( &self, req: <WpColorManagerV1 as Proxy>::Request<'_>, ) -> Result<(), InvalidId>
§fn send_constructor<I>(
&self,
req: <WpColorManagerV1 as Proxy>::Request<'_>,
data: Arc<dyn ObjectData>,
) -> Result<I, InvalidId>where
I: Proxy,
fn send_constructor<I>(
&self,
req: <WpColorManagerV1 as Proxy>::Request<'_>,
data: Arc<dyn ObjectData>,
) -> Result<I, InvalidId>where
I: Proxy,
§fn from_id(
conn: &Connection,
id: ObjectId,
) -> Result<WpColorManagerV1, InvalidId>
fn from_id( conn: &Connection, id: ObjectId, ) -> Result<WpColorManagerV1, InvalidId>
§fn inert(backend: WeakBackend) -> WpColorManagerV1
fn inert(backend: WeakBackend) -> WpColorManagerV1
§fn parse_event(
conn: &Connection,
msg: Message<ObjectId, OwnedFd>,
) -> Result<(WpColorManagerV1, <WpColorManagerV1 as Proxy>::Event), DispatchError>
fn parse_event( conn: &Connection, msg: Message<ObjectId, OwnedFd>, ) -> Result<(WpColorManagerV1, <WpColorManagerV1 as Proxy>::Event), DispatchError>
§fn write_request<'a>(
&self,
conn: &Connection,
msg: <WpColorManagerV1 as Proxy>::Request<'a>,
) -> Result<(Message<ObjectId, BorrowedFd<'a>>, Option<(&'static Interface, u32)>), InvalidId>
fn write_request<'a>( &self, conn: &Connection, msg: <WpColorManagerV1 as Proxy>::Request<'a>, ) -> Result<(Message<ObjectId, BorrowedFd<'a>>, Option<(&'static Interface, u32)>), InvalidId>
impl Eq for WpColorManagerV1
Auto Trait Implementations§
impl Freeze for WpColorManagerV1
impl !RefUnwindSafe for WpColorManagerV1
impl Send for WpColorManagerV1
impl Sync for WpColorManagerV1
impl Unpin for WpColorManagerV1
impl !UnwindSafe for WpColorManagerV1
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