added SDL event filter to track mouse position from mouse motion events
[rocksndiamonds.git] / src / libgame / sdl.h
index 688e79c7502af13ee226269b81447f9990b7821d..35d6a2411c3c7af8edd90677d04cf1630c550f15 100644 (file)
@@ -64,7 +64,8 @@ typedef SDL_TextInputEvent    TextEvent;
 typedef SDL_Event              PauseResumeEvent;
 typedef SDL_WindowEvent                WindowEvent;
 typedef SDL_KeyboardEvent      KeyEvent;
-typedef SDL_Event              ClientMessageEvent;
+
+typedef SDL_EventFilter                EventFilter;
 
 
 // structure definitions
@@ -89,6 +90,21 @@ struct MouseCursorInfo
   byte mask[CURSOR_MAX_WIDTH * CURSOR_MAX_HEIGHT / 8];
 };
 
+struct UserEventInfo
+{
+  // same as in "struct SDL_UserEvent"
+  Uint32 type;
+  Uint32 timestamp;
+  Uint32 windowID;
+  Sint32 code;
+
+  // changed to use integer values instead of void pointers
+  Uint32 value1;
+  Uint32 value2;
+};
+
+typedef struct UserEventInfo   UserEvent;
+
 
 // SDL symbol definitions
 
@@ -107,7 +123,8 @@ struct MouseCursorInfo
 #define EVENT_TEXTINPUT                SDL_TEXTINPUT
 #define EVENT_KEYPRESS         SDL_KEYDOWN
 #define EVENT_KEYRELEASE       SDL_KEYUP
-#define EVENT_CLIENTMESSAGE    SDL_QUIT
+#define EVENT_USER             SDL_USEREVENT
+#define EVENT_QUIT             SDL_QUIT
 
 #define KSYM_UNDEFINED         SDLK_UNKNOWN
 
@@ -406,6 +423,7 @@ void SDLOpenAudio(void);
 void SDLCloseAudio(void);
 
 void SDLWaitEvent(Event *);
+void SDLCorrectMouseEventXY(int *, int *);
 
 void HandleJoystickEvent(Event *);
 void SDLInitJoysticks(void);