Struct raw_window_handle::borrowed::DisplayHandle
source · #[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§
source§impl DisplayHandle<'static>
impl DisplayHandle<'static>
sourcepub fn android() -> Self
pub fn android() -> Self
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() -> Self
pub fn appkit() -> Self
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) -> Self
pub unsafe fn borrow_raw(raw: RawDisplayHandle) -> Self
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() -> Self
pub fn haiku() -> Self
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() -> Self
pub fn ohos() -> Self
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() -> Self
pub fn orbital() -> Self
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() -> Self
pub fn uikit() -> Self
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>
source§impl DisplayHandle<'static>
impl DisplayHandle<'static>
sourcepub fn windows() -> Self
pub fn windows() -> Self
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<'_>) -> Self
fn from(handle: DisplayHandle<'_>) -> Self
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>
source§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> 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
instead