raw_window_handle_ffi/handles/
drm.rs1use crate::{RawWindowHandle, RawWindowHandleData};
2
3#[repr(C)]
7#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
8pub struct DrmWindowHandle {
9 pub plane: u32,
11}
12
13unsafe impl Send for DrmWindowHandle {}
14unsafe impl Sync for DrmWindowHandle {}
15
16impl From<raw_window_handle::DrmWindowHandle> for DrmWindowHandle {
17 fn from(value: raw_window_handle::DrmWindowHandle) -> Self {
18 Self { plane: value.plane }
19 }
20}
21
22impl DrmWindowHandle {
23 pub unsafe fn into(self) -> raw_window_handle::DrmWindowHandle {
29 raw_window_handle::DrmWindowHandle::new(self.plane)
30 }
31}
32
33impl From<DrmWindowHandle> for RawWindowHandle {
34 fn from(val: DrmWindowHandle) -> RawWindowHandle {
35 RawWindowHandle {
36 kind: crate::RawWindowHandleKind::DrmWindowHandle,
37 data: RawWindowHandleData { drm: val },
38 }
39 }
40}