Make Command implementations platform-specific

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!)
This commit is contained in:
Héctor Ramón Jiménez 2021-09-01 19:21:49 +07:00
parent b7b7741578
commit 76698ff2b5
No known key found for this signature in database
GPG key ID: 140CC052C94F138E
34 changed files with 363 additions and 342 deletions

View file

@ -0,0 +1,18 @@
/// An operation to be performed on some window.
#[derive(Debug)]
pub enum Action {
/// Resize the window.
Resize {
/// The new logical width of the window
width: u32,
/// The new logical height of the window
height: u32,
},
/// Move the window.
Move {
/// The new logical x location of the window
x: i32,
/// The new logical y location of the window
y: i32,
},
}

View file

@ -13,10 +13,9 @@ pub enum Event {
/// A window was resized.
Resized {
/// The new width of the window (in units)
/// The new logical width of the window
width: u32,
/// The new height of the window (in units)
/// The new logical height of the window
height: u32,
},