1use core::ffi::c_void;
2use 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)]
14pub struct HaikuDisplayHandle;
15
16impl 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)]
32pub 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
39impl 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