removed obsolete window events from SDL 1.2
authorHolger Schemel <info@artsoft.org>
Wed, 20 Mar 2019 20:50:38 +0000 (21:50 +0100)
committerHolger Schemel <info@artsoft.org>
Wed, 20 Mar 2019 20:50:38 +0000 (21:50 +0100)
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
src/events.h
src/libgame/sdl.h

index 9348533aaeed0e42d6e0f4a8107de44db1805c37..e4f3329e32ab740df7fd18246735a97d19b7c4f2 100644 (file)
@@ -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))
index 9329770ffd3319c8f5f1769ec6c777f63497498d..0c8828c3f15228e57849f94661c56f87a9e0fd7e 100644 (file)
@@ -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 *);
 
index 676dfab9dbe144e311e6915c42b91a04658f6257..688e79c7502af13ee226269b81447f9990b7821d 100644 (file)
@@ -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