X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fx11.h;h=2519955ff530d1f00ee05091943b552ffd6010d8;hb=b124c56f1cf069a6c77802919b1a9cbbedb77029;hp=a4a0577fd1402dab9d3823c7f18e90d0a459556b;hpb=de8b3ae622eae10f1caf96872fb1790f7bd9644b;p=rocksndiamonds.git diff --git a/src/libgame/x11.h b/src/libgame/x11.h index a4a0577f..2519955f 100644 --- a/src/libgame/x11.h +++ b/src/libgame/x11.h @@ -45,6 +45,9 @@ #define FULLSCREEN_STATUS FULLSCREEN_NOT_AVAILABLE +#define CURSOR_MAX_WIDTH 32 +#define CURSOR_MAX_HEIGHT 32 + /* X11 type definitions */ @@ -55,6 +58,7 @@ typedef struct X11DrawableInfo DrawBuffer; /* "Cursor" is already defined */ typedef KeySym Key; +typedef unsigned int KeyMod; typedef XEvent Event; typedef XButtonEvent ButtonEvent; @@ -80,6 +84,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; @@ -303,25 +316,42 @@ struct XY #define KSYM_FKEY_LAST KSYM_F24 #define KSYM_NUM_FKEYS (KSYM_FKEY_LAST - KSYM_FKEY_FIRST + 1) +#define KMOD_None None +#define KMOD_Shift_L 0x0001 +#define KMOD_Shift_R 0x0002 +#define KMOD_Control_L 0x0040 +#define KMOD_Control_R 0x0080 +#define KMOD_Meta_L 0x0400 +#define KMOD_Meta_R 0x0800 +#define KMOD_Alt_L 0x0100 +#define KMOD_Alt_R 0x0200 + +#define KMOD_Shift (KMOD_Shift_L | KMOD_Shift_R) +#define KMOD_Control (KMOD_Control_L | KMOD_Control_R) +#define KMOD_Meta (KMOD_Meta_L | KMOD_Meta_R) +#define KMOD_Alt (KMOD_Alt_L | KMOD_Alt_R) + /* X11 function definitions */ -inline void X11InitVideoDisplay(void); -inline void X11InitVideoBuffer(DrawBuffer **, DrawWindow **); +void X11InitVideoDisplay(void); +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); +void X11CreateBitmapContent(Bitmap *, int, int, int); +void X11FreeBitmapPointers(Bitmap *); +void X11CopyArea(Bitmap *, Bitmap *, int, int, int, int, int, int, int); +void X11FillRectangle(Bitmap *, int, int, int, int, Pixel); +void X11FadeScreen(Bitmap *, int, int, int); +void X11DrawSimpleLine(Bitmap *, int, int, int, int, Pixel); +Pixel X11GetPixel(Bitmap *, int, int); +Pixel X11GetPixelFromRGB(unsigned int, unsigned int, unsigned int); +void X11DestroyImage(XImage *); #if defined(TARGET_X11_NATIVE) -void X11SetMouseCursor(const char **); +void X11SetMouseCursor(struct MouseCursorInfo *); #endif #endif /* X11_H */