Merge branch 'master' into global-anims
[rocksndiamonds.git] / src / libgame / sdl.h
index 3525122001825f750a9cf62826cd4c350c7203b7..121b15bf65769f6fad34e2fe02565ea2bfbe0145 100644 (file)
@@ -58,6 +58,8 @@
 #define FULLSCREEN_STATUS      FULLSCREEN_AVAILABLE
 #endif
 
+#define USE_FINAL_SCREEN_BITMAP        FALSE
+
 #define CURSOR_MAX_WIDTH       32
 #define CURSOR_MAX_HEIGHT      32
 
@@ -92,12 +94,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 */
 
@@ -108,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
@@ -436,6 +434,8 @@ struct MouseCursorInfo
 
 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 *);
@@ -454,6 +454,7 @@ 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));