X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fx11.h;h=f48584215ffb9440e2f5f60cd3d8c11155b1e7b3;hb=1465ca1ffdf2104d25b9a46ca9bf8a3f175403fd;hp=ca1247c50bc0a2c1459ae6eba6b1186d6e0b96a6;hpb=da14f69fd95c7bd5a0d70cdf4935af06f1f20a04;p=rocksndiamonds.git diff --git a/src/libgame/x11.h b/src/libgame/x11.h index ca1247c5..f4858421 100644 --- a/src/libgame/x11.h +++ b/src/libgame/x11.h @@ -40,9 +40,9 @@ /* X11 type definitions */ -typedef Pixmap Bitmap; -typedef Window DrawWindow; -typedef Drawable DrawBuffer; +typedef struct X11DrawableInfo *Bitmap; +typedef struct X11DrawableInfo *DrawWindow; +typedef struct X11DrawableInfo *DrawBuffer; typedef KeySym Key; @@ -55,6 +55,18 @@ typedef XFocusChangeEvent FocusChangeEvent; typedef XClientMessageEvent ClientMessageEvent; +/* structure definitions */ + +struct X11DrawableInfo +{ + Drawable drawable; + Drawable clip_mask; + GC gc; /* GC for normal drawing (inheritated from 'window') */ + GC stored_clip_gc; /* GC for masked drawing (used for whole Pixmap) */ + GC clip_gc; /* can be 'stored_clip_gc' or one-tile-only clip GC */ +}; + + /* X11 symbol definitions */ #define EVENT_BUTTONPRESS ButtonPress @@ -268,6 +280,7 @@ typedef XClientMessageEvent ClientMessageEvent; /* X11 function definitions */ -inline void X11InitBufferedDisplay(DrawBuffer *, DrawWindow *); +inline void X11InitVideoDisplay(void); +inline void X11InitVideoBuffer(DrawBuffer *, DrawWindow *); #endif /* X11_H */