Merge pull request #162 from hecrj/feature/window-file-events
Window file events
This commit is contained in:
commit
6ca5e6184f
6 changed files with 50 additions and 18 deletions
|
|
@ -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));
|
||||
}
|
||||
_ => {}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ impl Pool {
|
|||
.values_mut()
|
||||
.filter_map(|connection| connection.listener.as_mut())
|
||||
.for_each(|listener| {
|
||||
if let Err(error) = listener.try_send(event) {
|
||||
if let Err(error) = listener.try_send(event.clone()) {
|
||||
log::error!(
|
||||
"Error sending event to subscription: {:?}",
|
||||
error
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue