added Android project files
[rocksndiamonds.git] / src / events.c
index 6054f74097006ca8d9b0140424f867b71b173da2..21836c9dd6c67355bff8ec57d09084569c719640 100644 (file)
@@ -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))