1#![doc = include_str!("../README.md")]
4#![allow(deprecated)]
5#![cfg_attr(docsrs, feature(doc_cfg))]
6
7#[cfg(not(all(feature = "win32", windows)))]
8use std::ffi::c_void;
9
10pub use gdk;
11pub use gdk4_win32_sys as ffi;
12pub use gio;
13pub use glib;
14#[cfg(feature = "win32")]
15#[cfg_attr(docsrs, doc(cfg(feature = "win32")))]
16pub use windows;
17
18#[macro_use]
19mod rt;
20
21mod enums;
22
23#[allow(clippy::upper_case_acronyms)]
24#[allow(unused_imports)]
25mod auto;
26
27pub mod prelude;
28
29pub use auto::*;
30
31mod win32_display;
32pub use win32_display::Win32DisplayFilterHandle;
33
34mod win32_hcursor;
35mod win32_surface;
36
37#[cfg(not(all(feature = "win32", windows)))]
38pub struct HANDLE(pub *mut c_void);
39#[cfg(not(all(feature = "win32", windows)))]
40pub struct HCURSOR(pub *mut c_void);
41#[cfg(not(all(feature = "win32", windows)))]
42pub struct HICON(pub *mut c_void);
43#[cfg(not(all(feature = "win32", windows)))]
44pub struct HWND(pub *mut c_void);
45
46#[cfg(not(all(feature = "win32", windows)))]
47#[repr(transparent)]
48pub struct WPARAM(pub usize);
49#[cfg(not(all(feature = "win32", windows)))]
50#[repr(transparent)]
51pub struct LPARAM(pub isize);
52
53#[cfg(not(all(feature = "win32", windows)))]
54#[repr(C)]
55pub struct POINT {
56 pub x: i32,
57 pub y: i32,
58}
59
60#[allow(non_snake_case)]
61#[cfg(not(all(feature = "win32", windows)))]
62#[repr(C)]
63pub struct MSG {
64 pub hwnd: HWND,
65 pub message: u32,
66 pub wParam: WPARAM,
67 pub lParam: LPARAM,
68 pub time: u32,
69 pub pt: POINT,
70}
71
72#[cfg(all(feature = "win32", windows))]
73pub use windows::Win32::Foundation::{HANDLE, HWND};
74#[cfg(all(feature = "win32", windows))]
75pub use windows::Win32::UI::WindowsAndMessaging::{HCURSOR, HICON, MSG};