X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fevents.c;h=21836c9dd6c67355bff8ec57d09084569c719640;hb=77c74cbf7569a65f71e004fab915a8b6ee73cbed;hp=6054f74097006ca8d9b0140424f867b71b173da2;hpb=f93b88d332d24f32bbd5030cf8dec20fdb8d5ea9;p=rocksndiamonds.git diff --git a/src/events.c b/src/events.c index 6054f740..21836c9d 100644 --- a/src/events.c +++ b/src/events.c @@ -653,6 +653,7 @@ void HandleWindowEvent(WindowEvent *event) video.display_height = new_display_height; SDLSetScreenProperties(); + SetGadgetsPosition_OverlayTouchButtons(); // check if screen orientation has changed (should always be true here) if (nr != GRID_ACTIVE_NR()) @@ -1448,6 +1449,9 @@ void HandleKeyEvent(KeyEvent *event) { // for any other "real" key event, disable virtual buttons SetOverlayEnabled(FALSE); + + // for any other "real" key event, disable overlay touch buttons + runtime.uses_touch_device = FALSE; } #endif @@ -1684,6 +1688,10 @@ void HandleButton(int mx, int my, int button, int button_nr) // always recognize potentially releasing already pressed gadgets if (button == MB_RELEASED) handle_gadgets = TRUE; + + // always recognize pressing or releasing overlay touch buttons + if (CheckPosition_OverlayTouchButtons(mx, my, button) && !motion_status) + handle_gadgets = TRUE; #endif if (HandleGlobalAnimClicks(mx, my, button, FALSE))