use core::ffi::c_void; use core::num::NonZeroIsize; use core::ptr::NonNull;
/// Raw display handle for Windows. /// /// It can be used regardless of Windows window backend. #[non_exhaustive] #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pubstruct WindowsDisplayHandle {}
impl WindowsDisplayHandle { /// Create a new empty display handle. /// /// /// # Example /// /// ``` /// # use raw_window_handle::WindowsDisplayHandle; /// let handle = WindowsDisplayHandle::new(); /// ``` pubfn new() -> Self { Self {}
}
}
/// Raw window handle for Win32. #[non_exhaustive] #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pubstruct Win32WindowHandle { /// A Win32 `HWND` handle. pub hwnd: NonZeroIsize, /// The `GWLP_HINSTANCE` associated with this type's `HWND`. pub hinstance: Option<NonZeroIsize>,
}
impl Win32WindowHandle { /// Create a new handle to a window. /// /// /// # Example /// /// ``` /// # use core::num::NonZeroIsize; /// # use raw_window_handle::Win32WindowHandle; /// # struct HWND(isize); /// # /// let window: HWND; /// # window = HWND(1); /// let mut handle = Win32WindowHandle::new(NonZeroIsize::new(window.0).unwrap()); /// // Optionally set the GWLP_HINSTANCE. /// # #[cfg(only_for_showcase)] /// let hinstance = NonZeroIsize::new(unsafe { GetWindowLongPtrW(window, GWLP_HINSTANCE) }).unwrap(); /// # let hinstance = None; /// handle.hinstance = hinstance; /// ``` pubfn new(hwnd: NonZeroIsize) -> Self { Self {
hwnd,
hinstance: None,
}
}
}
/// Raw window handle for WinRT. #[non_exhaustive] #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pubstruct WinRtWindowHandle { /// A WinRT `CoreWindow` handle. pub core_window: NonNull<c_void>,
}
impl WinRtWindowHandle { /// Create a new handle to a window. /// /// /// # Example /// /// ``` /// # use core::ptr::NonNull; /// # use raw_window_handle::WinRtWindowHandle; /// # type CoreWindow = (); /// # /// let window: NonNull<CoreWindow>; /// # window = NonNull::from(&()); /// let handle = WinRtWindowHandle::new(window.cast()); /// ``` pubfn new(core_window: NonNull<c_void>) -> Self { Self { core_window }
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.9 Sekunden
(vorverarbeitet am 2026-06-21)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.