diff --git a/src/main.rs b/src/main.rs index 7347d7c..a59f36f 100644 --- a/src/main.rs +++ b/src/main.rs @@ -30,6 +30,7 @@ use ferretro_components::provided::{ use sdl2::mouse::{Cursor, MouseUtil}; use sdl2::rect::Rect; use itertools::Itertools; +use sdl2::event::WindowEvent; type Result = std::result::Result>; @@ -231,10 +232,13 @@ impl Zretro { self.emu.libretro_core().unload_game(); self.emu.load_game(filename)?; } - Event::MouseMotion { x, y, .. } => { - self.mouse_shadow_pos.set_x(x + 5); - self.mouse_shadow_pos.set_y(y + 7); + Event::MouseMotion { x, y, xrel, yrel, .. } => { + self.mouse_shadow_pos.set_x(x + xrel + 5); + self.mouse_shadow_pos.set_y(y + yrel + 7); }, + Event::Window { win_event: WindowEvent::Leave, .. } => { + self.mouse_shadow_pos.set_x(-(self.mouse_shadow_surf.width() as i32)); + } _ => {} } }