diff options
Diffstat (limited to 'winit/src/application.rs')
| -rw-r--r-- | winit/src/application.rs | 38 | 
1 files changed, 25 insertions, 13 deletions
| diff --git a/winit/src/application.rs b/winit/src/application.rs index 9e8eaebb..a14924ac 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -209,9 +209,10 @@ pub trait Application: Sized {                  );                  debug.event_processing_started(); -                events.iter().for_each(|event| { -                    subscription_pool.broadcast_event(*event) -                }); +                events +                    .iter() +                    .cloned() +                    .for_each(|event| subscription_pool.broadcast_event(event));                  let mut messages = user_interface.update(                      &renderer, @@ -330,6 +331,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, @@ -398,17 +411,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));                  }                  _ => {}              }, | 
