diff options
author | 2020-01-16 07:18:17 +0100 | |
---|---|---|
committer | 2020-01-16 07:18:17 +0100 | |
commit | b3106738eba09a7dec98f28738ab29996654491f (patch) | |
tree | 15af856db58af15c281d966a8d24e9a11426dc89 | |
parent | f73bacb454615566abdbf45065e3fd11a3276d93 (diff) | |
download | iced-b3106738eba09a7dec98f28738ab29996654491f.tar.gz iced-b3106738eba09a7dec98f28738ab29996654491f.tar.bz2 iced-b3106738eba09a7dec98f28738ab29996654491f.zip |
Produce new window file events in `iced_winit`
-rw-r--r-- | native/src/window/event.rs | 6 | ||||
-rw-r--r-- | winit/src/application.rs | 31 |
2 files changed, 24 insertions, 13 deletions
diff --git a/native/src/window/event.rs b/native/src/window/event.rs index c913385b..b177141a 100644 --- a/native/src/window/event.rs +++ b/native/src/window/event.rs @@ -26,7 +26,7 @@ pub enum Event { /// A file was hovered, but has exited the window. /// - /// There will be a single `FilesLeft` event triggered even if multiple - /// files were hovered. - FilesLeft, + /// There will be a single `FilesHoveredLeft` event triggered even if + /// multiple files were hovered. + FilesHoveredLeft, } diff --git a/winit/src/application.rs b/winit/src/application.rs index 406443d3..42511fb0 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -302,6 +302,18 @@ pub trait Application: Sized { event: window_event, .. } => match window_event { + WindowEvent::Resized(new_size) => { + events.push(Event::Window(window::Event::Resized { + width: new_size.width.round() as u32, + height: new_size.height.round() as u32, + })); + + size = new_size; + resized = true; + } + WindowEvent::CloseRequested => { + *control_flow = ControlFlow::Exit; + } WindowEvent::CursorMoved { position, .. } => { events.push(Event::Mouse(mouse::Event::CursorMoved { x: position.x as f32, @@ -370,17 +382,16 @@ pub trait Application: Sized { modifiers: conversion::modifiers_state(modifiers), })); } - WindowEvent::CloseRequested => { - *control_flow = ControlFlow::Exit; + WindowEvent::HoveredFile(path) => { + events + .push(Event::Window(window::Event::FileHovered(path))); } - WindowEvent::Resized(new_size) => { - events.push(Event::Window(window::Event::Resized { - width: new_size.width.round() as u32, - height: new_size.height.round() as u32, - })); - - size = new_size; - resized = true; + WindowEvent::DroppedFile(path) => { + events + .push(Event::Window(window::Event::FileDropped(path))); + } + WindowEvent::HoveredFileCancelled => { + events.push(Event::Window(window::Event::FilesHoveredLeft)); } _ => {} }, |