added support for (normal and adaptive) vertical sync (vsync)
[rocksndiamonds.git] / src / libgame / sdl.h
index f9fc1a87b2d6132d4e6b5bfb92ffc2d900c9c681..d61e0b26b9f0ec6966a9986b2743edd61dd3fd95 100644 (file)
@@ -199,8 +199,14 @@ struct MouseCursorInfo
 #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
 #endif
 
 #define KSYM_space             SDLK_SPACE
@@ -424,6 +430,12 @@ struct MouseCursorInfo
 #define KMOD_Meta              (KMOD_Meta_L    | KMOD_Meta_R)
 #define KMOD_Alt               (KMOD_Alt_L     | KMOD_Alt_R)
 
+/* this only contains "valid" key modifiers (and ignores keys like "NumLock") */
+#define KMOD_Valid             (KMOD_Shift   | \
+                                KMOD_Control | \
+                                KMOD_Meta    | \
+                                KMOD_Alt)
+
 #if defined(TARGET_SDL2)
 #define KMOD_TextInput         (KMOD_Shift | KMOD_Alt_R)
 #endif
@@ -447,7 +459,8 @@ void SDLSetScreenProperties(void);
 #endif
 
 void SDLSetScreenRenderingMode(char *);
-void SDLRedrawWindow();
+void SDLSetScreenVsyncMode(char *);
+void SDLRedrawWindow(void);
 void SDLSetWindowTitle(void);
 
 void SDLLimitScreenUpdates(boolean);
@@ -478,14 +491,19 @@ void SDLSetMouseCursor(struct MouseCursorInfo *);
 void SDLOpenAudio(void);
 void SDLCloseAudio(void);
 
-void SDLNextEvent(Event *);
+void SDLWaitEvent(Event *);
 void SDLHandleWindowManagerEvent(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 */