X-Git-Url: https://git.artsoft.org/?p=rocksndiamonds.git;a=blobdiff_plain;f=src%2Flibgame%2Fsdl.h;h=121b15bf65769f6fad34e2fe02565ea2bfbe0145;hp=16c62c0f50034b4608ba004178d66074a653abae;hb=30f5fd7b8f2235820dcbe638a18319d802317530;hpb=36cfa0205e5a618c59e2e24c1c6650597a59ddca diff --git a/src/libgame/sdl.h b/src/libgame/sdl.h index 16c62c0f..121b15bf 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 @@ -47,7 +45,20 @@ #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 USE_FINAL_SCREEN_BITMAP FALSE #define CURSOR_MAX_WIDTH 32 #define CURSOR_MAX_HEIGHT 32 @@ -75,18 +86,14 @@ typedef SDL_MouseMotionEvent MotionEvent; #if defined(TARGET_SDL2) 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; -typedef int GC; -typedef int Pixmap; -typedef int Display; -typedef int Visual; -typedef int Colormap; - /* structure definitions */ @@ -97,8 +104,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 @@ -423,16 +432,29 @@ struct MouseCursorInfo /* 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 SDLSetWindowTitle(void); + +void SDLLimitScreenUpdates(boolean); void SDLInitVideoDisplay(void); void SDLInitVideoBuffer(DrawBuffer **, DrawWindow **, boolean); boolean SDLSetVideoMode(DrawBuffer **, 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 (*draw_border_function)(void)); @@ -444,7 +466,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 *);