}
}
}
+
+ // !!! CHECK THIS:
+ // !!! this may result in "HandleNoEvent()" never being called
+ // !!! (especially due to continuously processed tocuh events)
+ // !!! and therefore toon animations being stopped while events
+ // !!! are being processed (even if they are all thrown away)
+
else
{
/* when playing, display a special mouse pointer inside the playfield */
#if defined(TARGET_SDL2)
void HandleWindowEvent(WindowEvent *event)
{
+#if DEBUG_EVENTS
int subtype = event->event;
char *event_name =
Error(ERR_DEBUG, "WINDOW EVENT: '%s', %ld, %ld",
event_name, event->data1, event->data2);
+#endif
- if (event->event == SDL_WINDOWEVENT_EXPOSED)
+ if (event->event == SDL_WINDOWEVENT_SIZE_CHANGED ||
+ event->event == SDL_WINDOWEVENT_RESIZED ||
+ event->event == SDL_WINDOWEVENT_EXPOSED)
SDLRedrawWindow();
#if 0
printf("::: setup.window_scaling_percent set to %d\n",
setup.window_scaling_percent);
+
+ if (game_status == GAME_MODE_SETUP)
+ RedrawSetupScreenAfterFullscreenToggle();
}
#else
// prevent slightly wrong scaling factor due to rounding differences
int max_events = 10;
#endif
+#if 0
#if DEBUG_EVENTS
Error(ERR_DEBUG, "FINGER EVENT: finger was %s, touch ID %lld, finger ID %lld, x/y %f/%f, dx/dy %f/%f, pressure %f",
event->type == EVENT_FINGERPRESS ? "pressed" :
event->dx, event->dy,
event->pressure);
#endif
+#endif
#if 0
int x = (int)(event->x * video.width);
Key key = getKeyFromKeyName(text);
#if DEBUG_EVENTS
- Error(ERR_DEBUG, "TEXT EVENT: text == '%s' [%d byte(s), '%c'/%d], resulting key == %d (%s)",
+ Error(ERR_DEBUG, "TEXT EVENT: text == '%s' [%d byte(s), '%c'/%d], resulting key == %d (%s) [%04x]",
text,
strlen(text),
text[0], (int)(text[0]),
key,
- getKeyNameFromKey(key));
+ getKeyNameFromKey(key),
+ GetKeyModState());
#endif
// if (game_status != GAME_MODE_PLAYING && GetKeyModState() != KMOD_None)
{
setup.fullscreen = !setup.fullscreen;
+#if 0
printf("::: %d\n", setup.window_scaling_percent);
+#endif
ToggleFullscreenIfNeeded();