cleanup of obsolete client message event from SDL 1.2
[rocksndiamonds.git] / src / libgame / sdl.h
index ae877957aed0d8261b2435a38e76afadf17cbeea..627617d245594db15017f4ae75d14e92dac3fdf8 100644 (file)
 #include <SDL_syswm.h>
 #endif
 
-/* definitions needed for "system.c" */
+// definitions needed for "system.c"
 
-#if defined(TARGET_SDL2)
 #define SURFACE_FLAGS          (0)
-#else
-#define SURFACE_FLAGS          (SDL_SWSURFACE)
-#endif
 
-#if defined(TARGET_SDL2)
 #define SET_TRANSPARENT_PIXEL  (SDL_TRUE)
 #define UNSET_TRANSPARENT_PIXEL        (SDL_FALSE)
-#else
-#define SET_TRANSPARENT_PIXEL  (SDL_SRCCOLORKEY)
-#define UNSET_TRANSPARENT_PIXEL        (0)
-#endif
 
-/* system dependent definitions */
+// system dependent definitions
 
-#if defined(TARGET_SDL2)
 #define TARGET_STRING          "SDL2"
-#else
-#define TARGET_STRING          "SDL"
-#endif
 
 #if defined(PLATFORM_ANDROID)
 #define WINDOW_SCALING_STATUS  WINDOW_SCALING_NOT_AVAILABLE
 #define FULLSCREEN_STATUS      FULLSCREEN_AVAILABLE
-#elif defined(TARGET_SDL2)
+#else
 #define WINDOW_SCALING_STATUS  WINDOW_SCALING_AVAILABLE
 #define FULLSCREEN_STATUS      FULLSCREEN_AVAILABLE
-#else  // SDL 1.2
-#define WINDOW_SCALING_STATUS  WINDOW_SCALING_NOT_AVAILABLE
-#define FULLSCREEN_STATUS      FULLSCREEN_AVAILABLE
 #endif
 
 #define CURSOR_MAX_WIDTH       32
 #define CURSOR_MAX_HEIGHT      32
 
 
-/* SDL type definitions */
+// SDL type definitions
 
 typedef struct SDLSurfaceInfo  Bitmap;
 typedef struct SDLSurfaceInfo  DrawBuffer;
@@ -68,30 +52,21 @@ typedef struct SDLSurfaceInfo       DrawWindow;
 typedef Uint32                 Pixel;
 typedef SDL_Cursor            *Cursor;
 
-#if defined(TARGET_SDL2)
 typedef SDL_Keycode            Key;
 typedef SDL_Keymod             KeyMod;
-#else
-typedef SDLKey                 Key;
-typedef unsigned int           KeyMod;
-#endif
 
 typedef SDL_Event              Event;
 typedef SDL_MouseButtonEvent   ButtonEvent;
 typedef SDL_MouseMotionEvent   MotionEvent;
-#if defined(TARGET_SDL2)
+typedef SDL_MouseWheelEvent    WheelEvent;
 typedef SDL_TouchFingerEvent   FingerEvent;
 typedef SDL_TextInputEvent     TextEvent;
 typedef SDL_Event              PauseResumeEvent;
 typedef SDL_WindowEvent                WindowEvent;
-#endif
 typedef SDL_KeyboardEvent      KeyEvent;
-typedef SDL_Event              ExposeEvent;
-typedef SDL_Event              FocusChangeEvent;
-typedef SDL_Event              ClientMessageEvent;
 
 
-/* structure definitions */
+// structure definitions
 
 struct SDLSurfaceInfo
 {
@@ -100,10 +75,8 @@ struct SDLSurfaceInfo
   int width, height;
   SDL_Surface *surface;
   SDL_Surface *surface_masked;
-#if defined(TARGET_SDL2)
   SDL_Texture *texture;
   SDL_Texture *texture_masked;
-#endif
 };
 
 struct MouseCursorInfo
@@ -116,7 +89,7 @@ struct MouseCursorInfo
 };
 
 
-/* SDL symbol definitions */
+// SDL symbol definitions
 
 #define None                   0L
 
@@ -126,20 +99,14 @@ struct MouseCursorInfo
 #define EVENT_BUTTONPRESS      SDL_MOUSEBUTTONDOWN
 #define EVENT_BUTTONRELEASE    SDL_MOUSEBUTTONUP
 #define EVENT_MOTIONNOTIFY     SDL_MOUSEMOTION
-#if defined(TARGET_SDL2)
+#define        EVENT_WHEELMOTION       SDL_MOUSEWHEEL
 #define        EVENT_FINGERPRESS       SDL_FINGERDOWN
 #define EVENT_FINGERRELEASE    SDL_FINGERUP
 #define EVENT_FINGERMOTION     SDL_FINGERMOTION
 #define EVENT_TEXTINPUT                SDL_TEXTINPUT
