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::let_and_return)]
24#[allow(clippy::upper_case_acronyms)]
25#[allow(unused_imports)]
26mod auto;
27
28pub mod prelude;
29
30pub use auto::*;
31
32mod win32_display;
33pub use win32_display::Win32DisplayFilterHandle;
34
35mod win32_hcursor;
36mod win32_surface;
37
38#[cfg(not(all(feature = "win32", windows)))]
39pub struct HANDLE(pub *mut c_void);
40#[cfg(not(all(feature = "win32", windows)))]
41pub struct HCURSOR(pub *mut c_void);
42#[cfg(not(all(feature = "win32", windows)))]
43pub struct HICON(pub *mut c_void);
44#[cfg(not(all(feature = "win32", windows)))]
45pub struct HWND(pub *mut c_void);
46
47#[cfg(not(all(feature = "win32", windows)))]
48#[repr(transparent)]
49pub struct WPARAM(pub usize);
50#[cfg(not(all(feature = "win32", windows)))]
51#[repr(transparent)]
52pub struct LPARAM(pub isize);
53
54#[cfg(not(all(feature = "win32", windows)))]
55#[repr(C)]
56pub struct POINT {
57 pub x: i32,
58 pub y: i32,
59}
60
61#[allow(non_snake_case)]
62#[cfg(not(all(feature = "win32", windows)))]
63#[repr(C)]
64pub struct MSG {
65 pub hwnd: HWND,
66 pub message: u32,
67 pub wParam: WPARAM,
68 pub lParam: LPARAM,
69 pub time: u32,
70 pub pt: POINT,
71}
72
73#[cfg(all(feature = "win32", windows))]
74pub use windows::Win32::Foundation::{HANDLE, HWND};
75#[cfg(all(feature = "win32", windows))]
76pub use windows::Win32::UI::WindowsAndMessaging::{HCURSOR, HICON, MSG};