diff --git a/native/src/window/event.rs b/native/src/window/event.rs index b177141a..fc746781 100644 --- a/native/src/window/event.rs +++ b/native/src/window/event.rs @@ -3,7 +3,7 @@ use std::path::PathBuf; /// A window-related event. #[derive(PartialEq, Clone, Debug)] pub enum Event { - /// A window was resized + /// A window was resized. Resized { /// The new width of the window (in units) width: u32, @@ -12,6 +12,12 @@ pub enum Event { height: u32, }, + /// 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 diff --git a/winit/src/conversion.rs b/winit/src/conversion.rs index f073c474..0e04b35d 100644 --- a/winit/src/conversion.rs +++ b/winit/src/conversion.rs @@ -109,6 +109,11 @@ pub fn window_event( WindowEvent::ModifiersChanged(new_modifiers) => Some(Event::Keyboard( keyboard::Event::ModifiersChanged(self::modifiers(*new_modifiers)), )), + WindowEvent::Focused(focused) => Some(Event::Window(if *focused { + window::Event::Focused + } else { + window::Event::Unfocused + })), WindowEvent::HoveredFile(path) => { Some(Event::Window(window::Event::FileHovered(path.clone()))) }