1#![cfg_attr(not(windows), allow(dead_code))]
21
22pub mod automation;
23pub mod d_composition;
24pub mod direct_x;
25pub mod input;
26pub mod interop;
27pub mod open_gl;
28pub mod vulkan;
29pub mod win32_com;
30pub mod win_rt;
31
32mod angle_options;
33mod clipboard_format_registry;
34mod cursor_factory;
35mod framebuffer_manager;
36mod i_blur_host;
37mod i_windows_surface_factory;
38mod icon_impl;
39mod ole_data_object_helper;
40mod ole_drag_source;
41mod ole_drop_target;
42mod ole_virtual_file_data;
43mod swap_chain_top_level_impl;
44mod sync_root;
45mod win32_dispatcher_impl;
46mod win32_gl_manager;
47mod platform_constants;
48mod win32_platform_options;
49mod win32_platform_settings;
50mod tray_icon_impl;
51mod win32_native_control_host;
52mod win32_storage_provider;
53mod windows_mounted_volume_info_listener;
54#[cfg(windows)]
55mod windows_mounted_volume_info_provider;
56mod win32_text_rendering;
57mod win32_top_level_scene_info;
58mod win32_type_extensions;
59mod window_impl;
60mod window_impl_app_wnd_proc;
61mod window_impl_custom_caption_proc;
62
63#[cfg(windows)]
64mod clipboard_impl;
65#[cfg(windows)]
66mod data_transfer_to_ole_data_object_wrapper;
67#[cfg(windows)]
68mod drag_source;
69#[cfg(windows)]
70mod embedded_window_impl;
71#[cfg(windows)]
72mod offscreen_parent_window;
73#[cfg(windows)]
74mod ole_context;
75#[cfg(windows)]
76mod ole_data_object_to_data_transfer_item_wrapper;
77#[cfg(windows)]
78mod ole_data_object_to_data_transfer_wrapper;
79#[cfg(all(windows, test))]
80mod ole_tests;
81#[cfg(windows)]
82mod popup_impl;
83#[cfg(windows)]
84mod screen_impl;
85#[cfg(windows)]
86mod simple_window;
87#[cfg(windows)]
88mod win32_native_to_managed_menu_exporter;
89#[cfg(windows)]
90mod win32_platform;
91#[cfg(windows)]
92mod win_screen;
93#[cfg(windows)]
94pub mod wnd_proc_guard;
95
96pub use angle_options::{AngleOptions, PlatformApi};
97pub use cursor_factory::cursor_resource_id;
98pub use platform_constants::{PlatformConstants, Version};
99pub use win32_platform_options::{Win32CompositionMode, Win32DpiAwareness, Win32PlatformOptions, Win32RenderingMode};
100pub use win32_top_level_scene_info::Win32TopLevelSceneInfo;
101pub use win32_type_extensions::Win32TypeExtensions;
102pub use swap_chain_top_level_impl::SwapChainTopLevelImpl;
103
104#[cfg(windows)]
105pub use clipboard_impl::ClipboardImpl;
106#[cfg(windows)]
107pub use cursor_factory::{CursorFactory, CursorImpl};
108#[cfg(windows)]
109pub use embedded_window_impl::EmbeddedWindowImpl;
110#[cfg(windows)]
111pub use framebuffer_manager::FramebufferManager;
112#[cfg(windows)]
113pub use icon_impl::IconImpl;
114#[cfg(windows)]
115pub use popup_impl::PopupImpl;
116#[cfg(windows)]
117pub use screen_impl::ScreenImpl;
118#[cfg(windows)]
119pub use win32_dispatcher_impl::Win32DispatcherImpl;
120#[cfg(windows)]
121pub use win32_platform::{Win32ApplicationExtensions, Win32Platform};
122#[cfg(windows)]
123pub use win32_platform_settings::Win32PlatformSettings;
124#[cfg(windows)]
125pub use win_screen::WinScreen;
126#[cfg(windows)]
127pub use window_impl::WindowImpl;
128
129#[allow(dead_code)] #[track_caller]
133pub(crate) fn not_built(member: &str, stage: u32) -> ! {
134 panic!("{member} is not built yet: it belongs to stage {stage} of the Windows platform backend (docs/porting/win32-platform.md)")
135}