diff options
author | 2019-12-08 06:53:54 +0100 | |
---|---|---|
committer | 2019-12-08 06:53:54 +0100 | |
commit | 9b84b6e40336543380312aa1b2b1091791ec25cd (patch) | |
tree | c14ed67cfc38e1a22617716c361e4684a64e7fac /winit/src | |
parent | 48145ba51e045f8b0b4788f3a75d20b9d9b7e6ad (diff) | |
parent | f942fc3b68ecbbe136c54922109c7e2e4732735b (diff) | |
download | iced-9b84b6e40336543380312aa1b2b1091791ec25cd.tar.gz iced-9b84b6e40336543380312aa1b2b1091791ec25cd.tar.bz2 iced-9b84b6e40336543380312aa1b2b1091791ec25cd.zip |
Merge branch 'master' into feature/event-subscriptions
Diffstat (limited to 'winit/src')
-rw-r--r-- | winit/src/application.rs | 2 | ||||
-rw-r--r-- | winit/src/conversion.rs | 20 |
2 files changed, 21 insertions, 1 deletions
diff --git a/winit/src/application.rs b/winit/src/application.rs index 62970810..26ebdb05 100644 --- a/winit/src/application.rs +++ b/winit/src/application.rs @@ -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 => { diff --git a/winit/src/conversion.rs b/winit/src/conversion.rs index 03d583fb..0537d853 100644 --- a/winit/src/conversion.rs +++ b/winit/src/conversion.rs @@ -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 |