-#endif
 #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_QUIT             SDL_QUIT
 
 #define KSYM_UNDEFINED         SDLK_UNKNOWN
 
@@ -170,20 +137,11 @@ struct MouseCursorInfo
 #define KSYM_Control_L         SDLK_LCTRL
 #define KSYM_Control_R         SDLK_RCTRL
 
-#if defined(TARGET_SDL2)
 #define KSYM_Meta_L            SDLK_LGUI
 #define KSYM_Meta_R            SDLK_RGUI
-#else
-#define KSYM_Meta_L            SDLK_LMETA
-#define KSYM_Meta_R            SDLK_RMETA
-#endif
 
 #define KSYM_Alt_L             SDLK_LALT
 #define KSYM_Alt_R             SDLK_RALT
-#if !defined(TARGET_SDL2)
-#define KSYM_Super_L           SDLK_LSUPER
-#define KSYM_Super_R           SDLK_RSUPER
-#endif
 #define KSYM_Mode_switch       SDLK_MODE
 #define KSYM_Multi_key         SDLK_RCTRL
 
@@ -196,9 +154,13 @@ struct MouseCursorInfo
 #define KSYM_Page_Up           SDLK_PAGEUP
 #define KSYM_Page_Down         SDLK_PAGEDOWN
 
-#if defined(TARGET_SDL2)
+#define KSYM_Select            SDLK_SELECT
 #define KSYM_Menu              SDLK_MENU
 #define KSYM_Back              SDLK_AC_BACK
+#define KSYM_PlayPause         SDLK_AUDIOPLAY
+#if defined(PLATFORM_ANDROID)
+#define KSYM_Rewind            SDLK_AUDIOREWIND
+#define KSYM_FastForward       SDLK_AUDIOFASTFORWARD
 #endif
 
 #define KSYM_space             SDLK_SPACE
@@ -206,13 +168,7 @@ struct MouseCursorInfo
 #define KSYM_quotedbl          SDLK_QUOTEDBL
 #define KSYM_numbersign                SDLK_HASH
 #define KSYM_dollar            SDLK_DOLLAR
-
-#if defined(TARGET_SDL2)
 #define KSYM_percent           SDLK_PERCENT
-#else
-#define KSYM_percent           37                      /* undefined in SDL */
-#endif
-
 #define KSYM_ampersand         SDLK_AMPERSAND
 #define KSYM_apostrophe                SDLK_QUOTE
 #define KSYM_parenleft         SDLK_LEFTPAREN
@@ -239,13 +195,12 @@ struct MouseCursorInfo
 #define KSYM_underscore                SDLK_UNDERSCORE
 #define KSYM_grave             SDLK_BACKQUOTE
 
-#define KSYM_quoteleft         KSYM_UNDEFINED          /* undefined */
-#define KSYM_braceleft         KSYM_UNDEFINED          /* undefined */
-#define KSYM_bar               KSYM_UNDEFINED          /* undefined */
-#define KSYM_braceright                KSYM_UNDEFINED          /* undefined */
-#define KSYM_asciitilde                KSYM_UNDEFINED          /* undefined */
+#define KSYM_quoteleft         KSYM_UNDEFINED          // undefined
+#define KSYM_braceleft         KSYM_UNDEFINED          // undefined
+#define KSYM_bar               KSYM_UNDEFINED          // undefined
+#define KSYM_braceright                KSYM_UNDEFINED          // undefined
+#define KSYM_asciitilde                KSYM_UNDEFINED          // undefined
 
-#if defined(TARGET_SDL2)
 #define KSYM_degree            176
 #define KSYM_Adiaeresis                196
 #define KSYM_Odiaeresis                214
@@ -254,16 +209,6 @@ struct MouseCursorInfo
 #define KSYM_odiaeresis                246
 #define KSYM_udiaeresis                252
 #define KSYM_ssharp            223
-#else
-#define KSYM_degree            SDLK_WORLD_16
-#define KSYM_Adiaeresis                SDLK_WORLD_36
-#define KSYM_Odiaeresis                SDLK_WORLD_54
-#define KSYM_Udiaeresis                SDLK_WORLD_60
-#define KSYM_adiaeresis                SDLK_WORLD_68
-#define KSYM_odiaeresis                SDLK_WORLD_86
-#define KSYM_udiaeresis                SDLK_WORLD_92
-#define KSYM_ssharp            SDLK_WORLD_63
-#endif
 
 #ifndef SDLK_A
 #define SDLK_A                 65
@@ -359,7 +304,6 @@ struct MouseCursorInfo
 #define KSYM_8                 SDLK_8
 #define KSYM_9                 SDLK_9
 
-#if defined(TARGET_SDL2)
 #define KSYM_KP_0              SDLK_KP_0
 #define KSYM_KP_1              SDLK_KP_1
 #define KSYM_KP_2              SDLK_KP_2
