From 8b56e7544ec50c9734f9b9616c4aefd6bee932d1 Mon Sep 17 00:00:00 2001 From: smatz Date: Sun, 17 Feb 2008 17:00:43 +0000 Subject: (svn r12167) -Feature(tte): change colour of autorail and autoroad selection when Ctrl is pressed --- src/video/cocoa/event.mm | 4 ++++ src/video/sdl_v.cpp | 5 +++++ src/video/win32_v.cpp | 5 +++++ 3 files changed, 14 insertions(+) (limited to 'src/video') diff --git a/src/video/cocoa/event.mm b/src/video/cocoa/event.mm index 9302f13c8..3e8fc68c1 100644 --- a/src/video/cocoa/event.mm +++ b/src/video/cocoa/event.mm @@ -668,9 +668,13 @@ void QZ_GameLoop() last_cur_ticks = cur_ticks; next_tick = cur_ticks + 30; + bool old_ctrl_pressed = _ctrl_pressed; + _ctrl_pressed = !!(_current_mods & ( _patches.right_mouse_btn_emulation != RMBE_CONTROL ? NSControlKeyMask : NSCommandKeyMask)); _shift_pressed = !!(_current_mods & NSShiftKeyMask); + if (old_ctrl_pressed != _ctrl_pressed) HandleCtrlChanged(); + GameLoop(); _screen.dst_ptr = _cocoa_subdriver->GetPixelBuffer(); diff --git a/src/video/sdl_v.cpp b/src/video/sdl_v.cpp index 25ce5a8c6..12478cfc9 100644 --- a/src/video/sdl_v.cpp +++ b/src/video/sdl_v.cpp @@ -490,6 +490,8 @@ void VideoDriver_SDL::MainLoop() last_cur_ticks = cur_ticks; next_tick = cur_ticks + 30; + bool old_ctrl_pressed = _ctrl_pressed; + _ctrl_pressed = !!(mod & KMOD_CTRL); _shift_pressed = !!(mod & KMOD_SHIFT); @@ -499,6 +501,9 @@ void VideoDriver_SDL::MainLoop() (keys[SDLK_UP] ? 2 : 0) | (keys[SDLK_RIGHT] ? 4 : 0) | (keys[SDLK_DOWN] ? 8 : 0); + + if (old_ctrl_pressed != _ctrl_pressed) HandleCtrlChanged(); + GameLoop(); _screen.dst_ptr = _sdl_screen->pixels; diff --git a/src/video/win32_v.cpp b/src/video/win32_v.cpp index b0296199a..91f7439fa 100644 --- a/src/video/win32_v.cpp +++ b/src/video/win32_v.cpp @@ -856,6 +856,9 @@ void VideoDriver_Win32::MainLoop() _realtime_tick += cur_ticks - last_cur_ticks; last_cur_ticks = cur_ticks; next_tick = cur_ticks + 30; + + bool old_ctrl_pressed = _ctrl_pressed; + _ctrl_pressed = _wnd.has_focus && GetAsyncKeyState(VK_CONTROL)<0; _shift_pressed = _wnd.has_focus && GetAsyncKeyState(VK_SHIFT)<0; @@ -870,6 +873,8 @@ void VideoDriver_Win32::MainLoop() _dirkeys = 0; } + if (old_ctrl_pressed != _ctrl_pressed) HandleCtrlChanged(); + GameLoop(); _cursor.delta.x = _cursor.delta.y = 0; -- cgit v1.2.3-54-g00ecf