winit/platform/
mod.rs

1//! # Platform implementations
2//!
3//! This module re-exports the platform-specific implementation crates that are used by default in
4//! Winit.
5//!
6//! Only the crates / modules corresponding to the platform you're compiling to will be available.
7//!
8//! | Platform | Crate | Module |
9//! | -------- | ----- | ------ |
10#![doc = concat!("| Android | [`winit-android`](https://docs.rs/winit-android/", env!("CARGO_PKG_VERSION"), "/) | `winit::platform::android` |")]
11#![doc = concat!("| macOS | [`winit-appkit`](https://docs.rs/winit-appkit/", env!("CARGO_PKG_VERSION"), "/) | `winit::platform::macos` |")]
12#![doc = concat!("| Redox | [`winit-orbital`](https://docs.rs/winit-orbital/", env!("CARGO_PKG_VERSION"), "/) | `winit::platform::orbital` |")]
13#![doc = concat!("| iOS/visionOS/tvOS/Mac Catalyst | [`winit-uikit`](https://docs.rs/winit-uikit/", env!("CARGO_PKG_VERSION"), "/) | `winit::platform::ios` |")]
14#![doc = concat!("| Wayland | [`winit-wayland`](https://docs.rs/winit-wayland/", env!("CARGO_PKG_VERSION"), "/) | `winit::platform::wayland` |")]
15#![doc = concat!("| Web | [`winit-web`](https://docs.rs/winit-web/", env!("CARGO_PKG_VERSION"), "/) | `winit::platform::web` |")]
16#![doc = concat!("| Windows | [`winit-win32`](https://docs.rs/winit-win32/", env!("CARGO_PKG_VERSION"), "/) | `winit::platform::windows` |")]
17#![doc = concat!("| X11 | [`winit-x11`](https://docs.rs/winit-x11/", env!("CARGO_PKG_VERSION"), "/) | `winit::platform::x11` |")]
18//! ## Common modules
19//!
20//! Furthermore, we provide two modules for common functionality:
21//! - `scancode`, available on Windows, macOS, Wayland and X11.
22//! - `startup_notify`, available on Wayland and X11.
23
24#[cfg(android_platform)]
25pub use winit_android as android;
26#[cfg(macos_platform)]
27pub use winit_appkit as macos;
28#[cfg(orbital_platform)]
29pub use winit_orbital as orbital;
30#[cfg(ios_platform)]
31pub use winit_uikit as ios;
32#[cfg(wayland_platform)]
33pub use winit_wayland as wayland;
34#[cfg(web_platform)]
35pub use winit_web as web;
36#[cfg(windows_platform)]
37pub use winit_win32 as windows;
38#[cfg(x11_platform)]
39pub use winit_x11 as x11;
40
41#[cfg(any(windows_platform, macos_platform, x11_platform, wayland_platform, docsrs))]
42pub mod scancode;
43#[cfg(any(x11_platform, wayland_platform, docsrs))]
44pub mod startup_notify;