X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fsdl.h;h=196041882e2e08a79ffe8cd2f1eb9bab5a5be026;hp=fe4bf7daef4bc8bdf2fc5467a10bcd9a3923e701;hb=115ce6f2da1914d68b0fe0e5f9082973190dacdd;hpb=6a8e3d4379f0a7421e046ca86168ce1581862a1f diff --git a/src/libgame/sdl.h b/src/libgame/sdl.h index fe4bf7da..19604188 100644 --- a/src/libgame/sdl.h +++ b/src/libgame/sdl.h @@ -1,15 +1,13 @@ -/*********************************************************** -* Artsoft Retro-Game Library * -*----------------------------------------------------------* -* (c) 1994-2006 Artsoft Entertainment * -* Holger Schemel * -* Detmolder Strasse 189 * -* 33604 Bielefeld * -* Germany * -* e-mail: info@artsoft.org * -*----------------------------------------------------------* -* sdl.h * -***********************************************************/ +// ============================================================================ +// Artsoft Retro-Game Library +// ---------------------------------------------------------------------------- +// (c) 1995-2014 by Artsoft Entertainment +// Holger Schemel +// info@artsoft.org +// http://www.artsoft.org/ +// ---------------------------------------------------------------------------- +// sdl.h +// ============================================================================ #ifndef SDL_H #define SDL_H @@ -50,11 +48,9 @@ #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 @@ -84,6 +80,7 @@ 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; @@ -94,12 +91,6 @@ typedef SDL_Event ExposeEvent; typedef SDL_Event FocusChangeEvent; typedef SDL_Event ClientMessageEvent; -typedef int GC; -typedef int Pixmap; -typedef int Display; -typedef int Visual; -typedef int Colormap; - /* structure definitions */ @@ -110,8 +101,10 @@ struct SDLSurfaceInfo int width, height; SDL_Surface *surface; SDL_Surface *surface_masked; - GC gc; - GC stored_clip_gc; +#if defined(TARGET_SDL2) + SDL_Texture *texture; + SDL_Texture *texture_masked; +#endif }; struct MouseCursorInfo @@ -135,6 +128,7 @@ struct MouseCursorInfo #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 @@ -205,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 @@ -430,31 +430,48 @@ 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 /* 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(); +void SDLSetDisplaySize(void); +void SDLSetScreenSizeAndOffsets(int, int); +void SDLSetScreenSizeForRenderer(int, int); +void SDLSetScreenProperties(void); #endif +void SDLSetScreenRenderingMode(char *); +void SDLRedrawWindow(void); void SDLSetWindowTitle(void); void SDLLimitScreenUpdates(boolean); void SDLInitVideoDisplay(void); -void SDLInitVideoBuffer(DrawBuffer **, DrawWindow **, boolean); -boolean SDLSetVideoMode(DrawBuffer **, boolean); +void SDLInitVideoBuffer(boolean); +boolean SDLSetVideoMode(boolean); void SDLCreateBitmapContent(Bitmap *, int, int, int); 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); @@ -464,7 +481,7 @@ void SDLPutPixel(Bitmap *, int, int, Pixel); void SDLInvertArea(Bitmap *, int, int, int, int, Uint32); void SDLCopyInverseMasked(Bitmap *, Bitmap *, int, int, int, int, int, int); -void SDLZoomBitmap(Bitmap *, Bitmap *); +Bitmap *SDLZoomBitmap(Bitmap *, int, int); Bitmap *SDLLoadImage(char *); @@ -473,11 +490,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 */