added support for updating grid buttons after the screen was rotated
[rocksndiamonds.git] / src / screens.c
index 3dd571fe857cb912493d9dc0105a0a559103d2fe..8b5c2bb474efcf9d70e24b507fc6ca684888e9ba 100644 (file)
@@ -7351,6 +7351,31 @@ boolean ConfigureVirtualButtonsMain()
          }
          break;
 
+#if defined(TARGET_SDL2)
+       case SDL_WINDOWEVENT:
+         HandleWindowEvent((WindowEvent *) &event);
+
+         // check if device has been rotated
+         if (nr != GRID_ACTIVE_NR())
+         {
+           nr = GRID_ACTIVE_NR();
+
+           for (x = 0; x < MAX_GRID_XSIZE; x++)
+             for (y = 0; y < MAX_GRID_YSIZE; y++)
+               grid_button_old[x][y] = grid_button_tmp[x][y] =
+                 overlay.grid_button[x][y];
+         }
+
+         break;
+
+       case SDL_APP_WILLENTERBACKGROUND:
+       case SDL_APP_DIDENTERBACKGROUND:
+       case SDL_APP_WILLENTERFOREGROUND:
+       case SDL_APP_DIDENTERFOREGROUND:
+         HandlePauseResumeEvent((PauseResumeEvent *) &event);
+         break;
+#endif
+
         default:
          HandleOtherEvents(&event);
          break;