X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsdl.h;h=00b2698ad5cb209044da930b55a7ca8c3d3e54a0;hb=2486a7a849210371bb59e733e37b0271a4332d8b;hp=5cc375c8e134aa3ca48ea6a434b43cf9818a8213;hpb=a8816d6e5319f9ec26a45346b08250f61e95c011;p=rocksndiamonds.git diff --git a/src/libgame/sdl.h b/src/libgame/sdl.h index 5cc375c8..00b2698a 100644 --- a/src/libgame/sdl.h +++ b/src/libgame/sdl.h @@ -47,7 +47,18 @@ #define TARGET_STRING "SDL" #endif +#if defined(PLATFORM_ANDROID) +#define WINDOW_SCALING_STATUS WINDOW_SCALING_NOT_AVAILABLE #define FULLSCREEN_STATUS FULLSCREEN_AVAILABLE +#define USE_DESKTOP_FULLSCREEN TRUE +#elif defined(TARGET_SDL2) +#define WINDOW_SCALING_STATUS WINDOW_SCALING_AVAILABLE +#define FULLSCREEN_STATUS FULLSCREEN_AVAILABLE +#define USE_DESKTOP_FULLSCREEN TRUE +#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 @@ -63,16 +74,19 @@ typedef SDL_Cursor *Cursor; #if defined(TARGET_SDL2) typedef SDL_Keycode Key; +typedef SDL_Keymod KeyMod; #else typedef SDLKey Key; -#endif typedef unsigned int KeyMod; +#endif typedef SDL_Event Event; typedef SDL_MouseButtonEvent ButtonEvent; typedef SDL_MouseMotionEvent MotionEvent; #if defined(TARGET_SDL2) typedef SDL_TouchFingerEvent FingerEvent; +typedef SDL_TextInputEvent TextEvent; +typedef SDL_WindowEvent WindowEvent; #endif typedef SDL_KeyboardEvent KeyEvent; typedef SDL_Event ExposeEvent; @@ -123,6 +137,7 @@ struct MouseCursorInfo #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 @@ -161,6 +176,7 @@ struct MouseCursorInfo #define KSYM_Shift_R SDLK_RSHIFT #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 @@ -168,6 +184,7 @@ struct MouseCursorInfo #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) @@ -185,14 +202,24 @@ struct MouseCursorInfo #define KSYM_End SDLK_END #define KSYM_Page_Up SDLK_PAGEUP #define KSYM_Page_Down SDLK_PAGEDOWN + +#if defined(TARGET_SDL2) #define KSYM_Menu SDLK_MENU +#define KSYM_Back SDLK_AC_BACK +#endif #define KSYM_space SDLK_SPACE #define KSYM_exclam SDLK_EXCLAIM #define KSYM_quotedbl SDLK_QUOTEDBL #define KSYM_numbersign SDLK_HASH #define KSYM_dollar SDLK_DOLLAR -#define KSYM_percent KSYM_UNDEFINED /* undefined */ + +#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 @@ -225,7 +252,16 @@ struct MouseCursorInfo #define KSYM_braceright KSYM_UNDEFINED /* undefined */ #define KSYM_asciitilde KSYM_UNDEFINED /* undefined */ -#if !defined(TARGET_SDL2) +#if defined(TARGET_SDL2) +#define KSYM_degree 176 +#define KSYM_Adiaeresis 196 +#define KSYM_Odiaeresis 214 +#define KSYM_Udiaeresis 220 +#define KSYM_adiaeresis 228 +#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 @@ -366,28 +402,17 @@ struct MouseCursorInfo #define KSYM_F10 SDLK_F10 #define KSYM_F11 SDLK_F11 #define KSYM_F12 SDLK_F12 -#define KSYM_F13 SDLK_F13 -#define KSYM_F14 SDLK_F14 -#define KSYM_F15 SDLK_F15 -#define KSYM_F16 KSYM_UNDEFINED -#define KSYM_F17 KSYM_UNDEFINED -#define KSYM_F18 KSYM_UNDEFINED -#define KSYM_F19 KSYM_UNDEFINED -#define KSYM_F20 KSYM_UNDEFINED -#define KSYM_F21 KSYM_UNDEFINED -#define KSYM_F22 KSYM_UNDEFINED -#define KSYM_F23 KSYM_UNDEFINED -#define KSYM_F24 KSYM_UNDEFINED #define KSYM_FKEY_FIRST KSYM_F1 -#define KSYM_FKEY_LAST KSYM_F15 +#define KSYM_FKEY_LAST KSYM_F12 #define KSYM_NUM_FKEYS (KSYM_FKEY_LAST - KSYM_FKEY_FIRST + 1) -#define KMOD_None None +#define KMOD_None KMOD_NONE #define KMOD_Shift_L KMOD_LSHIFT #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 @@ -395,6 +420,7 @@ struct MouseCursorInfo #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 @@ -403,13 +429,23 @@ struct MouseCursorInfo #define KMOD_Meta (KMOD_Meta_L | KMOD_Meta_R) #define KMOD_Alt (KMOD_Alt_L | KMOD_Alt_R) +#if defined(TARGET_SDL2) +#define KMOD_TextInput (KMOD_Shift | KMOD_Alt_R) +#endif /* SDL function definitions */ #if defined(TARGET_SDL2) SDL_Surface *SDL_DisplayFormat(SDL_Surface *); +void SDLSetWindowScaling(int); +void SDLSetWindowScalingQuality(char *); +void SDLSetWindowFullscreen(boolean); +void SDLRedrawWindow(); #endif +void SDLSetWindowTitle(void); + +void SDLLimitScreenUpdates(boolean); void SDLInitVideoDisplay(void); void SDLInitVideoBuffer(DrawBuffer **, DrawWindow **, boolean); boolean SDLSetVideoMode(DrawBuffer **, boolean);