rnd-20001203-1-src
[rocksndiamonds.git] / src / libgame / x11.h
index ca1247c50bc0a2c1459ae6eba6b1186d6e0b96a6..dc40776669fe84676a606ff6e7258aa3374ee804 100644 (file)
 #define FULLSCREEN_STATUS      FULLSCREEN_NOT_AVAILABLE
 
 
+/* 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 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;
 
@@ -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 */