X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fsdl.h;h=fcf19341a81fd08372a5edd2c67881b012147611;hb=608be3bcd270eb45628a274eddb6dbcc8940accf;hp=81eb7c6aa155513455dc70d15fe3b348b59e4ead;hpb=b8114966908299df586165e00446f21c2ce343bb;p=rocksndiamonds.git diff --git a/src/libgame/sdl.h b/src/libgame/sdl.h index 81eb7c6a..fcf19341 100644 --- a/src/libgame/sdl.h +++ b/src/libgame/sdl.h @@ -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 */ @@ -35,6 +38,7 @@ typedef struct SDLSurfaceInfo Bitmap; typedef struct SDLSurfaceInfo DrawBuffer; typedef struct SDLSurfaceInfo DrawWindow; typedef Uint32 Pixel; +typedef SDL_Cursor *Cursor; typedef SDLKey Key; @@ -66,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,10 +345,14 @@ 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 SDLInvertArea(Bitmap *, int, int, int, int, Uint32); + void SDLZoomBitmap(Bitmap *, Bitmap *); Bitmap *SDLLoadImage(char *); +void SDLSetMouseCursor(struct MouseCursorInfo *); + inline void SDLOpenAudio(void); inline void SDLCloseAudio(void);