From 7373d54bd6896193f7f20ed0ff148dacee9d084e Mon Sep 17 00:00:00 2001 From: Holger Schemel Date: Wed, 20 Mar 2019 21:50:38 +0100 Subject: [PATCH] removed obsolete window events from SDL 1.2 These obsolete window events were used for SDL 1.2 support (which was removed some time ago) and are not needed anymore. All corresponding window events are handled by SDL_WINDOWEVENT in SDL 2.0 now. --- src/events.c | 109 ---------------------------------------------- src/events.h | 3 -- src/libgame/sdl.h | 7 --- 3 files changed, 119 deletions(-) diff --git a/src/events.c b/src/events.c index 9348533a..e4f3329e 100644 --- a/src/events.c +++ b/src/events.c @@ -233,23 +233,6 @@ void HandleOtherEvents(Event *event) { switch (event->type) { - case EVENT_EXPOSE: - HandleExposeEvent((ExposeEvent *) event); - break; - - case EVENT_UNMAPNOTIFY: -#if 0 - // This causes the game to stop not only when iconified, but also - // when on another virtual desktop, which might be not desired. - SleepWhileUnmapped(); -#endif - break; - - case EVENT_FOCUSIN: - case EVENT_FOCUSOUT: - HandleFocusEvent((FocusChangeEvent *) event); - break; - case EVENT_CLIENTMESSAGE: HandleClientMessageEvent((ClientMessageEvent *) event); break; @@ -443,58 +426,6 @@ static void SetPlayerMouseAction(int mx, int my, int button) SetTileCursorXY(lx, ly); } -void SleepWhileUnmapped(void) -{ - boolean window_unmapped = TRUE; - - KeyboardAutoRepeatOn(); - - while (window_unmapped) - { - Event event; - - if (!WaitValidEvent(&event)) - continue; - - switch (event.type) - { - case EVENT_BUTTONRELEASE: - button_status = MB_RELEASED; - break; - - case EVENT_KEYRELEASE: - key_joystick_mapping = 0; - break; - - case SDL_CONTROLLERBUTTONUP: - HandleJoystickEvent(&event); - key_joystick_mapping = 0; - break; - - case EVENT_MAPNOTIFY: - window_unmapped = FALSE; - break; - - case EVENT_UNMAPNOTIFY: - // this is only to surely prevent the 'should not happen' case - // of recursively looping between 'SleepWhileUnmapped()' and - // 'HandleOtherEvents()' which usually calls this funtion. - break; - - default: - HandleOtherEvents(&event); - break; - } - } - - if (game_status == GAME_MODE_PLAYING) - KeyboardAutoRepeatOffUnlessAutoplay(); -} - -void HandleExposeEvent(ExposeEvent *event) -{ -} - void HandleButtonEvent(ButtonEvent *event) { #if DEBUG_EVENTS_BUTTON @@ -1493,46 +1424,6 @@ void HandleKeyEvent(KeyEvent *event) HandleKey(key, key_status); } -void HandleFocusEvent(FocusChangeEvent *event) -{ - static int old_joystick_status = -1; - - if (event->type == EVENT_FOCUSOUT) - { - KeyboardAutoRepeatOn(); - old_joystick_status = joystick.status; - joystick.status = JOYSTICK_NOT_AVAILABLE; - - ClearPlayerAction(); - } - else if (event->type == EVENT_FOCUSIN) - { - /* When there are two Rocks'n'Diamonds windows which overlap and - the player moves the pointer from one game window to the other, - a 'FocusOut' event is generated for the window the pointer is - leaving and a 'FocusIn' event is generated for the window the - pointer is entering. In some cases, it can happen that the - 'FocusIn' event is handled by the one game process before the - 'FocusOut' event by the other game process. In this case the - X11 environment would end up with activated keyboard auto repeat, - because unfortunately this is a global setting and not (which - would be far better) set for each X11 window individually. - The effect would be keyboard auto repeat while playing the game - (game_status == GAME_MODE_PLAYING), which is not desired. - To avoid this special case, we just wait 1/10 second before - processing the 'FocusIn' event. */ - - if (game_status == GAME_MODE_PLAYING) - { - Delay(100); - KeyboardAutoRepeatOffUnlessAutoplay(); - } - - if (old_joystick_status != -1) - joystick.status = old_joystick_status; - } -} - void HandleClientMessageEvent(ClientMessageEvent *event) { if (CheckCloseWindowEvent(event)) diff --git a/src/events.h b/src/events.h index 9329770f..0c8828c3 100644 --- a/src/events.h +++ b/src/events.h @@ -21,9 +21,7 @@ void HandleOtherEvents(Event *); void ClearAutoRepeatKeyEvents(void); void ClearEventQueue(void); void ClearPlayerAction(void); -void SleepWhileUnmapped(void); -void HandleExposeEvent(ExposeEvent *); void HandleButtonEvent(ButtonEvent *); void HandleMotionEvent(MotionEvent *); void HandleWheelEvent(WheelEvent *); @@ -33,7 +31,6 @@ void HandleTextEvent(TextEvent *); void HandlePauseResumeEvent(PauseResumeEvent *); boolean HandleKeysDebug(Key, int); void HandleKeyEvent(KeyEvent *); -void HandleFocusEvent(FocusChangeEvent *); void HandleClientMessageEvent(ClientMessageEvent *); void HandleDropEvent(Event *); diff --git a/src/libgame/sdl.h b/src/libgame/sdl.h index 676dfab9..688e79c7 100644 --- a/src/libgame/sdl.h +++ b/src/libgame/sdl.h @@ -64,8 +64,6 @@ typedef SDL_TextInputEvent TextEvent; typedef SDL_Event PauseResumeEvent; typedef SDL_WindowEvent WindowEvent; typedef SDL_KeyboardEvent KeyEvent; -typedef SDL_Event ExposeEvent; -typedef SDL_Event FocusChangeEvent; typedef SDL_Event ClientMessageEvent; @@ -109,12 +107,7 @@ struct MouseCursorInfo #define EVENT_TEXTINPUT SDL_TEXTINPUT #define EVENT_KEYPRESS SDL_KEYDOWN #define EVENT_KEYRELEASE SDL_KEYUP -#define EVENT_EXPOSE SDL_USEREVENT + 0 -#define EVENT_FOCUSIN SDL_USEREVENT + 1 -#define EVENT_FOCUSOUT SDL_USEREVENT + 2 #define EVENT_CLIENTMESSAGE SDL_QUIT -#define EVENT_MAPNOTIFY SDL_USEREVENT + 4 -#define EVENT_UNMAPNOTIFY SDL_USEREVENT + 5 #define KSYM_UNDEFINED SDLK_UNKNOWN -- 2.34.1