mirror of
https://github.com/rust-windowing/winit.git
synced 2026-08-29 04:40:04 -04:00
This commit implements a new API for drag and drop, with a `DataTransfer` type which abstracts over the various clipboard/drag and drop APIs across different platforms. I built this on top of #2429 although admittedly I ended up removing pretty much all of their work while I was reworking the design. This is being built in order to help support [drag-and-drop work](https://github.com/slint-ui/slint/issues/1967) in Slint's winit backend. As part of that work, I did extensive research on how drag-and-drop and clipboard APIs are implemented across different platforms, and wrote a (still WIP) research document that can be found [here](https://gist.github.com/eira-fransham/06750cf8d25ade08d362a0ca8dfafe06). The new API is inspired by the browser's [`DataTransfer`](https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer) API.
41 lines
1.0 KiB
TOML
41 lines
1.0 KiB
TOML
[package]
|
|
authors = ["The winit contributors", "Kirill Chibisov <contact@kchibisov.com>"]
|
|
categories = ["gui"]
|
|
description = "winit core API."
|
|
documentation = "https://docs.rs/winit-core"
|
|
edition.workspace = true
|
|
keywords = ["windowing"]
|
|
license.workspace = true
|
|
name = "winit-core"
|
|
readme = "README.md"
|
|
repository.workspace = true
|
|
rust-version.workspace = true
|
|
version.workspace = true
|
|
|
|
[features]
|
|
serde = [
|
|
"dep:serde",
|
|
"bitflags/serde",
|
|
"cursor-icon/serde",
|
|
"dpi/serde",
|
|
"keyboard-types/serde",
|
|
"smol_str/serde",
|
|
]
|
|
|
|
[dependencies]
|
|
bitflags.workspace = true
|
|
cursor-icon.workspace = true
|
|
dpi.workspace = true
|
|
keyboard-types.workspace = true
|
|
rwh_06.workspace = true
|
|
serde = { workspace = true, optional = true }
|
|
smol_str.workspace = true
|
|
url.workspace = true
|
|
|
|
# `wasm32-unknown-unknown` and `wasm32-none`, but not `wasm32-wasi`.
|
|
[target.'cfg(all(target_family = "wasm", any(target_os = "unknown", target_os = "none")))'.dependencies]
|
|
web-time.workspace = true
|
|
|
|
[dev-dependencies]
|
|
winit.workspace = true
|