This allows us to introduce a platform-specific `Action` to both `iced_native` and `iced_web` and remove the `Clipboard` from `Application::update` to maintain purity. Additionally, this should let us implement further actions to let users query and modify the shell environment (e.g. window, clipboard, and more!)
51 lines
1.3 KiB
Rust
51 lines
1.3 KiB
Rust
use std::path::PathBuf;
|
|
|
|
/// A window-related event.
|
|
#[derive(PartialEq, Clone, Debug)]
|
|
pub enum Event {
|
|
/// A window was moved.
|
|
Moved {
|
|
/// The new logical x location of the window
|
|
x: i32,
|
|
/// The new logical y location of the window
|
|
y: i32,
|
|
},
|
|
|
|
/// A window was resized.
|
|
Resized {
|
|
/// The new logical width of the window
|
|
width: u32,
|
|
/// The new logical height of the window
|
|
height: u32,
|
|
},
|
|
|
|
/// The user has requested for the window to close.
|
|
///
|
|
/// Usually, you will want to terminate the execution whenever this event
|
|
/// occurs.
|
|
CloseRequested,
|
|
|
|
/// A window was focused.
|
|
Focused,
|
|
|
|
/// A window was unfocused.
|
|
Unfocused,
|
|
|
|
/// A file is being hovered over the window.
|
|
///
|
|
/// When the user hovers multiple files at once, this event will be emitted
|
|
/// for each file separately.
|
|
FileHovered(PathBuf),
|
|
|
|
/// A file has beend dropped into the window.
|
|
///
|
|
/// When the user drops multiple files at once, this event will be emitted
|
|
/// for each file separately.
|
|
FileDropped(PathBuf),
|
|
|
|
/// A file was hovered, but has exited the window.
|
|
///
|
|
/// There will be a single `FilesHoveredLeft` event triggered even if
|
|
/// multiple files were hovered.
|
|
FilesHoveredLeft,
|
|
}
|