Skip to content

Commit 37eab2c

Browse files
PaulDancesunjay
authored andcommitted
Fix #205: update to latest glutin version
Some breaking changes were performed to some of winit's event enumerations in its latest version as one of glutin's dependencies, so some match expressions in the `event` module broke down. This fixes them notably by using the enumeration name in match arms in order to generate compilation errors instead of warnings if this happens again. Signed-off-by: Paul Mabileau <paulmabileau@hotmail.fr>
1 parent a6fde5c commit 37eab2c

File tree

1 file changed

+122
-179
lines changed

1 file changed

+122
-179
lines changed

src/event.rs

Lines changed: 122 additions & 179 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
use serde::{Serialize, Deserialize};
1212
use glutin::{
1313
dpi::{LogicalSize, PhysicalPosition},
14-
event::{self as glutin_event, WindowEvent, KeyboardInput},
14+
event::{self as glutin_event, ElementState, KeyboardInput, VirtualKeyCode, WindowEvent},
1515
};
1616

1717
use crate::Point;
@@ -113,10 +113,10 @@ pub enum PressedState {
113113

114114
impl PressedState {
115115
#[cfg_attr(any(feature = "test", test), allow(dead_code))]
116-
fn from_state(state: glutin_event::ElementState) -> PressedState {
116+
fn from_state(state: ElementState) -> PressedState {
117117
match state {
118-
glutin_event::ElementState::Pressed => PressedState::Pressed,
119-
glutin_event::ElementState::Released => PressedState::Released,
118+
ElementState::Pressed => PressedState::Pressed,
119+
ElementState::Released => PressedState::Released,
120120
}
121121
}
122122
}
@@ -262,179 +262,123 @@ pub enum Key {
262262

263263
impl Key {
264264
#[cfg_attr(any(feature = "test", test), allow(dead_code))]
265-
fn from_keycode(key: glutin_event::VirtualKeyCode) -> Option<Self> {
266-
use glutin_event::VirtualKeyCode::*;
265+
fn from_keycode(key: VirtualKeyCode) -> Option<Self> {
267266
Some(match key {
268-
Key1 => Key::Num1,
269-
Key2 => Key::Num2,
270-
Key3 => Key::Num3,
271-
Key4 => Key::Num4,
272-
Key5 => Key::Num5,
273-
Key6 => Key::Num6,
274-
Key7 => Key::Num7,
275-
Key8 => Key::Num8,
276-
Key9 => Key::Num9,
277-
Key0 => Key::Num0,
278-
279-
A => Key::A,
280-
B => Key::B,
281-
C => Key::C,
282-
D => Key::D,
283-
E => Key::E,
284-
F => Key::F,
285-
G => Key::G,
286-
H => Key::H,
287-
I => Key::I,
288-
J => Key::J,
289-
K => Key::K,
290-
L => Key::L,
291-
M => Key::M,
292-
N => Key::N,
293-
O => Key::O,
294-
P => Key::P,
295-
Q => Key::Q,
296-
R => Key::R,
297-
S => Key::S,
298-
T => Key::T,
299-
U => Key::U,
300-
V => Key::V,
301-
W => Key::W,
302-
X => Key::X,
303-
Y => Key::Y,
304-
Z => Key::Z,
305-
306-
Escape => Key::Esc,
307-
308-
F1 => Key::F1,
309-
F2 => Key::F2,
310-
F3 => Key::F3,
311-
F4 => Key::F4,
312-
F5 => Key::F5,
313-
F6 => Key::F6,
314-
F7 => Key::F7,
315-
F8 => Key::F8,
316-
F9 => Key::F9,
317-
F10 => Key::F10,
318-
F11 => Key::F11,
319-
F12 => Key::F12,
320-
F13 => Key::F13,
321-
F14 => Key::F14,
322-
F15 => Key::F15,
323-
F16 => Key::F16,
324-
F17 => Key::F17,
325-
F18 => Key::F18,
326-
F19 => Key::F19,
327-
F20 => Key::F20,
328-
F21 => Key::F21,
329-
F22 => Key::F22,
330-
F23 => Key::F23,
331-
F24 => Key::F24,
332-
333-
Home => Key::Home,
334-
Delete => Key::Delete,
335-
End => Key::End,
336-
PageDown => Key::PageDown,
337-
PageUp => Key::PageUp,
338-
Back => Key::Backspace,
339-
Return => Key::Return,
340-
Space => Key::Space,
341-
342-
Left => Key::LeftArrow,
343-
Up => Key::UpArrow,
344-
Right => Key::RightArrow,
345-
Down => Key::DownArrow,
346-
347-
Numpad0 => Key::Numpad0,
348-
Numpad1 => Key::Numpad1,
349-
Numpad2 => Key::Numpad2,
350-
Numpad3 => Key::Numpad3,
351-
Numpad4 => Key::Numpad4,
352-
Numpad5 => Key::Numpad5,
353-
Numpad6 => Key::Numpad6,
354-
Numpad7 => Key::Numpad7,
355-
Numpad8 => Key::Numpad8,
356-
Numpad9 => Key::Numpad9,
357-
358-
Add => Key::Plus,
359-
Apostrophe => Key::Apostrophe,
360-
At => Key::At,
361-
Backslash => Key::Backslash,
362-
Colon => Key::Colon,
363-
Comma => Key::Comma,
364-
Decimal => Key::Decimal,
365-
Divide => Key::Divide,
366-
Equals => Key::Equals,
367-
Grave => Key::Backtick,
368-
LBracket => Key::LeftBracket,
369-
Minus => Key::Minus,
370-
Multiply => Key::Multiply,
371-
NumpadComma => Key::NumpadComma,
372-
NumpadEnter => Key::NumpadEnter,
373-
NumpadEquals => Key::NumpadEquals,
374-
Period => Key::Period,
375-
RBracket => Key::RightBracket,
376-
Semicolon => Key::Semicolon,
377-
Slash => Key::Slash,
378-
Subtract => Key::Minus,
379-
Tab => Key::Tab,
267+
VirtualKeyCode::Key1 => Key::Num1,
268+
VirtualKeyCode::Key2 => Key::Num2,
269+
VirtualKeyCode::Key3 => Key::Num3,
270+
VirtualKeyCode::Key4 => Key::Num4,
271+
VirtualKeyCode::Key5 => Key::Num5,
272+
VirtualKeyCode::Key6 => Key::Num6,
273+
VirtualKeyCode::Key7 => Key::Num7,
274+
VirtualKeyCode::Key8 => Key::Num8,
275+
VirtualKeyCode::Key9 => Key::Num9,
276+
VirtualKeyCode::Key0 => Key::Num0,
277+
278+
VirtualKeyCode::A => Key::A,
279+
VirtualKeyCode::B => Key::B,
280+
VirtualKeyCode::C => Key::C,
281+
VirtualKeyCode::D => Key::D,
282+
VirtualKeyCode::E => Key::E,
283+
VirtualKeyCode::F => Key::F,
284+
VirtualKeyCode::G => Key::G,
285+
VirtualKeyCode::H => Key::H,
286+
VirtualKeyCode::I => Key::I,
287+
VirtualKeyCode::J => Key::J,
288+
VirtualKeyCode::K => Key::K,
289+
VirtualKeyCode::L => Key::L,
290+
VirtualKeyCode::M => Key::M,
291+
VirtualKeyCode::N => Key::N,
292+
VirtualKeyCode::O => Key::O,
293+
VirtualKeyCode::P => Key::P,
294+
VirtualKeyCode::Q => Key::Q,
295+
VirtualKeyCode::R => Key::R,
296+
VirtualKeyCode::S => Key::S,
297+
VirtualKeyCode::T => Key::T,
298+
VirtualKeyCode::U => Key::U,
299+
VirtualKeyCode::V => Key::V,
300+
VirtualKeyCode::W => Key::W,
301+
VirtualKeyCode::X => Key::X,
302+
VirtualKeyCode::Y => Key::Y,
303+
VirtualKeyCode::Z => Key::Z,
304+
305+
VirtualKeyCode::Escape => Key::Esc,
306+
307+
VirtualKeyCode::F1 => Key::F1,
308+
VirtualKeyCode::F2 => Key::F2,
309+
VirtualKeyCode::F3 => Key::F3,
310+
VirtualKeyCode::F4 => Key::F4,
311+
VirtualKeyCode::F5 => Key::F5,
312+
VirtualKeyCode::F6 => Key::F6,
313+
VirtualKeyCode::F7 => Key::F7,
314+
VirtualKeyCode::F8 => Key::F8,
315+
VirtualKeyCode::F9 => Key::F9,
316+
VirtualKeyCode::F10 => Key::F10,
317+
VirtualKeyCode::F11 => Key::F11,
318+
VirtualKeyCode::F12 => Key::F12,
319+
VirtualKeyCode::F13 => Key::F13,
320+
VirtualKeyCode::F14 => Key::F14,
321+
VirtualKeyCode::F15 => Key::F15,
322+
VirtualKeyCode::F16 => Key::F16,
323+
VirtualKeyCode::F17 => Key::F17,
324+
VirtualKeyCode::F18 => Key::F18,
325+
VirtualKeyCode::F19 => Key::F19,
326+
VirtualKeyCode::F20 => Key::F20,
327+
VirtualKeyCode::F21 => Key::F21,
328+
VirtualKeyCode::F22 => Key::F22,
329+
VirtualKeyCode::F23 => Key::F23,
330+
VirtualKeyCode::F24 => Key::F24,
331+
332+
VirtualKeyCode::Home => Key::Home,
333+
VirtualKeyCode::Delete => Key::Delete,
334+
VirtualKeyCode::End => Key::End,
335+
VirtualKeyCode::PageDown => Key::PageDown,
336+
VirtualKeyCode::PageUp => Key::PageUp,
337+
VirtualKeyCode::Back => Key::Backspace,
338+
VirtualKeyCode::Return => Key::Return,
339+
VirtualKeyCode::Space => Key::Space,
340+
341+
VirtualKeyCode::Left => Key::LeftArrow,
342+
VirtualKeyCode::Up => Key::UpArrow,
343+
VirtualKeyCode::Right => Key::RightArrow,
344+
VirtualKeyCode::Down => Key::DownArrow,
345+
346+
VirtualKeyCode::Numpad0 => Key::Numpad0,
347+
VirtualKeyCode::Numpad1 => Key::Numpad1,
348+
VirtualKeyCode::Numpad2 => Key::Numpad2,
349+
VirtualKeyCode::Numpad3 => Key::Numpad3,
350+
VirtualKeyCode::Numpad4 => Key::Numpad4,
351+
VirtualKeyCode::Numpad5 => Key::Numpad5,
352+
VirtualKeyCode::Numpad6 => Key::Numpad6,
353+
VirtualKeyCode::Numpad7 => Key::Numpad7,
354+
VirtualKeyCode::Numpad8 => Key::Numpad8,
355+
VirtualKeyCode::Numpad9 => Key::Numpad9,
356+
357+
VirtualKeyCode::Apostrophe => Key::Apostrophe,
358+
VirtualKeyCode::At => Key::At,
359+
VirtualKeyCode::Backslash => Key::Backslash,
360+
VirtualKeyCode::Colon => Key::Colon,
361+
VirtualKeyCode::Comma => Key::Comma,
362+
VirtualKeyCode::Equals => Key::Equals,
363+
VirtualKeyCode::Grave => Key::Backtick,
364+
VirtualKeyCode::LBracket => Key::LeftBracket,
365+
VirtualKeyCode::Minus => Key::Minus,
366+
VirtualKeyCode::NumpadAdd => Key::Plus,
367+
VirtualKeyCode::NumpadComma => Key::NumpadComma,
368+
VirtualKeyCode::NumpadDecimal => Key::Decimal,
369+
VirtualKeyCode::NumpadDivide => Key::Divide,
370+
VirtualKeyCode::NumpadEnter => Key::NumpadEnter,
371+
VirtualKeyCode::NumpadEquals => Key::NumpadEquals,
372+
VirtualKeyCode::NumpadMultiply => Key::Multiply,
373+
VirtualKeyCode::NumpadSubtract => Key::Minus,
374+
VirtualKeyCode::Period => Key::Period,
375+
VirtualKeyCode::RBracket => Key::RightBracket,
376+
VirtualKeyCode::Semicolon => Key::Semicolon,
377+
VirtualKeyCode::Slash => Key::Slash,
378+
VirtualKeyCode::Tab => Key::Tab,
380379

381380
// Unsupported keys (could be changed in the future)
382-
Snapshot |
383-
Scroll |
384-
Pause |
385-
Insert |
386-
Compose |
387-
Caret |
388-
Numlock |
389-
AbntC1 |
390-
AbntC2 |
391-
Apps |
392-
Ax |
393-
Calculator |
394-
Capital |
395-
Convert |
396-
Kana |
397-
Kanji |
398-
LAlt |
399-
LControl |
400-
LShift |
401-
LWin |
402-
Mail |
403-
MediaSelect |
404-
MediaStop |
405-
Mute |
406-
MyComputer |
407-
NavigateForward |
408-
NavigateBackward |
409-
NextTrack |
410-
NoConvert |
411-
OEM102 |
412-
PlayPause |
413-
Power |
414-
PrevTrack |
415-
RAlt |
416-
RControl |
417-
RShift |
418-
RWin |
419-
Sleep |
420-
Stop |
421-
Sysrq |
422-
Underline |
423-
Unlabeled |
424-
VolumeDown |
425-
VolumeUp |
426-
Wake |
427-
WebBack |
428-
WebFavorites |
429-
WebForward |
430-
WebHome |
431-
WebRefresh |
432-
WebSearch |
433-
WebStop |
434-
Yen |
435-
Copy |
436-
Paste |
437-
Cut => return None,
381+
_ => return None,
438382
})
439383
}
440384
}
@@ -454,12 +398,11 @@ pub enum MouseButton {
454398
impl MouseButton {
455399
#[cfg_attr(any(feature = "test", test), allow(dead_code))]
456400
fn from_button(button: glutin_event::MouseButton) -> Option<Self> {
457-
use glutin_event::MouseButton::*;
458401
match button {
459-
Left => Some(MouseButton::LeftButton),
460-
Middle => Some(MouseButton::MiddleButton),
461-
Right => Some(MouseButton::RightButton),
462-
Other(_) => None,
402+
glutin_event::MouseButton::Left => Some(MouseButton::LeftButton),
403+
glutin_event::MouseButton::Middle => Some(MouseButton::MiddleButton),
404+
glutin_event::MouseButton::Right => Some(MouseButton::RightButton),
405+
glutin_event::MouseButton::Other(_) => None,
463406
}
464407
}
465408
}

0 commit comments

Comments
 (0)