X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fx11.h;h=4ef96acbd976f5553dcbb751d58375626bb51c7e;hb=c956237d7c5507aea649ce7b20c00d7bd9d37a7a;hp=3db9bae3aac2427a7329a46eaf8535e1a1341ef6;hpb=3d52a86d358f5b1a4b36b80df5d659bce1f5a3a6;p=rocksndiamonds.git diff --git a/src/libgame/x11.h b/src/libgame/x11.h index 3db9bae3..4ef96acb 100644 --- a/src/libgame/x11.h +++ b/src/libgame/x11.h @@ -45,13 +45,17 @@ #define FULLSCREEN_STATUS FULLSCREEN_NOT_AVAILABLE +#define CURSOR_MAX_WIDTH 32 +#define CURSOR_MAX_HEIGHT 32 + /* X11 type definitions */ typedef struct X11DrawableInfo Bitmap; typedef struct X11DrawableInfo DrawWindow; typedef struct X11DrawableInfo DrawBuffer; -/* "Pixel" is already defined in X11/Intrinsic.h */ +/* "Pixel" is already defined */ +/* "Cursor" is already defined */ typedef KeySym Key; @@ -79,6 +83,15 @@ struct X11DrawableInfo GC clip_gc; /* can be 'stored_clip_gc' or one-tile-only 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; @@ -87,6 +100,9 @@ struct XY /* X11 symbol definitions */ +#define BLACK_PIXEL BlackPixel(display, screen) +#define WHITE_PIXEL WhitePixel(display, screen) + #define EVENT_BUTTONPRESS ButtonPress #define EVENT_BUTTONRELEASE ButtonRelease #define EVENT_MOTIONNOTIFY MotionNotify @@ -306,7 +322,18 @@ inline void X11InitVideoDisplay(void); inline void X11InitVideoBuffer(DrawBuffer **, DrawWindow **); void X11ZoomBitmap(Bitmap *, Bitmap *); - Bitmap *X11LoadImage(char *); +inline void X11CreateBitmapContent(Bitmap *, int, int, int); +inline void X11FreeBitmapPointers(Bitmap *); +inline void X11CopyArea(Bitmap *, Bitmap *, int, int, int, int, int, int, int); +inline void X11FillRectangle(Bitmap *, int, int, int, int, Pixel); +inline void X11DrawSimpleLine(Bitmap *, int, int, int, int, Pixel); +inline Pixel X11GetPixel(Bitmap *, int, int); +inline Pixel X11GetPixelFromRGB(unsigned int, unsigned int, unsigned int); + +#if defined(TARGET_X11_NATIVE) +void X11SetMouseCursor(struct MouseCursorInfo *); +#endif + #endif /* X11_H */