Merge branch 'master' into feature/event-subscriptions

This commit is contained in:
Héctor Ramón Jiménez 2019-12-08 06:53:54 +01:00
commit 9b84b6e403
13 changed files with 510 additions and 62 deletions

View file

@ -334,6 +334,7 @@ pub trait Application: Sized {
winit::event::KeyboardInput {
virtual_keycode: Some(virtual_keycode),
state,
modifiers,
..
},
..
@ -349,6 +350,7 @@ pub trait Application: Sized {
events.push(Event::Keyboard(keyboard::Event::Input {
key_code: conversion::key_code(virtual_keycode),
state: conversion::button_state(state),
modifiers: conversion::modifiers_state(modifiers),
}));
}
WindowEvent::CloseRequested => {

View file

@ -3,7 +3,10 @@
//! [`winit`]: https://github.com/rust-windowing/winit
//! [`iced_native`]: https://github.com/hecrj/iced/tree/master/native
use crate::{
input::{keyboard::KeyCode, mouse, ButtonState},
input::{
keyboard::{KeyCode, ModifiersState},
mouse, ButtonState,
},
MouseCursor,
};
@ -47,6 +50,21 @@ pub fn button_state(element_state: winit::event::ElementState) -> ButtonState {
}
}
/// Convert some `ModifiersState` from [`winit`] to an [`iced_native`] modifiers state.
///
/// [`winit`]: https://github.com/rust-windowing/winit
/// [`iced_native`]: https://github.com/hecrj/iced/tree/master/native
pub fn modifiers_state(
modifiers: winit::event::ModifiersState,
) -> ModifiersState {
ModifiersState {
shift: modifiers.shift,
control: modifiers.ctrl,
alt: modifiers.alt,
logo: modifiers.logo,
}
}
/// Convert a `VirtualKeyCode` from [`winit`] to an [`iced_native`] key code.
///
/// [`winit`]: https://github.com/rust-windowing/winit