raw_window_handle_ffi/handles/
web_offscreen_canvas.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 WebOffscreenCanvasWindowHandle {
10 pub obj: NonNull<c_void>,
20}
21
22unsafe impl Send for WebOffscreenCanvasWindowHandle {}
23unsafe impl Sync for WebOffscreenCanvasWindowHandle {}
24
25impl From<raw_window_handle::WebOffscreenCanvasWindowHandle> for WebOffscreenCanvasWindowHandle {
26 fn from(value: raw_window_handle::WebOffscreenCanvasWindowHandle) -> Self {
27 Self { obj: value.obj }
28 }
29}
30
31impl WebOffscreenCanvasWindowHandle {
32 pub unsafe fn into(self) -> raw_window_handle::WebOffscreenCanvasWindowHandle {
38 raw_window_handle::WebOffscreenCanvasWindowHandle::new(self.obj)
39 }
40}
41
42impl From<WebOffscreenCanvasWindowHandle> for RawWindowHandle {
43 fn from(val: WebOffscreenCanvasWindowHandle) -> RawWindowHandle {
44 RawWindowHandle {
45 kind: crate::RawWindowHandleKind::WebOffscreenCanvasWindowHandle,
46 data: RawWindowHandleData {
47 web_offscreen_canvas: val,
48 },
49 }
50 }
51}