diff options
author | 2016-02-04 14:44:49 +0100 | |
---|---|---|
committer | 2016-02-04 15:14:24 +0100 | |
commit | 701df7fe9ea4775b25c9d7263592cb3d442e2793 (patch) | |
tree | 6ce520fd10619b5f4146d9bff127d36f08a673ba /src/osd/sdl/input.cpp | |
parent | 196e742a77f7719f61318c420e79ae08add25124 (diff) |
Initial import of MEWUI to MAME [Dankan1890]
Diffstat (limited to 'src/osd/sdl/input.cpp')
-rw-r--r-- | src/osd/sdl/input.cpp | 40 |
1 files changed, 38 insertions, 2 deletions
diff --git a/src/osd/sdl/input.cpp b/src/osd/sdl/input.cpp index b0d4d8c1096..a050cbf024b 100644 --- a/src/osd/sdl/input.cpp +++ b/src/osd/sdl/input.cpp @@ -1854,7 +1854,43 @@ void sdlinput_poll(running_machine &machine) } } } +#if (!SDLMAME_SDL2) + else if (event.button.button == 4) // SDL_BUTTON_WHEELUP + { + int cx, cy; + sdl_window_info *window = GET_FOCUS_WINDOW(&event.button); + if (window != NULL && window->xy_to_render_target(event.button.x,event.button.y, &cx, &cy) ) + { + machine.ui_input().push_mouse_wheel_event(window->target(), cx, cy, 120, 3); + } + } + + else if (event.button.button == 5) // SDL_BUTTON_WHEELDOWN + { + int cx, cy; + sdl_window_info *window = GET_FOCUS_WINDOW(&event.button); + if (window != NULL && window->xy_to_render_target(event.button.x,event.button.y, &cx, &cy) ) + { + machine.ui_input().push_mouse_wheel_event(window->target(), cx, cy, -120, 3); + } + } +#endif + break; +#if (SDLMAME_SDL2) + case SDL_MOUSEWHEEL: +#ifdef SDL2_MULTIAPI + devinfo = generic_device_find_index(mouse_list, mouse_map.logical[event.wheel.which]); +#else + devinfo = generic_device_find_index(mouse_list, mouse_map.logical[0]); +#endif + if (devinfo) + { + sdl_window_info *window = GET_FOCUS_WINDOW(&event.wheel); + if (window != NULL) + machine.ui_input().push_mouse_wheel_event(window->target(), 0, 0, event.wheel.y, 3); + } break; +#endif case SDL_MOUSEBUTTONUP: #ifdef SDL2_MULTIAPI devinfo = generic_device_find_index(mouse_list, mouse_map.logical[event.button.which]); @@ -1970,8 +2006,8 @@ void sdlinput_poll(running_machine &machine) #endif { //printf("event data1,data2 %d x %d %ld\n", event.window.data1, event.window.data2, sizeof(SDL_Event)); - window->resize(event.window.data1, event.window.data2); - } + window->resize(event.window.data1, event.window.data2); + } } focus_window = window; break; |