Struct DisplayHandle
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§
§impl DisplayHandle<'static>
impl DisplayHandle<'static>
pub 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);
§impl DisplayHandle<'static>
impl DisplayHandle<'static>
pub 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);
§impl<'a> DisplayHandle<'a>
impl<'a> DisplayHandle<'a>
pub 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.
pub fn as_raw(&self) -> RawDisplayHandle
pub fn as_raw(&self) -> RawDisplayHandle
Get the underlying raw display handle.
§impl DisplayHandle<'static>
impl DisplayHandle<'static>
pub 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);
§impl DisplayHandle<'static>
impl DisplayHandle<'static>
pub 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);
§impl DisplayHandle<'static>
impl DisplayHandle<'static>
pub 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);
§impl DisplayHandle<'static>
impl DisplayHandle<'static>
pub 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);
§impl DisplayHandle<'static>
impl DisplayHandle<'static>
pub 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);
§impl DisplayHandle<'static>
impl DisplayHandle<'static>
pub 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§
§impl AsRef<RawDisplayHandle> for DisplayHandle<'_>
impl AsRef<RawDisplayHandle> for DisplayHandle<'_>
§fn as_ref(&self) -> &RawDisplayHandle
fn as_ref(&self) -> &RawDisplayHandle
§impl Borrow<RawDisplayHandle> for DisplayHandle<'_>
impl Borrow<RawDisplayHandle> for DisplayHandle<'_>
§fn borrow(&self) -> &RawDisplayHandle
fn borrow(&self) -> &RawDisplayHandle
§impl<'a> Clone for DisplayHandle<'a>
impl<'a> Clone for DisplayHandle<'a>
§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 more§impl Debug for DisplayHandle<'_>
impl Debug for DisplayHandle<'_>
§impl From<DisplayHandle<'_>> for RawDisplayHandle
impl From<DisplayHandle<'_>> for RawDisplayHandle
§fn from(handle: DisplayHandle<'_>) -> RawDisplayHandle
fn from(handle: DisplayHandle<'_>) -> RawDisplayHandle
§impl<'a> HasDisplayHandle for DisplayHandle<'a>
impl<'a> HasDisplayHandle for DisplayHandle<'a>
§fn display_handle(&self) -> Result<DisplayHandle<'_>, HandleError>
fn display_handle(&self) -> Result<DisplayHandle<'_>, HandleError>
§impl<'a> Hash for DisplayHandle<'a>
impl<'a> Hash for DisplayHandle<'a>
§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, 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
§impl<T> CallHasher for T
impl<T> CallHasher for 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<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.§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
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> HasRawDisplayHandle for Twhere
T: HasDisplayHandle + ?Sized,
impl<T> HasRawDisplayHandle for Twhere
T: HasDisplayHandle + ?Sized,
§fn raw_display_handle(&self) -> Result<RawDisplayHandle, HandleError>
fn raw_display_handle(&self) -> Result<RawDisplayHandle, HandleError>
HasDisplayHandle
instead§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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.§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