raw_window_handle_ffi/handles/
orbital.rs1use crate::{RawWindowHandle, RawWindowHandleData};
2use std::{ffi::c_void, ptr::NonNull};
3
4#[repr(C)]
8#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
9pub struct OrbitalWindowHandle {
10 pub window: NonNull<c_void>,
14}
15
16unsafe impl Send for OrbitalWindowHandle {}
17unsafe impl Sync for OrbitalWindowHandle {}
18
19impl From<raw_window_handle::OrbitalWindowHandle> for OrbitalWindowHandle {
20 fn from(value: raw_window_handle::OrbitalWindowHandle) -> Self {
21 Self {
22 window: value.window,
23 }
24 }
25}
26
27impl OrbitalWindowHandle {
28 pub unsafe fn into(self) -> raw_window_handle::OrbitalWindowHandle {
34 raw_window_handle::OrbitalWindowHandle::new(self.window)
35 }
36}
37
38impl From<OrbitalWindowHandle> for RawWindowHandle {
39 fn from(val: OrbitalWindowHandle) -> RawWindowHandle {
40 RawWindowHandle {
41 kind: crate::RawWindowHandleKind::OrbitalWindowHandle,
42 data: RawWindowHandleData { orbital: val },
43 }
44 }
45}