#[repr(transparent)]pub struct DisplayHandle<'a> {
raw: RawDisplayHandle,
_marker: PhantomData<&'a ()>,
}
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.
Fields§
§raw: RawDisplayHandle
§_marker: PhantomData<&'a ()>
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>
§fn eq(&self, other: &DisplayHandle<'a>) -> bool
fn eq(&self, other: &DisplayHandle<'a>) -> bool
self
and other
values to be equal, and is used
by ==
.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<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<T> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
§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.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.§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> 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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request