// (c) 1995-2014 by Artsoft Entertainment
// Holger Schemel
// info@artsoft.org
-// http://www.artsoft.org/
+// https://www.artsoft.org/
// ----------------------------------------------------------------------------
// sdl.h
// ============================================================================
#include <SDL_mixer.h>
#include <SDL_net.h>
#include <SDL_thread.h>
-#if defined(PLATFORM_WIN32)
+#if defined(PLATFORM_WINDOWS)
#include <SDL_syswm.h>
#endif
// 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)
typedef SDL_Event PauseResumeEvent;
typedef SDL_WindowEvent WindowEvent;
typedef SDL_KeyboardEvent KeyEvent;
-typedef SDL_Event ClientMessageEvent;
+
+typedef SDL_EventFilter EventFilter;
// structure definitions
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
#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
#define KSYM_FKEY_LAST KSYM_F12
#define KSYM_NUM_FKEYS (KSYM_FKEY_LAST - KSYM_FKEY_FIRST + 1)
+#define KSYM_RAW(k) (((k) >= KSYM_a && \
+ (k) <= KSYM_z) || \
+ ((k) >= KSYM_0 && \
+ (k) <= KSYM_9) || \
+ (k) == KSYM_space)
+
+#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
#define KMOD_TextInput (KMOD_Shift | KMOD_Alt_R)
+
// SDL function definitions
+void SDLSetAlpha(SDL_Surface *, boolean, int);
+const char *SDLGetRendererName(void);
boolean SDLSetNativeSurface(SDL_Surface **);
SDL_Surface *SDLGetNativeSurface(SDL_Surface *);
void SDLCreateBitmapTextures(Bitmap *);
Pixel SDLGetPixel(Bitmap *, int, int);
void SDLPutPixel(Bitmap *, int, int, Pixel);
-void SDLInvertArea(Bitmap *, int, int, int, int, Uint32);
void SDLCopyInverseMasked(Bitmap *, Bitmap *, int, int, int, int, int, int);
Bitmap *SDLZoomBitmap(Bitmap *, int, int);
void SDLCloseAudio(void);
void SDLWaitEvent(Event *);
+void SDLCorrectRawMousePosition(int *, int *);
void HandleJoystickEvent(Event *);
void SDLInitJoysticks(void);