Skip to content

Commit

Permalink
Update iced to 0.13
Browse files Browse the repository at this point in the history
  • Loading branch information
PolyMeilex committed Sep 18, 2024
1 parent 1ac0fcd commit 73627f0
Show file tree
Hide file tree
Showing 6 changed files with 273 additions and 36 deletions.
32 changes: 16 additions & 16 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 6 additions & 6 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,13 @@ nuon = { path = "./nuon" }

profiling = "1.0"

iced_graphics = { git = "https://github.com/iced-rs/iced.git", rev = "4b44079f34aa9e01977a7974e5f49ae79ff6cd90" }
iced_core = { git = "https://github.com/iced-rs/iced.git", rev = "4b44079f34aa9e01977a7974e5f49ae79ff6cd90" }
iced_runtime = { git = "https://github.com/iced-rs/iced.git", rev = "4b44079f34aa9e01977a7974e5f49ae79ff6cd90" }
iced_renderer = { git = "https://github.com/iced-rs/iced.git", rev = "4b44079f34aa9e01977a7974e5f49ae79ff6cd90" }
iced_wgpu = { git = "https://github.com/iced-rs/iced.git", rev = "4b44079f34aa9e01977a7974e5f49ae79ff6cd90", features = [
iced_graphics = { git = "https://github.com/iced-rs/iced.git", rev = "40ea3dabff991843396d4703d485169d0dd90845" }
iced_core = { git = "https://github.com/iced-rs/iced.git", rev = "40ea3dabff991843396d4703d485169d0dd90845" }
iced_runtime = { git = "https://github.com/iced-rs/iced.git", rev = "40ea3dabff991843396d4703d485169d0dd90845" }
iced_renderer = { git = "https://github.com/iced-rs/iced.git", rev = "40ea3dabff991843396d4703d485169d0dd90845" }
iced_wgpu = { git = "https://github.com/iced-rs/iced.git", rev = "40ea3dabff991843396d4703d485169d0dd90845", features = [
"image",
] }
iced_widget = { git = "https://github.com/iced-rs/iced.git", rev = "4b44079f34aa9e01977a7974e5f49ae79ff6cd90", features = [
iced_widget = { git = "https://github.com/iced-rs/iced.git", rev = "40ea3dabff991843396d4703d485169d0dd90845", features = [
"image",
] }
1 change: 1 addition & 0 deletions neothesia/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ midi-file.workspace = true
midi-io.workspace = true
nuon.workspace = true

image = { version = "0.24", features = ["png"], default-features = false }
iced_graphics.workspace = true
iced_core.workspace = true
iced_runtime.workspace = true
Expand Down
243 changes: 242 additions & 1 deletion neothesia/src/iced_utils/iced_conversion.rs
Original file line number Diff line number Diff line change
Expand Up @@ -99,14 +99,17 @@ pub fn window_event(
event:
winit::event::KeyEvent {
logical_key,
physical_key,
state,
text,
location,
..
},
..
} => Some(Event::Keyboard({
let key = key(logical_key);
let key = self::key(logical_key.clone());
let modified_key = self::key(logical_key);
let physical_key = self::physical_key(physical_key);
let modifiers = self::modifiers(modifiers);

let location = match location {
Expand All @@ -122,6 +125,8 @@ pub fn window_event(
modifiers,
location,
text,
modified_key,
physical_key,
},
winit::event::ElementState::Released => keyboard::Event::KeyReleased {
key,
Expand Down Expand Up @@ -158,6 +163,235 @@ pub fn window_event(
}
}

pub fn physical_key(physical_key: winit::keyboard::PhysicalKey) -> keyboard::key::Physical {
match physical_key {
winit::keyboard::PhysicalKey::Code(code) => {
key_code(code).map(keyboard::key::Physical::Code).unwrap_or(
keyboard::key::Physical::Unidentified(keyboard::key::NativeCode::Unidentified),
)
}
winit::keyboard::PhysicalKey::Unidentified(code) => {
keyboard::key::Physical::Unidentified(native_key_code(code))
}
}
}

pub fn key_code(key_code: winit::keyboard::KeyCode) -> Option<keyboard::key::Code> {
use winit::keyboard::KeyCode;

Some(match key_code {
KeyCode::Backquote => keyboard::key::Code::Backquote,
KeyCode::Backslash => keyboard::key::Code::Backslash,
KeyCode::BracketLeft => keyboard::key::Code::BracketLeft,
KeyCode::BracketRight => keyboard::key::Code::BracketRight,
KeyCode::Comma => keyboard::key::Code::Comma,
KeyCode::Digit0 => keyboard::key::Code::Digit0,
KeyCode::Digit1 => keyboard::key::Code::Digit1,
KeyCode::Digit2 => keyboard::key::Code::Digit2,
KeyCode::Digit3 => keyboard::key::Code::Digit3,
KeyCode::Digit4 => keyboard::key::Code::Digit4,
KeyCode::Digit5 => keyboard::key::Code::Digit5,
KeyCode::Digit6 => keyboard::key::Code::Digit6,
KeyCode::Digit7 => keyboard::key::Code::Digit7,
KeyCode::Digit8 => keyboard::key::Code::Digit8,
KeyCode::Digit9 => keyboard::key::Code::Digit9,
KeyCode::Equal => keyboard::key::Code::Equal,
KeyCode::IntlBackslash => keyboard::key::Code::IntlBackslash,
KeyCode::IntlRo => keyboard::key::Code::IntlRo,
KeyCode::IntlYen => keyboard::key::Code::IntlYen,
KeyCode::KeyA => keyboard::key::Code::KeyA,
KeyCode::KeyB => keyboard::key::Code::KeyB,
KeyCode::KeyC => keyboard::key::Code::KeyC,
KeyCode::KeyD => keyboard::key::Code::KeyD,
KeyCode::KeyE => keyboard::key::Code::KeyE,
KeyCode::KeyF => keyboard::key::Code::KeyF,
KeyCode::KeyG => keyboard::key::Code::KeyG,
KeyCode::KeyH => keyboard::key::Code::KeyH,
KeyCode::KeyI => keyboard::key::Code::KeyI,
KeyCode::KeyJ => keyboard::key::Code::KeyJ,
KeyCode::KeyK => keyboard::key::Code::KeyK,
KeyCode::KeyL => keyboard::key::Code::KeyL,
KeyCode::KeyM => keyboard::key::Code::KeyM,
KeyCode::KeyN => keyboard::key::Code::KeyN,
KeyCode::KeyO => keyboard::key::Code::KeyO,
KeyCode::KeyP => keyboard::key::Code::KeyP,
KeyCode::KeyQ => keyboard::key::Code::KeyQ,
KeyCode::KeyR => keyboard::key::Code::KeyR,
KeyCode::KeyS => keyboard::key::Code::KeyS,
KeyCode::KeyT => keyboard::key::Code::KeyT,
KeyCode::KeyU => keyboard::key::Code::KeyU,
KeyCode::KeyV => keyboard::key::Code::KeyV,
KeyCode::KeyW => keyboard::key::Code::KeyW,
KeyCode::KeyX => keyboard::key::Code::KeyX,
KeyCode::KeyY => keyboard::key::Code::KeyY,
KeyCode::KeyZ => keyboard::key::Code::KeyZ,
KeyCode::Minus => keyboard::key::Code::Minus,
KeyCode::Period => keyboard::key::Code::Period,
KeyCode::Quote => keyboard::key::Code::Quote,
KeyCode::Semicolon => keyboard::key::Code::Semicolon,
KeyCode::Slash => keyboard::key::Code::Slash,
KeyCode::AltLeft => keyboard::key::Code::AltLeft,
KeyCode::AltRight => keyboard::key::Code::AltRight,
KeyCode::Backspace => keyboard::key::Code::Backspace,
KeyCode::CapsLock => keyboard::key::Code::CapsLock,
KeyCode::ContextMenu => keyboard::key::Code::ContextMenu,
KeyCode::ControlLeft => keyboard::key::Code::ControlLeft,
KeyCode::ControlRight => keyboard::key::Code::ControlRight,
KeyCode::Enter => keyboard::key::Code::Enter,
KeyCode::SuperLeft => keyboard::key::Code::SuperLeft,
KeyCode::SuperRight => keyboard::key::Code::SuperRight,
KeyCode::ShiftLeft => keyboard::key::Code::ShiftLeft,
KeyCode::ShiftRight => keyboard::key::Code::ShiftRight,
KeyCode::Space => keyboard::key::Code::Space,
KeyCode::Tab => keyboard::key::Code::Tab,
KeyCode::Convert => keyboard::key::Code::Convert,
KeyCode::KanaMode => keyboard::key::Code::KanaMode,
KeyCode::Lang1 => keyboard::key::Code::Lang1,
KeyCode::Lang2 => keyboard::key::Code::Lang2,
KeyCode::Lang3 => keyboard::key::Code::Lang3,
KeyCode::Lang4 => keyboard::key::Code::Lang4,
KeyCode::Lang5 => keyboard::key::Code::Lang5,
KeyCode::NonConvert => keyboard::key::Code::NonConvert,
KeyCode::Delete => keyboard::key::Code::Delete,
KeyCode::End => keyboard::key::Code::End,
KeyCode::Help => keyboard::key::Code::Help,
KeyCode::Home => keyboard::key::Code::Home,
KeyCode::Insert => keyboard::key::Code::Insert,
KeyCode::PageDown => keyboard::key::Code::PageDown,
KeyCode::PageUp => keyboard::key::Code::PageUp,
KeyCode::ArrowDown => keyboard::key::Code::ArrowDown,
KeyCode::ArrowLeft => keyboard::key::Code::ArrowLeft,
KeyCode::ArrowRight => keyboard::key::Code::ArrowRight,
KeyCode::ArrowUp => keyboard::key::Code::ArrowUp,
KeyCode::NumLock => keyboard::key::Code::NumLock,
KeyCode::Numpad0 => keyboard::key::Code::Numpad0,
KeyCode::Numpad1 => keyboard::key::Code::Numpad1,
KeyCode::Numpad2 => keyboard::key::Code::Numpad2,
KeyCode::Numpad3 => keyboard::key::Code::Numpad3,
KeyCode::Numpad4 => keyboard::key::Code::Numpad4,
KeyCode::Numpad5 => keyboard::key::Code::Numpad5,
KeyCode::Numpad6 => keyboard::key::Code::Numpad6,
KeyCode::Numpad7 => keyboard::key::Code::Numpad7,
KeyCode::Numpad8 => keyboard::key::Code::Numpad8,
KeyCode::Numpad9 => keyboard::key::Code::Numpad9,
KeyCode::NumpadAdd => keyboard::key::Code::NumpadAdd,
KeyCode::NumpadBackspace => keyboard::key::Code::NumpadBackspace,
KeyCode::NumpadClear => keyboard::key::Code::NumpadClear,
KeyCode::NumpadClearEntry => keyboard::key::Code::NumpadClearEntry,
KeyCode::NumpadComma => keyboard::key::Code::NumpadComma,
KeyCode::NumpadDecimal => keyboard::key::Code::NumpadDecimal,
KeyCode::NumpadDivide => keyboard::key::Code::NumpadDivide,
KeyCode::NumpadEnter => keyboard::key::Code::NumpadEnter,
KeyCode::NumpadEqual => keyboard::key::Code::NumpadEqual,
KeyCode::NumpadHash => keyboard::key::Code::NumpadHash,
KeyCode::NumpadMemoryAdd => keyboard::key::Code::NumpadMemoryAdd,
KeyCode::NumpadMemoryClear => keyboard::key::Code::NumpadMemoryClear,
KeyCode::NumpadMemoryRecall => keyboard::key::Code::NumpadMemoryRecall,
KeyCode::NumpadMemoryStore => keyboard::key::Code::NumpadMemoryStore,
KeyCode::NumpadMemorySubtract => keyboard::key::Code::NumpadMemorySubtract,
KeyCode::NumpadMultiply => keyboard::key::Code::NumpadMultiply,
KeyCode::NumpadParenLeft => keyboard::key::Code::NumpadParenLeft,
KeyCode::NumpadParenRight => keyboard::key::Code::NumpadParenRight,
KeyCode::NumpadStar => keyboard::key::Code::NumpadStar,
KeyCode::NumpadSubtract => keyboard::key::Code::NumpadSubtract,
KeyCode::Escape => keyboard::key::Code::Escape,
KeyCode::Fn => keyboard::key::Code::Fn,
KeyCode::FnLock => keyboard::key::Code::FnLock,
KeyCode::PrintScreen => keyboard::key::Code::PrintScreen,
KeyCode::ScrollLock => keyboard::key::Code::ScrollLock,
KeyCode::Pause => keyboard::key::Code::Pause,
KeyCode::BrowserBack => keyboard::key::Code::BrowserBack,
KeyCode::BrowserFavorites => keyboard::key::Code::BrowserFavorites,
KeyCode::BrowserForward => keyboard::key::Code::BrowserForward,
KeyCode::BrowserHome => keyboard::key::Code::BrowserHome,
KeyCode::BrowserRefresh => keyboard::key::Code::BrowserRefresh,
KeyCode::BrowserSearch => keyboard::key::Code::BrowserSearch,
KeyCode::BrowserStop => keyboard::key::Code::BrowserStop,
KeyCode::Eject => keyboard::key::Code::Eject,
KeyCode::LaunchApp1 => keyboard::key::Code::LaunchApp1,
KeyCode::LaunchApp2 => keyboard::key::Code::LaunchApp2,
KeyCode::LaunchMail => keyboard::key::Code::LaunchMail,
KeyCode::MediaPlayPause => keyboard::key::Code::MediaPlayPause,
KeyCode::MediaSelect => keyboard::key::Code::MediaSelect,
KeyCode::MediaStop => keyboard::key::Code::MediaStop,
KeyCode::MediaTrackNext => keyboard::key::Code::MediaTrackNext,
KeyCode::MediaTrackPrevious => keyboard::key::Code::MediaTrackPrevious,
KeyCode::Power => keyboard::key::Code::Power,
KeyCode::Sleep => keyboard::key::Code::Sleep,
KeyCode::AudioVolumeDown => keyboard::key::Code::AudioVolumeDown,
KeyCode::AudioVolumeMute => keyboard::key::Code::AudioVolumeMute,
KeyCode::AudioVolumeUp => keyboard::key::Code::AudioVolumeUp,
KeyCode::WakeUp => keyboard::key::Code::WakeUp,
KeyCode::Meta => keyboard::key::Code::Meta,
KeyCode::Hyper => keyboard::key::Code::Hyper,
KeyCode::Turbo => keyboard::key::Code::Turbo,
KeyCode::Abort => keyboard::key::Code::Abort,
KeyCode::Resume => keyboard::key::Code::Resume,
KeyCode::Suspend => keyboard::key::Code::Suspend,
KeyCode::Again => keyboard::key::Code::Again,
KeyCode::Copy => keyboard::key::Code::Copy,
KeyCode::Cut => keyboard::key::Code::Cut,
KeyCode::Find => keyboard::key::Code::Find,
KeyCode::Open => keyboard::key::Code::Open,
KeyCode::Paste => keyboard::key::Code::Paste,
KeyCode::Props => keyboard::key::Code::Props,
KeyCode::Select => keyboard::key::Code::Select,
KeyCode::Undo => keyboard::key::Code::Undo,
KeyCode::Hiragana => keyboard::key::Code::Hiragana,
KeyCode::Katakana => keyboard::key::Code::Katakana,
KeyCode::F1 => keyboard::key::Code::F1,
KeyCode::F2 => keyboard::key::Code::F2,
KeyCode::F3 => keyboard::key::Code::F3,
KeyCode::F4 => keyboard::key::Code::F4,
KeyCode::F5 => keyboard::key::Code::F5,
KeyCode::F6 => keyboard::key::Code::F6,
KeyCode::F7 => keyboard::key::Code::F7,
KeyCode::F8 => keyboard::key::Code::F8,
KeyCode::F9 => keyboard::key::Code::F9,
KeyCode::F10 => keyboard::key::Code::F10,
KeyCode::F11 => keyboard::key::Code::F11,
KeyCode::F12 => keyboard::key::Code::F12,
KeyCode::F13 => keyboard::key::Code::F13,
KeyCode::F14 => keyboard::key::Code::F14,
KeyCode::F15 => keyboard::key::Code::F15,
KeyCode::F16 => keyboard::key::Code::F16,
KeyCode::F17 => keyboard::key::Code::F17,
KeyCode::F18 => keyboard::key::Code::F18,
KeyCode::F19 => keyboard::key::Code::F19,
KeyCode::F20 => keyboard::key::Code::F20,
KeyCode::F21 => keyboard::key::Code::F21,
KeyCode::F22 => keyboard::key::Code::F22,
KeyCode::F23 => keyboard::key::Code::F23,
KeyCode::F24 => keyboard::key::Code::F24,
KeyCode::F25 => keyboard::key::Code::F25,
KeyCode::F26 => keyboard::key::Code::F26,
KeyCode::F27 => keyboard::key::Code::F27,
KeyCode::F28 => keyboard::key::Code::F28,
KeyCode::F29 => keyboard::key::Code::F29,
KeyCode::F30 => keyboard::key::Code::F30,
KeyCode::F31 => keyboard::key::Code::F31,
KeyCode::F32 => keyboard::key::Code::F32,
KeyCode::F33 => keyboard::key::Code::F33,
KeyCode::F34 => keyboard::key::Code::F34,
KeyCode::F35 => keyboard::key::Code::F35,
_ => None?,
})
}

pub fn native_key_code(
native_key_code: winit::keyboard::NativeKeyCode,
) -> keyboard::key::NativeCode {
use winit::keyboard::NativeKeyCode;

match native_key_code {
NativeKeyCode::Unidentified => keyboard::key::NativeCode::Unidentified,
NativeKeyCode::Android(code) => keyboard::key::NativeCode::Android(code),
NativeKeyCode::MacOS(code) => keyboard::key::NativeCode::MacOS(code),
NativeKeyCode::Windows(code) => keyboard::key::NativeCode::Windows(code),
NativeKeyCode::Xkb(code) => keyboard::key::NativeCode::Xkb(code),
}
}

/// Converts a [`Position`] to a [`winit`] logical position for a given monitor.
///
/// [`winit`]: https://github.com/rust-windowing/winit
Expand Down Expand Up @@ -240,7 +474,14 @@ pub fn mouse_interaction(interaction: mouse::Interaction) -> winit::window::Curs
Interaction::ResizingVertically => winit::window::CursorIcon::NsResize,
Interaction::NotAllowed => winit::window::CursorIcon::NotAllowed,
Interaction::ZoomIn => winit::window::CursorIcon::ZoomIn,
Interaction::ZoomOut => winit::window::CursorIcon::ZoomOut,
Interaction::None => winit::window::CursorIcon::Default,
Interaction::ResizingDiagonallyUp => winit::window::CursorIcon::NeswResize,
Interaction::ResizingDiagonallyDown => winit::window::CursorIcon::NwseResize,
Interaction::Cell => winit::window::CursorIcon::Cell,
Interaction::Move => winit::window::CursorIcon::Move,
Interaction::Copy => winit::window::CursorIcon::Copy,
Interaction::Help => winit::window::CursorIcon::Help,
}
}

Expand Down
Loading

0 comments on commit 73627f0

Please sign in to comment.