pub struct DisplayHandle<'a> { /* private fields */ }
Expand description
The handle to the display controller of the windowing system.
This is the primary return type of the HasDisplayHandle
trait. It is guaranteed to contain
a valid platform-specific display handle for its lifetime.
Implementations§
source§impl DisplayHandle<'static>
impl DisplayHandle<'static>
sourcepub fn android() -> DisplayHandle<'static>
pub fn android() -> DisplayHandle<'static>
Create an Android-based display handle.
As no data is borrowed by this handle, it is completely safe to create. This function may be useful to windowing framework implementations that want to avoid unsafe code.
§Example
let handle = DisplayHandle::android();
do_something(handle);
source§impl DisplayHandle<'static>
impl DisplayHandle<'static>
sourcepub fn appkit() -> DisplayHandle<'static>
pub fn appkit() -> DisplayHandle<'static>
Create an AppKit-based display handle.
As no data is borrowed by this handle, it is completely safe to create. This function may be useful to windowing framework implementations that want to avoid unsafe code.
§Example
let handle = DisplayHandle::appkit();
do_something(handle);
source§impl<'a> DisplayHandle<'a>
impl<'a> DisplayHandle<'a>
sourcepub unsafe fn borrow_raw(raw: RawDisplayHandle) -> DisplayHandle<'a>
pub unsafe fn borrow_raw(raw: RawDisplayHandle) -> DisplayHandle<'a>
Create a DisplayHandle
from a RawDisplayHandle
.
§Safety
Users can safely assume that non-null
/0
fields are valid handles, and it is up to the
implementer of this trait to ensure that condition is upheld.
Despite that qualification, implementors should still make a best-effort attempt to fill in all available fields. If an implementation doesn’t, and a downstream user needs the field, it should try to derive the field from other fields the implementer does provide via whatever methods the platform provides.
It is not possible to invalidate a DisplayHandle
on any platform without additional unsafe code.
sourcepub fn as_raw(&self) -> RawDisplayHandle
pub fn as_raw(&self) -> RawDisplayHandle
Get the underlying raw display handle.
source§impl DisplayHandle<'static>
impl DisplayHandle<'static>
sourcepub fn haiku() -> DisplayHandle<'static>
pub fn haiku() -> DisplayHandle<'static>
Create an Haiku-based display handle.
As no data is borrowed by this handle, it is completely safe to create. This function may be useful to windowing framework implementations that want to avoid unsafe code.
§Example
let handle = DisplayHandle::haiku();
do_something(handle);
source§impl DisplayHandle<'static>
impl DisplayHandle<'static>
sourcepub fn ohos() -> DisplayHandle<'static>
pub fn ohos() -> DisplayHandle<'static>
Create an OpenHarmony-based display handle.
As no data is borrowed by this handle, it is completely safe to create. This function may be useful to windowing framework implementations that want to avoid unsafe code.
§Example
let handle = DisplayHandle::ohos();
do_something(handle);
source§impl DisplayHandle<'static>
impl DisplayHandle<'static>
sourcepub fn orbital() -> DisplayHandle<'static>
pub fn orbital() -> DisplayHandle<'static>
Create an Orbital-based display handle.
As no data is borrowed by this handle, it is completely safe to create. This function may be useful to windowing framework implementations that want to avoid unsafe code.
§Example
let handle = DisplayHandle::orbital();
do_something(handle);
source§impl DisplayHandle<'static>
impl DisplayHandle<'static>
sourcepub fn uikit() -> DisplayHandle<'static>
pub fn uikit() -> DisplayHandle<'static>
Create a UiKit-based display handle.
As no data is borrowed by this handle, it is completely safe to create. This function may be useful to windowing framework implementations that want to avoid unsafe code.
§Example
let handle = DisplayHandle::uikit();
do_something(handle);
source§impl DisplayHandle<'static>
impl DisplayHandle<'static>
sourcepub fn web() -> DisplayHandle<'static>
pub fn web() -> DisplayHandle<'static>
Create a Web-based display handle.
As no data is borrowed by this handle, it is completely safe to create. This function may be useful to windowing framework implementations that want to avoid unsafe code.
§Example
let handle = DisplayHandle::web();
do_something(handle);
source§impl DisplayHandle<'static>
impl DisplayHandle<'static>
sourcepub fn windows() -> DisplayHandle<'static>
pub fn windows() -> DisplayHandle<'static>
Create a Windows-based display handle.
As no data is borrowed by this handle, it is completely safe to create. This function may be useful to windowing framework implementations that want to avoid unsafe code.
§Example
let handle = DisplayHandle::windows();
do_something(handle);
Trait Implementations§
source§impl AsRef<RawDisplayHandle> for DisplayHandle<'_>
impl AsRef<RawDisplayHandle> for DisplayHandle<'_>
source§fn as_ref(&self) -> &RawDisplayHandle
fn as_ref(&self) -> &RawDisplayHandle
source§impl Borrow<RawDisplayHandle> for DisplayHandle<'_>
impl Borrow<RawDisplayHandle> for DisplayHandle<'_>
source§fn borrow(&self) -> &RawDisplayHandle
fn borrow(&self) -> &RawDisplayHandle
source§impl<'a> Clone for DisplayHandle<'a>
impl<'a> Clone for DisplayHandle<'a>
source§fn clone(&self) -> DisplayHandle<'a>
fn clone(&self) -> DisplayHandle<'a>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for DisplayHandle<'_>
impl Debug for DisplayHandle<'_>
source§impl From<DisplayHandle<'_>> for RawDisplayHandle
impl From<DisplayHandle<'_>> for RawDisplayHandle
source§fn from(handle: DisplayHandle<'_>) -> RawDisplayHandle
fn from(handle: DisplayHandle<'_>) -> RawDisplayHandle
source§impl<'a> HasDisplayHandle for DisplayHandle<'a>
impl<'a> HasDisplayHandle for DisplayHandle<'a>
source§fn display_handle(&self) -> Result<DisplayHandle<'_>, HandleError>
fn display_handle(&self) -> Result<DisplayHandle<'_>, HandleError>
source§impl<'a> Hash for DisplayHandle<'a>
impl<'a> Hash for DisplayHandle<'a>
source§impl<'a> PartialEq for DisplayHandle<'a>
impl<'a> PartialEq for DisplayHandle<'a>
impl<'a> Copy for DisplayHandle<'a>
impl<'a> Eq for DisplayHandle<'a>
impl<'a> StructuralPartialEq for DisplayHandle<'a>
Auto Trait Implementations§
impl<'a> Freeze for DisplayHandle<'a>
impl<'a> RefUnwindSafe for DisplayHandle<'a>
impl<'a> !Send for DisplayHandle<'a>
impl<'a> !Sync for DisplayHandle<'a>
impl<'a> Unpin for DisplayHandle<'a>
impl<'a> UnwindSafe for DisplayHandle<'a>
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
source§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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)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
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§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
.source§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
.source§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.source§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.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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.source§impl<T> HasRawDisplayHandle for Twhere
T: HasDisplayHandle + ?Sized,
impl<T> HasRawDisplayHandle for Twhere
T: HasDisplayHandle + ?Sized,
source§fn raw_display_handle(&self) -> Result<RawDisplayHandle, HandleError>
fn raw_display_handle(&self) -> Result<RawDisplayHandle, HandleError>
HasDisplayHandle
insteadsource§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> ⓘ
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
.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> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§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> Pointable for T
impl<T> Pointable for T
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