rnd-20001203-2-src
[rocksndiamonds.git] / src / libgame / sdl.h
index 768dc6fae176402e2f6a0ddd314216bc26c01268..c3c46682d51413330fcbfeb3bd7610c204a72332 100644 (file)
@@ -24,6 +24,8 @@
 
 #define SURFACE_FLAGS          (SDL_SWSURFACE)
 
+#define SDLCOPYAREA_OPAQUE     0
+#define SDLCOPYAREA_MASKED     1
 
 /* system dependent definitions */
 
@@ -33,9 +35,9 @@
 
 /* SDL type definitions */
 
-typedef SDL_Surface           *Bitmap;
-typedef SDL_Surface           *DrawWindow;
-typedef SDL_Surface           *DrawBuffer;
+typedef struct SDLSurfaceInfo  *Bitmap;
+typedef struct SDLSurfaceInfo  *DrawBuffer;
+typedef struct SDLSurfaceInfo  *DrawWindow;
 
 typedef SDLKey                 Key;
 
@@ -54,6 +56,17 @@ typedef int                  Visual;
 typedef int                    Colormap;
 
 
+/* structure definitions */
+
+struct SDLSurfaceInfo
+{
+  SDL_Surface *surface;
+  SDL_Surface *surface_masked;
+  GC gc;
+  GC stored_clip_gc;
+};
+
+
 /* SDL symbol definitions */
 
 #define None                   0L
@@ -299,9 +312,8 @@ typedef int                 Colormap;
 inline void SDLInitVideoDisplay(void);
 inline void SDLInitVideoBuffer(DrawBuffer *, DrawWindow *, boolean);
 inline boolean SDLSetVideoMode(DrawBuffer *, boolean);
-inline void SDLCopyArea(SDL_Surface *, SDL_Surface *,
-                        int, int, int, int, int, int);
-inline void SDLFillRectangle(SDL_Surface *, int, int, int, int, unsigned int);
+inline void SDLCopyArea(Bitmap, Bitmap, int, int, int, int, int, int, int);
+inline void SDLFillRectangle(Bitmap, int, int, int, int, unsigned int);
 inline void SDLDrawSimpleLine(SDL_Surface *, int, int, int, int, unsigned int);
 
 inline boolean SDLOpenAudio(void);