add window::Id to Event and Action

This commit is contained in:
Richard 2022-09-19 20:59:37 -03:00 committed by bungoboingo
parent 974cc6b6f5
commit 0ad53a3d5c
11 changed files with 99 additions and 78 deletions

View file

@ -15,11 +15,15 @@ pub fn drag<Message>() -> Command<Message> {
}
/// Resizes the window to the given logical dimensions.
pub fn resize<Message>(width: u32, height: u32) -> Command<Message> {
Command::single(command::Action::Window(window::Action::Resize {
width,
height,
}))
pub fn resize<Message>(
id: window::Id,
width: u32,
height: u32,
) -> Command<Message> {
Command::single(command::Action::Window(
id,
window::Action::Resize { width, height },
))
}
/// Sets the window to maximized or back.
@ -33,13 +37,13 @@ pub fn minimize<Message>(value: bool) -> Command<Message> {
}
/// Moves a window to the given logical coordinates.
pub fn move_to<Message>(x: i32, y: i32) -> Command<Message> {
Command::single(command::Action::Window(window::Action::Move { x, y }))
pub fn move_to<Message>(id: window::Id, x: i32, y: i32) -> Command<Message> {
Command::single(command::Action::Window(id, window::Action::Move { x, y }))
}
/// Sets the [`Mode`] of the window.
pub fn set_mode<Message>(mode: Mode) -> Command<Message> {
Command::single(command::Action::Window(window::Action::SetMode(mode)))
pub fn set_mode<Message>(id: window::Id, mode: Mode) -> Command<Message> {
Command::single(command::Action::Window(id, window::Action::SetMode(mode)))
}
/// Sets the window to maximized or back.
@ -49,9 +53,11 @@ pub fn toggle_maximize<Message>() -> Command<Message> {
/// Fetches the current [`Mode`] of the window.
pub fn fetch_mode<Message>(
id: window::Id,
f: impl FnOnce(Mode) -> Message + 'static,
) -> Command<Message> {
Command::single(command::Action::Window(window::Action::FetchMode(
Box::new(f),
)))
Command::single(command::Action::Window(
id,
window::Action::FetchMode(Box::new(f)),
))
}