/***********************************************************
-* Rocks'n'Diamonds -- McDuffin Strikes Back! *
+* Artsoft Retro-Game Library *
*----------------------------------------------------------*
-* ©1995 Artsoft Development *
-* Holger Schemel *
-* 33659 Bielefeld-Senne *
-* Telefon: (0521) 493245 *
-* eMail: aeglos@valinor.owl.de *
-* aeglos@uni-paderborn.de *
-* q99492@pbhrzx.uni-paderborn.de *
+* (c) 1994-2001 Artsoft Entertainment *
+* Holger Schemel *
+* Detmolder Strasse 189 *
+* 33604 Bielefeld *
+* Germany *
+* e-mail: info@artsoft.org *
*----------------------------------------------------------*
-* x11.h *
+* x11.h *
***********************************************************/
#ifndef X11_H
/* X11 type definitions */
-typedef Pixmap Bitmap;
-typedef Window DrawWindow;
-typedef Drawable DrawBuffer;
+typedef struct X11DrawableInfo Bitmap;
+typedef struct X11DrawableInfo DrawWindow;
+typedef struct X11DrawableInfo DrawBuffer;
+/* "Pixel" is already defined in X11/Intrinsic.h */
typedef KeySym Key;
typedef XClientMessageEvent ClientMessageEvent;
+/* structure definitions */
+
+struct X11DrawableInfo
+{
+ char *source_filename;
+
+ int width, height;
+ Drawable drawable;
+ Drawable clip_mask;
+ GC gc; /* GC for normal drawing (inheritated from 'window') */
+ GC line_gc[2]; /* GC for foreground and background line drawing */
+ 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 */
+};
+
+struct XY
+{
+ short x, y;
+};
+
+
/* X11 symbol definitions */
#define EVENT_BUTTONPRESS ButtonPress
#define KSYM_F23 XK_F23
#define KSYM_F24 XK_F24
+#define KSYM_FKEY_FIRST KSYM_F1
+#define KSYM_FKEY_LAST KSYM_F24
+#define KSYM_NUM_FKEYS (KSYM_FKEY_LAST - KSYM_FKEY_FIRST + 1)
+
/* X11 function definitions */
inline void X11InitVideoDisplay(void);
-inline void X11InitVideoBuffer(DrawBuffer *, DrawWindow *);
+inline void X11InitVideoBuffer(DrawBuffer **, DrawWindow **);
+Bitmap *X11LoadImage(char *);
#endif /* X11_H */