2014-07-27 10:55:37 +02:00
|
|
|
[package]
|
2024-04-18 19:43:39 +02:00
|
|
|
authors = ["The winit contributors", "Pierre Krieger <pierre.krieger1708@gmail.com>"]
|
|
|
|
|
categories = ["gui"]
|
2016-02-23 12:56:23 +01:00
|
|
|
description = "Cross-platform window creation library."
|
2016-09-19 19:53:28 +03:00
|
|
|
documentation = "https://docs.rs/winit"
|
2024-02-26 14:52:00 +01:00
|
|
|
edition.workspace = true
|
2024-08-04 15:14:12 +03:00
|
|
|
include = [
|
|
|
|
|
"/build.rs",
|
|
|
|
|
"/docs",
|
|
|
|
|
"/examples",
|
|
|
|
|
"/FEATURES.md",
|
|
|
|
|
"/LICENSE",
|
|
|
|
|
"/src",
|
|
|
|
|
"!/src/platform_impl/web/script",
|
|
|
|
|
"/src/platform_impl/web/script/**/*.min.js",
|
|
|
|
|
"/tests",
|
|
|
|
|
]
|
2016-02-23 12:56:23 +01:00
|
|
|
keywords = ["windowing"]
|
2024-02-26 14:52:00 +01:00
|
|
|
license.workspace = true
|
2016-02-23 12:56:23 +01:00
|
|
|
name = "winit"
|
2014-11-14 08:54:04 +01:00
|
|
|
readme = "README.md"
|
2024-02-26 14:52:00 +01:00
|
|
|
repository.workspace = true
|
|
|
|
|
rust-version.workspace = true
|
2024-12-21 09:39:09 +03:00
|
|
|
version = "0.30.6"
|
2014-07-27 10:55:37 +02:00
|
|
|
|
2018-05-11 10:33:06 -04:00
|
|
|
[package.metadata.docs.rs]
|
2023-11-23 08:18:05 +01:00
|
|
|
features = [
|
|
|
|
|
"serde",
|
2024-01-04 12:54:35 +01:00
|
|
|
"mint",
|
2023-11-23 08:18:05 +01:00
|
|
|
# Enabled to get docs to compile
|
|
|
|
|
"android-native-activity",
|
|
|
|
|
]
|
2022-06-11 00:45:24 +02:00
|
|
|
# These are all tested in CI
|
2022-10-24 17:02:52 -05:00
|
|
|
rustdoc-args = ["--cfg", "docsrs"]
|
2022-06-11 00:45:24 +02:00
|
|
|
targets = [
|
|
|
|
|
# Windows
|
|
|
|
|
"i686-pc-windows-msvc",
|
|
|
|
|
"x86_64-pc-windows-msvc",
|
|
|
|
|
# macOS
|
2024-08-13 23:01:17 +02:00
|
|
|
"aarch64-apple-darwin",
|
2022-06-11 00:45:24 +02:00
|
|
|
"x86_64-apple-darwin",
|
|
|
|
|
# Unix (X11 & Wayland)
|
|
|
|
|
"i686-unknown-linux-gnu",
|
|
|
|
|
"x86_64-unknown-linux-gnu",
|
|
|
|
|
# iOS
|
2024-08-13 23:01:17 +02:00
|
|
|
"aarch64-apple-ios",
|
2022-06-11 00:45:24 +02:00
|
|
|
# Android
|
|
|
|
|
"aarch64-linux-android",
|
2024-01-14 18:54:52 +01:00
|
|
|
# Web
|
2022-06-11 00:45:24 +02:00
|
|
|
"wasm32-unknown-unknown",
|
|
|
|
|
]
|
2018-05-07 17:36:21 -04:00
|
|
|
|
2024-02-23 15:35:18 +01:00
|
|
|
# Features are documented in either `lib.rs` or under `winit::platform`.
|
2019-06-27 00:02:46 +02:00
|
|
|
[features]
|
2023-04-19 00:56:29 +03:00
|
|
|
android-game-activity = ["android-activity/game-activity"]
|
|
|
|
|
android-native-activity = ["android-activity/native-activity"]
|
2024-11-03 00:39:01 +03:00
|
|
|
default = ["x11", "wayland", "wayland-dlopen", "wayland-csd-adwaita"]
|
2023-07-22 02:32:27 -07:00
|
|
|
mint = ["dpi/mint"]
|
2024-08-08 00:46:28 +02:00
|
|
|
serde = ["dep:serde", "cursor-icon/serde", "smol_str/serde", "dpi/serde", "bitflags/serde"]
|
2024-04-18 19:43:39 +02:00
|
|
|
wayland = [
|
|
|
|
|
"wayland-client",
|
|
|
|
|
"wayland-backend",
|
|
|
|
|
"wayland-protocols",
|
|
|
|
|
"wayland-protocols-plasma",
|
|
|
|
|
"sctk",
|
|
|
|
|
"ahash",
|
|
|
|
|
"memmap2",
|
|
|
|
|
]
|
2022-08-24 14:24:29 +02:00
|
|
|
wayland-csd-adwaita = ["sctk-adwaita", "sctk-adwaita/ab_glyph"]
|
|
|
|
|
wayland-csd-adwaita-crossfont = ["sctk-adwaita", "sctk-adwaita/crossfont"]
|
2022-05-20 02:09:23 +02:00
|
|
|
wayland-csd-adwaita-notitle = ["sctk-adwaita"]
|
2023-04-19 00:56:29 +03:00
|
|
|
wayland-dlopen = ["wayland-backend/dlopen"]
|
2024-02-26 14:52:00 +01:00
|
|
|
x11 = ["x11-dl", "bytemuck", "percent-encoding", "xkbcommon-dl/x11", "x11rb"]
|
2019-06-27 00:02:46 +02:00
|
|
|
|
2022-12-25 09:57:27 +02:00
|
|
|
[build-dependencies]
|
2024-05-22 15:51:29 +04:00
|
|
|
cfg_aliases = "0.2.1"
|
2022-12-25 09:57:27 +02:00
|
|
|
|
2015-02-06 09:21:55 +01:00
|
|
|
[dependencies]
|
2023-06-02 15:44:36 +01:00
|
|
|
bitflags = "2"
|
2023-11-04 15:19:15 +04:00
|
|
|
cursor-icon = "1.1.0"
|
2024-03-15 18:16:52 +04:00
|
|
|
dpi = { version = "0.1.1", path = "dpi" }
|
2024-11-03 00:39:01 +03:00
|
|
|
rwh_06 = { package = "raw-window-handle", version = "0.6", features = ["std"] }
|
2024-02-26 14:52:00 +01:00
|
|
|
serde = { workspace = true, optional = true }
|
2024-12-03 23:07:19 +01:00
|
|
|
smol_str = "0.3"
|
2024-06-22 16:38:42 +07:00
|
|
|
tracing = { version = "0.1.40", default-features = false }
|
2014-10-04 15:49:39 +02:00
|
|
|
|
2019-02-23 20:59:00 -05:00
|
|
|
[dev-dependencies]
|
2024-04-18 21:52:38 +02:00
|
|
|
image = { version = "0.25.0", default-features = false, features = ["png"] }
|
2024-06-22 16:38:42 +07:00
|
|
|
tracing = { version = "0.1.40", default-features = false, features = ["log"] }
|
2024-02-25 19:20:39 -08:00
|
|
|
tracing-subscriber = { version = "0.3.18", features = ["env-filter"] }
|
2019-02-23 20:59:00 -05:00
|
|
|
|
2024-09-10 16:36:04 +02:00
|
|
|
[target.'cfg(not(target_os = "android"))'.dev-dependencies]
|
|
|
|
|
softbuffer = { version = "0.4.6", default-features = false, features = [
|
2024-04-18 19:43:39 +02:00
|
|
|
"x11",
|
|
|
|
|
"x11-dlopen",
|
|
|
|
|
"wayland",
|
|
|
|
|
"wayland-dlopen",
|
|
|
|
|
] }
|
2023-06-19 11:46:38 -07:00
|
|
|
|
2024-06-24 13:26:49 +02:00
|
|
|
# Android
|
2020-05-06 15:27:49 +02:00
|
|
|
[target.'cfg(target_os = "android")'.dependencies]
|
2024-04-27 11:35:11 +02:00
|
|
|
android-activity = "0.6.0"
|
2024-11-03 00:39:01 +03:00
|
|
|
ndk = { version = "0.9.0", features = ["rwh_06"], default-features = false }
|
2014-12-31 23:10:29 +01:00
|
|
|
|
2024-06-24 13:26:49 +02:00
|
|
|
# AppKit or UIKit
|
|
|
|
|
[target.'cfg(target_vendor = "apple")'.dependencies]
|
2024-08-11 23:14:18 +02:00
|
|
|
block2 = "0.5.1"
|
2022-09-08 21:03:25 +02:00
|
|
|
core-foundation = "0.9.3"
|
2024-05-27 14:49:22 +02:00
|
|
|
objc2 = "0.5.2"
|
2015-09-21 18:57:35 +02:00
|
|
|
|
2024-06-24 13:26:49 +02:00
|
|
|
# AppKit
|
2016-05-02 14:58:52 -07:00
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
2024-06-24 13:26:49 +02:00
|
|
|
core-graphics = "0.23.1"
|
|
|
|
|
objc2-app-kit = { version = "0.2.2", features = [
|
2024-04-18 17:34:19 +02:00
|
|
|
"NSAppearance",
|
|
|
|
|
"NSApplication",
|
|
|
|
|
"NSBitmapImageRep",
|
|
|
|
|
"NSButton",
|
2024-06-15 15:41:34 +03:00
|
|
|
"NSColor",
|
2024-04-18 17:34:19 +02:00
|
|
|
"NSControl",
|
|
|
|
|
"NSCursor",
|
|
|
|
|
"NSDragging",
|
|
|
|
|
"NSEvent",
|
|
|
|
|
"NSGraphics",
|
|
|
|
|
"NSGraphicsContext",
|
|
|
|
|
"NSImage",
|
|
|
|
|
"NSImageRep",
|
|
|
|
|
"NSMenu",
|
|
|
|
|
"NSMenuItem",
|
|
|
|
|
"NSOpenGLView",
|
2024-12-13 00:56:39 +01:00
|
|
|
"NSPanel",
|
2024-04-18 17:34:19 +02:00
|
|
|
"NSPasteboard",
|
|
|
|
|
"NSResponder",
|
|
|
|
|
"NSRunningApplication",
|
|
|
|
|
"NSScreen",
|
|
|
|
|
"NSTextInputClient",
|
|
|
|
|
"NSTextInputContext",
|
2024-10-25 14:22:52 -07:00
|
|
|
"NSToolbar",
|
2024-04-18 17:34:19 +02:00
|
|
|
"NSView",
|
|
|
|
|
"NSWindow",
|
|
|
|
|
"NSWindowScripting",
|
|
|
|
|
"NSWindowTabGroup",
|
2024-06-24 13:26:49 +02:00
|
|
|
] }
|
|
|
|
|
objc2-foundation = { version = "0.2.2", features = [
|
2024-06-06 12:32:02 +02:00
|
|
|
"block2",
|
2023-08-14 21:19:57 +02:00
|
|
|
"dispatch",
|
2024-04-18 17:34:19 +02:00
|
|
|
"NSArray",
|
|
|
|
|
"NSAttributedString",
|
|
|
|
|
"NSData",
|
|
|
|
|
"NSDictionary",
|
2024-05-06 17:09:38 +02:00
|
|
|
"NSDistributedNotificationCenter",
|
2024-04-18 17:34:19 +02:00
|
|
|
"NSEnumerator",
|
2024-11-21 17:37:03 +01:00
|
|
|
"NSGeometry",
|
2024-06-20 16:05:34 +02:00
|
|
|
"NSKeyValueObserving",
|
2024-05-06 17:09:38 +02:00
|
|
|
"NSNotification",
|
2024-04-18 17:34:19 +02:00
|
|
|
"NSObjCRuntime",
|
2024-08-11 23:14:18 +02:00
|
|
|
"NSOperation",
|
2024-04-18 17:34:19 +02:00
|
|
|
"NSPathUtilities",
|
|
|
|
|
"NSProcessInfo",
|
2024-05-06 17:09:38 +02:00
|
|
|
"NSRunLoop",
|
2024-04-18 17:34:19 +02:00
|
|
|
"NSString",
|
|
|
|
|
"NSThread",
|
|
|
|
|
"NSValue",
|
2024-07-26 17:07:20 +02:00
|
|
|
] }
|
2024-04-18 17:34:19 +02:00
|
|
|
|
2024-06-24 13:26:49 +02:00
|
|
|
# UIKit
|
|
|
|
|
[target.'cfg(all(target_vendor = "apple", not(target_os = "macos")))'.dependencies]
|
|
|
|
|
objc2-foundation = { version = "0.2.2", features = [
|
2024-08-11 23:14:18 +02:00
|
|
|
"block2",
|
2023-08-14 21:19:57 +02:00
|
|
|
"dispatch",
|
2024-04-18 17:34:19 +02:00
|
|
|
"NSArray",
|
|
|
|
|
"NSEnumerator",
|
|
|
|
|
"NSGeometry",
|
|
|
|
|
"NSObjCRuntime",
|
2024-08-11 23:14:18 +02:00
|
|
|
"NSOperation",
|
2024-04-18 17:34:19 +02:00
|
|
|
"NSString",
|
|
|
|
|
"NSProcessInfo",
|
|
|
|
|
"NSThread",
|
|
|
|
|
"NSSet",
|
2024-06-24 13:26:49 +02:00
|
|
|
] }
|
|
|
|
|
objc2-ui-kit = { version = "0.2.2", features = [
|
2024-05-27 14:49:22 +02:00
|
|
|
"UIApplication",
|
|
|
|
|
"UIDevice",
|
|
|
|
|
"UIEvent",
|
|
|
|
|
"UIGeometry",
|
|
|
|
|
"UIGestureRecognizer",
|
2024-08-19 22:04:29 +02:00
|
|
|
"UITextInput",
|
|
|
|
|
"UITextInputTraits",
|
2024-05-27 14:49:22 +02:00
|
|
|
"UIOrientation",
|
|
|
|
|
"UIPanGestureRecognizer",
|
|
|
|
|
"UIPinchGestureRecognizer",
|
|
|
|
|
"UIResponder",
|
|
|
|
|
"UIRotationGestureRecognizer",
|
|
|
|
|
"UIScreen",
|
|
|
|
|
"UIScreenMode",
|
|
|
|
|
"UITapGestureRecognizer",
|
|
|
|
|
"UITouch",
|
|
|
|
|
"UITraitCollection",
|
|
|
|
|
"UIView",
|
|
|
|
|
"UIViewController",
|
|
|
|
|
"UIWindow",
|
2024-06-24 13:26:49 +02:00
|
|
|
] }
|
2024-05-27 14:49:22 +02:00
|
|
|
|
2024-06-24 13:26:49 +02:00
|
|
|
# Windows
|
2023-05-28 20:02:59 +02:00
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
|
|
|
unicode-segmentation = "1.7.1"
|
2024-06-24 13:26:49 +02:00
|
|
|
windows-sys = { version = "0.52.0", features = [
|
2022-03-07 22:58:12 +01:00
|
|
|
"Win32_Devices_HumanInterfaceDevice",
|
|
|
|
|
"Win32_Foundation",
|
|
|
|
|
"Win32_Globalization",
|
|
|
|
|
"Win32_Graphics_Dwm",
|
|
|
|
|
"Win32_Graphics_Gdi",
|
|
|
|
|
"Win32_Media",
|
|
|
|
|
"Win32_System_Com_StructuredStorage",
|
|
|
|
|
"Win32_System_Com",
|
|
|
|
|
"Win32_System_LibraryLoader",
|
|
|
|
|
"Win32_System_Ole",
|
Improve waiting for messages on Windows
Previous version used [`SetTimer`] with `GetMessageW` for waiting.
The downside of UI timers like ones created by `SetTimer`,
is that they may be late by up to 15-16 ms.
To fix this behaviour, I added use of high resolution timers created by [`CreateWaitableTimerExW`] with the flag `CREATE_WAITABLE_TIMER_HIGH_RESOLUTION`.
In my previous experience, waiting on such timers have precision of roundly 0.5 ms which is the best available on Windows at the moment.
I use [`MsgWaitForMultipleObjectsEx`] to wait simultaneously for both timer and newly arriving events.
Unfortunately, high resolution timers are available only since Windows 10 1803. However:
1. Win 10 is already getting to the end of support, like all previous versions, so it is OK to rely on APIs introduced in it;
2. I use `dwMilliseconds` parameter of `MsgWaitForMultipleObjectsEx` as a fallback. It should perform not worse compared to waiting for events from `SetTimer`.
I also refactored code to remove event dispatching from function responsible for waiting for events. This provides more clear separations of concern and avoids unnecessary duplication of dispatching logic.
After [review] from @rib, I also moved the waiting itself from `wait_for_messages` method to separate function, so it is clearly seen that `wait_for_messages` do 3 things: notify app that we about to wait, wait, notify that we have new events.
I have tested behaviour using a egui app with Vulkan rendering with `VK_PRESENT_MODE_IMMEDIATE_KHR`, and older version consistently have twice less FPS than requested (e.g. 30 FPS when limit is 60 and 60 FPS when limit is 120) while newer version works more correctly (almost always 60 FPS when limit is 60, and only 5-10 frames missing when FPS is set to 120 or more).
Fixes https://github.com/rust-windowing/winit/issues/1610
[`CreateWaitableTimerExW`]: https://learn.microsoft.com/en-us/windows/win32/api/synchapi/nf-synchapi-createwaitabletimerexw
[`MsgWaitForMultipleObjectsEx`]: https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-msgwaitformultipleobjectsex
[`SetTimer`]: https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-settimer
[review]: https://github.com/rust-windowing/winit/pull/3950#discussion_r1800184479
2024-10-13 12:56:24 +02:00
|
|
|
"Win32_Security",
|
2022-03-07 22:58:12 +01:00
|
|
|
"Win32_System_SystemInformation",
|
|
|
|
|
"Win32_System_SystemServices",
|
|
|
|
|
"Win32_System_Threading",
|
|
|
|
|
"Win32_System_WindowsProgramming",
|
|
|
|
|
"Win32_UI_Accessibility",
|
|
|
|
|
"Win32_UI_Controls",
|
|
|
|
|
"Win32_UI_HiDpi",
|
|
|
|
|
"Win32_UI_Input_Ime",
|
|
|
|
|
"Win32_UI_Input_KeyboardAndMouse",
|
|
|
|
|
"Win32_UI_Input_Pointer",
|
|
|
|
|
"Win32_UI_Input_Touch",
|
|
|
|
|
"Win32_UI_Shell",
|
|
|
|
|
"Win32_UI_TextServices",
|
|
|
|
|
"Win32_UI_WindowsAndMessaging",
|
2024-06-24 13:26:49 +02:00
|
|
|
] }
|
2015-08-21 11:49:10 -04:00
|
|
|
|
2024-06-24 13:26:49 +02:00
|
|
|
# Linux
|
|
|
|
|
[target.'cfg(all(unix, not(any(target_os = "redox", target_family = "wasm", target_os = "android", target_vendor = "apple"))))'.dependencies]
|
2024-02-08 13:28:26 +04:00
|
|
|
ahash = { version = "0.8.7", features = ["no-rng"], optional = true }
|
2023-07-12 00:59:12 -07:00
|
|
|
bytemuck = { version = "1.13.1", default-features = false, optional = true }
|
2024-07-16 12:58:03 +03:00
|
|
|
calloop = "0.13.0"
|
2023-01-06 10:26:57 +00:00
|
|
|
libc = "0.2.64"
|
2023-10-15 06:49:57 +04:00
|
|
|
memmap2 = { version = "0.9.0", optional = true }
|
2023-01-06 10:26:57 +00:00
|
|
|
percent-encoding = { version = "2.0", optional = true }
|
2024-04-18 19:43:39 +02:00
|
|
|
rustix = { version = "0.38.4", default-features = false, features = [
|
|
|
|
|
"std",
|
|
|
|
|
"system",
|
|
|
|
|
"thread",
|
|
|
|
|
"process",
|
|
|
|
|
] }
|
2024-07-16 12:58:03 +03:00
|
|
|
sctk = { package = "smithay-client-toolkit", version = "0.19.2", default-features = false, features = [
|
2024-04-18 19:43:39 +02:00
|
|
|
"calloop",
|
|
|
|
|
], optional = true }
|
2024-07-16 12:58:03 +03:00
|
|
|
sctk-adwaita = { version = "0.10.1", default-features = false, optional = true }
|
|
|
|
|
wayland-backend = { version = "0.3.5", default-features = false, features = [
|
2024-04-18 19:43:39 +02:00
|
|
|
"client_system",
|
|
|
|
|
], optional = true }
|
2024-07-16 12:58:03 +03:00
|
|
|
wayland-client = { version = "0.31.4", optional = true }
|
|
|
|
|
wayland-protocols = { version = "0.32.2", features = ["staging"], optional = true }
|
|
|
|
|
wayland-protocols-plasma = { version = "0.3.2", features = ["client"], optional = true }
|
2024-03-05 11:41:21 +01:00
|
|
|
x11-dl = { version = "2.19.1", optional = true }
|
2024-04-18 19:43:39 +02:00
|
|
|
x11rb = { version = "0.13.0", default-features = false, features = [
|
|
|
|
|
"allow-unsafe-code",
|
2024-08-22 19:25:20 -07:00
|
|
|
"cursor",
|
2024-04-18 19:43:39 +02:00
|
|
|
"dl-libxcb",
|
|
|
|
|
"randr",
|
|
|
|
|
"resource_manager",
|
2024-07-21 18:39:43 +02:00
|
|
|
"sync",
|
2024-04-18 19:43:39 +02:00
|
|
|
"xinput",
|
|
|
|
|
"xkb",
|
|
|
|
|
], optional = true }
|
2024-02-18 01:39:42 +04:00
|
|
|
xkbcommon-dl = "0.4.2"
|
2019-02-12 20:47:31 -05:00
|
|
|
|
2024-06-24 13:26:49 +02:00
|
|
|
# Orbital
|
2023-01-05 06:58:08 -07:00
|
|
|
[target.'cfg(target_os = "redox")'.dependencies]
|
2024-01-10 20:05:52 +01:00
|
|
|
orbclient = { version = "0.3.47", default-features = false }
|
2024-10-21 21:33:51 +00:00
|
|
|
redox_syscall = "0.5.7"
|
2023-01-05 06:58:08 -07:00
|
|
|
|
2024-06-24 13:26:49 +02:00
|
|
|
# Web
|
|
|
|
|
[target.'cfg(target_family = "wasm")'.dependencies]
|
2024-08-13 21:54:03 +02:00
|
|
|
js-sys = "0.3.70"
|
2024-01-12 11:51:19 +01:00
|
|
|
pin-project = "1"
|
2024-08-13 21:54:03 +02:00
|
|
|
wasm-bindgen = "0.2.93"
|
|
|
|
|
wasm-bindgen-futures = "0.4.43"
|
2024-01-14 18:37:32 +01:00
|
|
|
web-time = "1"
|
2024-08-13 21:54:03 +02:00
|
|
|
web_sys = { package = "web-sys", version = "0.3.70", features = [
|
2023-08-25 21:40:21 +02:00
|
|
|
"AbortController",
|
|
|
|
|
"AbortSignal",
|
2024-07-26 17:07:20 +02:00
|
|
|
"Blob",
|
2024-06-20 23:07:42 +02:00
|
|
|
"BlobPropertyBag",
|
2024-07-26 17:07:20 +02:00
|
|
|
"console",
|
2019-12-31 14:39:33 -08:00
|
|
|
"CssStyleDeclaration",
|
2024-07-26 17:07:20 +02:00
|
|
|
"Document",
|
2024-01-12 11:51:19 +01:00
|
|
|
"DomException",
|
2024-07-26 17:07:20 +02:00
|
|
|
"DomRect",
|
2023-06-14 09:43:53 +02:00
|
|
|
"DomRectReadOnly",
|
2024-07-26 17:07:20 +02:00
|
|
|
"Element",
|
|
|
|
|
"Event",
|
2019-06-03 22:51:01 -07:00
|
|
|
"EventTarget",
|
|
|
|
|
"FocusEvent",
|
|
|
|
|
"HtmlCanvasElement",
|
2019-06-04 23:08:09 -07:00
|
|
|
"HtmlElement",
|
2024-11-21 17:37:03 +01:00
|
|
|
"HtmlHtmlElement",
|
2023-12-22 22:20:41 +01:00
|
|
|
"HtmlImageElement",
|
2024-04-18 17:34:19 +02:00
|
|
|
"ImageBitmap",
|
2023-12-16 22:02:17 +02:00
|
|
|
"ImageBitmapOptions",
|
|
|
|
|
"ImageBitmapRenderingContext",
|
2024-07-26 17:07:20 +02:00
|
|
|
"ImageData",
|
2023-07-10 02:02:38 +02:00
|
|
|
"IntersectionObserver",
|
|
|
|
|
"IntersectionObserverEntry",
|
2019-06-03 22:51:01 -07:00
|
|
|
"KeyboardEvent",
|
2020-02-17 20:25:27 +01:00
|
|
|
"MediaQueryList",
|
2023-08-25 21:40:21 +02:00
|
|
|
"MessageChannel",
|
|
|
|
|
"MessagePort",
|
2024-07-26 17:07:20 +02:00
|
|
|
"Navigator",
|
|
|
|
|
"Node",
|
2024-07-23 20:33:10 +02:00
|
|
|
"OrientationLockType",
|
|
|
|
|
"OrientationType",
|
2023-06-28 12:54:21 +02:00
|
|
|
"PageTransitionEvent",
|
2024-07-23 20:33:10 +02:00
|
|
|
"Permissions",
|
|
|
|
|
"PermissionState",
|
|
|
|
|
"PermissionStatus",
|
2019-06-03 22:51:01 -07:00
|
|
|
"PointerEvent",
|
2023-12-16 22:02:17 +02:00
|
|
|
"PremultiplyAlpha",
|
2023-06-14 09:43:53 +02:00
|
|
|
"ResizeObserver",
|
|
|
|
|
"ResizeObserverBoxOptions",
|
|
|
|
|
"ResizeObserverEntry",
|
|
|
|
|
"ResizeObserverOptions",
|
|
|
|
|
"ResizeObserverSize",
|
2024-07-26 17:07:20 +02:00
|
|
|
"Screen",
|
2024-07-23 20:33:10 +02:00
|
|
|
"ScreenOrientation",
|
2024-07-26 17:07:20 +02:00
|
|
|
"Url",
|
2023-07-10 02:02:38 +02:00
|
|
|
"VisibilityState",
|
2023-12-16 22:02:17 +02:00
|
|
|
"WheelEvent",
|
2024-07-26 17:07:20 +02:00
|
|
|
"Window",
|
|
|
|
|
"Worker",
|
|
|
|
|
] }
|
2019-12-03 18:16:06 +01:00
|
|
|
|
2024-01-12 11:51:19 +01:00
|
|
|
[target.'cfg(all(target_family = "wasm", target_feature = "atomics"))'.dependencies]
|
|
|
|
|
atomic-waker = "1"
|
|
|
|
|
concurrent-queue = { version = "2", default-features = false }
|
|
|
|
|
|
2023-03-16 20:49:59 +01:00
|
|
|
[target.'cfg(target_family = "wasm")'.dev-dependencies]
|
2024-04-18 19:43:39 +02:00
|
|
|
console_error_panic_hook = "0.1"
|
|
|
|
|
tracing-web = "0.1"
|
2024-07-20 21:20:18 +02:00
|
|
|
wasm-bindgen-test = "0.3"
|
2022-02-25 22:57:46 +11:00
|
|
|
|
2024-02-26 14:52:00 +01:00
|
|
|
[[example]]
|
|
|
|
|
doc-scrape-examples = true
|
|
|
|
|
name = "window"
|
2024-08-04 00:18:39 +02:00
|
|
|
|
|
|
|
|
[[example]]
|
|
|
|
|
name = "child_window"
|
2024-02-26 14:52:00 +01:00
|
|
|
|
2022-02-25 22:57:46 +11:00
|
|
|
[workspace]
|
2024-04-18 19:43:39 +02:00
|
|
|
members = ["dpi"]
|
2024-02-26 14:52:00 +01:00
|
|
|
resolver = "2"
|
2024-01-05 15:05:12 +01:00
|
|
|
|
2024-02-26 14:52:00 +01:00
|
|
|
[workspace.package]
|
|
|
|
|
edition = "2021"
|
|
|
|
|
license = "Apache-2.0"
|
|
|
|
|
repository = "https://github.com/rust-windowing/winit"
|
2024-06-20 11:09:15 +02:00
|
|
|
rust-version = "1.73"
|
2024-02-26 14:52:00 +01:00
|
|
|
|
|
|
|
|
[workspace.dependencies]
|
|
|
|
|
mint = "0.5.6"
|
|
|
|
|
serde = { version = "1", features = ["serde_derive"] }
|