@@ -370,18 +314,6 @@ struct MouseCursorInfo
 #define KSYM_KP_7              SDLK_KP_7
 #define KSYM_KP_8              SDLK_KP_8
 #define KSYM_KP_9              SDLK_KP_9
-#else
-#define KSYM_KP_0              SDLK_KP0
-#define KSYM_KP_1              SDLK_KP1
-#define KSYM_KP_2              SDLK_KP2
-#define KSYM_KP_3              SDLK_KP3
-#define KSYM_KP_4              SDLK_KP4
-#define KSYM_KP_5              SDLK_KP5
-#define KSYM_KP_6              SDLK_KP6
-#define KSYM_KP_7              SDLK_KP7
-#define KSYM_KP_8              SDLK_KP8
-#define KSYM_KP_9              SDLK_KP9
-#endif
 
 #define KSYM_F1                        SDLK_F1
 #define KSYM_F2                        SDLK_F2
@@ -405,15 +337,8 @@ struct MouseCursorInfo
 #define KMOD_Shift_R           KMOD_RSHIFT
 #define KMOD_Control_L         KMOD_LCTRL
 #define KMOD_Control_R         KMOD_RCTRL
-
-#if defined(TARGET_SDL2)
 #define KMOD_Meta_L            KMOD_LGUI
 #define KMOD_Meta_R            KMOD_RGUI
-#else
-#define KMOD_Meta_L            KMOD_LMETA
-#define KMOD_Meta_R            KMOD_RMETA
-#endif
-
 #define KMOD_Alt_L             KMOD_LALT
 #define KMOD_Alt_R             KMOD_RALT
 
@@ -422,25 +347,33 @@ struct MouseCursorInfo
 #define KMOD_Meta              (KMOD_Meta_L    | KMOD_Meta_R)
 #define KMOD_Alt               (KMOD_Alt_L     | KMOD_Alt_R)
 
-#if defined(TARGET_SDL2)
+// this only contains "valid" key modifiers (and ignores keys like "NumLock")
+#define KMOD_Valid             (KMOD_Shift   | \
+                                KMOD_Control | \
+                                KMOD_Meta    | \
+                                KMOD_Alt)
+
 #define KMOD_TextInput         (KMOD_Shift | KMOD_Alt_R)
-#endif
 
-/* SDL function definitions */
+// SDL function definitions
 
 boolean SDLSetNativeSurface(SDL_Surface **);
 SDL_Surface *SDLGetNativeSurface(SDL_Surface *);
 void SDLCreateBitmapTextures(Bitmap *);
 void SDLFreeBitmapTextures(Bitmap *);
 
-#if defined(TARGET_SDL2)
 SDL_Surface *SDL_DisplayFormat(SDL_Surface *);
 void SDLSetWindowScaling(int);
 void SDLSetWindowScalingQuality(char *);
 void SDLSetWindowFullscreen(boolean);
-void SDLRedrawWindow();
-#endif
-
+void SDLSetDisplaySize(void);
+void SDLSetScreenSizeAndOffsets(int, int);
+void SDLSetScreenSizeForRenderer(int, int);
+void SDLSetScreenProperties(void);
+
+void SDLSetScreenRenderingMode(char *);
+void SDLSetScreenVsyncMode(char *);
+void SDLRedrawWindow(void);
 void SDLSetWindowTitle(void);
 
 void SDLLimitScreenUpdates(boolean);
@@ -452,7 +385,7 @@ void SDLFreeBitmapPointers(Bitmap *);
 void SDLCopyArea(Bitmap *, Bitmap *, int, int, int, int, int, int, int);
 void SDLBlitTexture(Bitmap *, int, int, int, int, int, int, int);
 void SDLFillRectangle(Bitmap *, int, int, int, int, Uint32);
-void SDLFadeRectangle(Bitmap *, int, int, int, int, int, int, int,
+void SDLFadeRectangle(int, int, int, int, int, int, int,
                      void (*draw_border_function)(void));
 void SDLDrawSimpleLine(Bitmap *, int, int, int, int, Uint32);
 void SDLDrawLine(Bitmap *, int, int, int, int, Uint32);
@@ -471,11 +404,18 @@ void SDLSetMouseCursor(struct MouseCursorInfo *);
 void SDLOpenAudio(void);
 void SDLCloseAudio(void);
 
-void SDLNextEvent(Event *);
-void SDLHandleWindowManagerEvent(Event *);
+void SDLWaitEvent(Event *);
 
 void HandleJoystickEvent(Event *);
 void SDLInitJoysticks(void);
 boolean SDLReadJoystick(int, int *, int *, boolean *, boolean *);
+boolean SDLCheckJoystickOpened(int);
+void SDLClearJoystickState(void);
+boolean SDLOpenJoystick(int);
+void SDLCloseJoystick(int);
+
+void PrepareFadeBitmap(int);
+
+void Delay_WithScreenUpdates(unsigned int);
 
-#endif /* SDL_H */
+#endif // SDL_H