1 | use core::ffi::c_void; |
2 | use core::ptr; |
3 | |
4 | /// Raw display handle for Haiku. |
5 | /// |
6 | /// ## Construction |
7 | /// ``` |
8 | /// # use raw_window_handle::HaikuDisplayHandle; |
9 | /// let mut display_handle = HaikuDisplayHandle::empty(); |
10 | /// /* set fields */ |
11 | /// ``` |
12 | #[non_exhaustive ] |
13 | #[derive (Debug, Clone, Copy, PartialEq, Eq, Hash)] |
14 | pub struct HaikuDisplayHandle; |
15 | |
16 | impl HaikuDisplayHandle { |
17 | pub fn empty() -> Self { |
18 | Self {} |
19 | } |
20 | } |
21 | |
22 | /// Raw window handle for Haiku. |
23 | /// |
24 | /// ## Construction |
25 | /// ``` |
26 | /// # use raw_window_handle::HaikuWindowHandle; |
27 | /// let mut window_handle = HaikuWindowHandle::empty(); |
28 | /// /* set fields */ |
29 | /// ``` |
30 | #[non_exhaustive ] |
31 | #[derive (Debug, Clone, Copy, PartialEq, Eq, Hash)] |
32 | pub struct HaikuWindowHandle { |
33 | /// A pointer to a BWindow object |
34 | pub b_window: *mut c_void, |
35 | /// A pointer to a BDirectWindow object that might be null |
36 | pub b_direct_window: *mut c_void, |
37 | } |
38 | |
39 | impl HaikuWindowHandle { |
40 | pub fn empty() -> Self { |
41 | Self { |
42 | b_window: ptr::null_mut(), |
43 | b_direct_window: ptr::null_mut(), |
44 | } |
45 | } |
46 | } |
47 | |