rnd-20030411-1-src
[rocksndiamonds.git] / src / libgame / sdl.h
index c2f55ee9e56e645378ae0e8d1851738e7ff25d9c..4ea00b5fa27a7cfeac4e9fcf40f361bfa42a875f 100644 (file)
@@ -28,6 +28,9 @@
 #define TARGET_STRING          "SDL"
 #define FULLSCREEN_STATUS      FULLSCREEN_AVAILABLE
 
+#define CURSOR_MAX_WIDTH       32
+#define CURSOR_MAX_HEIGHT      32
+
 
 /* SDL type definitions */
 
@@ -67,6 +70,15 @@ struct SDLSurfaceInfo
   GC stored_clip_gc;
 };
 
+struct MouseCursorInfo
+{
+  int width, height;
+  int hot_x, hot_y;
+
+  char data[CURSOR_MAX_WIDTH * CURSOR_MAX_HEIGHT / 8];
+  char mask[CURSOR_MAX_WIDTH * CURSOR_MAX_HEIGHT / 8];
+};
+
 struct XY
 {
   short x, y;
@@ -332,14 +344,17 @@ inline void SDLFillRectangle(Bitmap *, int, int, int, int, Uint32);
 inline void SDLDrawSimpleLine(Bitmap *, int, int, int, int, Uint32);
 inline void SDLDrawLine(Bitmap *, int, int, int, int, Uint32);
 inline Pixel SDLGetPixel(Bitmap *, int, int);
+inline void SDLPutPixel(Bitmap *, int, int, Pixel);
 
 inline void SDLInvertArea(Bitmap *, int, int, int, int, Uint32);
+inline void SDLCopyInverseMasked(Bitmap *, Bitmap *, int, int, int, int,
+                                int, int);
 
 void SDLZoomBitmap(Bitmap *, Bitmap *);
 
 Bitmap *SDLLoadImage(char *);
 
-void SDLSetMouseCursor(const char **);
+void SDLSetMouseCursor(struct MouseCursorInfo *);
 
 inline void SDLOpenAudio(void);
 inline void SDLCloseAudio(void);