changed "http" to "https" in URLs
[rocksndiamonds.git] / src / libgame / sdl.h
index 4f9ced82a7cc193a6a2561c01b0cf9631f9af740..9fb16338fefba1760664a21e7ade264a1a190161 100644 (file)
@@ -4,7 +4,7 @@
 // (c) 1995-2014 by Artsoft Entertainment
 //                         Holger Schemel
 //                 info@artsoft.org
-//                 http://www.artsoft.org/
+//                 https://www.artsoft.org/
 // ----------------------------------------------------------------------------
 // sdl.h
 // ============================================================================
@@ -23,7 +23,7 @@
 
 // definitions needed for "system.c"
 
-#define SURFACE_FLAGS          (0)
+#define SURFACE_FLAGS          (SDL_WINDOW_RESIZABLE)
 
 #define SET_TRANSPARENT_PIXEL  (SDL_TRUE)
 #define UNSET_TRANSPARENT_PIXEL        (SDL_FALSE)
@@ -64,9 +64,8 @@ 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;
+
+typedef SDL_EventFilter                EventFilter;
 
 
 // structure definitions
@@ -91,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
 
@@ -109,12 +123,8 @@ 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 EVENT_USER             SDL_USEREVENT
+#define EVENT_QUIT             SDL_QUIT
 
 #define KSYM_UNDEFINED         SDLK_UNKNOWN
 
@@ -340,6 +350,15 @@ struct MouseCursorInfo
 #define KSYM_FKEY_LAST         KSYM_F12
 #define KSYM_NUM_FKEYS         (KSYM_FKEY_LAST - KSYM_FKEY_FIRST + 1)
 
+#define KSYM_PRINTABLE(k)      (((k) >= KSYM_space &&                  \
+                                 (k) <= KSYM_z)        ||              \
+                                (k) == KSYM_Adiaeresis ||              \
+                                (k) == KSYM_Odiaeresis ||              \
+                                (k) == KSYM_Udiaeresis ||              \
+                                (k) == KSYM_adiaeresis ||              \
+                                (k) == KSYM_odiaeresis ||              \
+                                (k) == KSYM_udiaeresis)
+
 #define KMOD_None              KMOD_NONE
 #define KMOD_Shift_L           KMOD_LSHIFT
 #define KMOD_Shift_R           KMOD_RSHIFT
@@ -361,10 +380,9 @@ struct MouseCursorInfo
                                 KMOD_Meta    | \
                                 KMOD_Alt)
 
-#define KMOD_TextInput         (KMOD_Shift | KMOD_Alt_R)
-
 // SDL function definitions
 
+const char *SDLGetRendererName(void);
 boolean SDLSetNativeSurface(SDL_Surface **);
 SDL_Surface *SDLGetNativeSurface(SDL_Surface *);
 void SDLCreateBitmapTextures(Bitmap *);
@@ -413,7 +431,7 @@ void SDLOpenAudio(void);
 void SDLCloseAudio(void);
 
 void SDLWaitEvent(Event *);
-void SDLHandleWindowManagerEvent(Event *);
+void SDLCorrectRawMousePosition(int *, int *);
 
 void HandleJoystickEvent(Event *);
 void SDLInitJoysticks(void);