raw_window_handle_extensions/
web.rs

1use crate::{RawDisplayHandleType, RawWindowHandleType, VeryRawDisplayHandle, VeryRawWindowHandle};
2use raw_window_handle::{WebDisplayHandle, WebWindowHandle};
3
4impl From<WebWindowHandle> for VeryRawWindowHandle {
5    fn from(value: WebWindowHandle) -> Self {
6        Self {
7            handle_type: RawWindowHandleType::Web,
8            ptr_1: std::ptr::null_mut(),
9            ptr_2: std::ptr::null_mut(),
10            ptr_3: std::ptr::null_mut(),
11            id_1: value.id as u64,
12            id_2: Default::default(),
13        }
14    }
15}
16
17impl From<VeryRawWindowHandle> for WebWindowHandle {
18    fn from(value: VeryRawWindowHandle) -> Self {
19        assert_eq!(value.handle_type, RawWindowHandleType::Web);
20        let window_handle = Self::new(value.id_1 as u32);
21        window_handle
22    }
23}
24
25impl From<WebDisplayHandle> for VeryRawDisplayHandle {
26    fn from(_value: WebDisplayHandle) -> Self {
27        Self {
28            handle_type: RawDisplayHandleType::Web,
29            ptr_1: std::ptr::null_mut(),
30            id_1: Default::default(),
31        }
32    }
33}
34
35impl From<VeryRawDisplayHandle> for WebDisplayHandle {
36    fn from(value: VeryRawDisplayHandle) -> Self {
37        assert_eq!(value.handle_type, RawDisplayHandleType::Web);
38        let window_handle = Self::new();
39        window_handle
40    }
41}