rnd-20020803-1-src
[rocksndiamonds.git] / src / libgame / x11.h
index f48584215ffb9440e2f5f60cd3d8c11155b1e7b3..c42f25cc54fe4d896277a192c5348b01351e2d2f 100644 (file)
@@ -1,15 +1,14 @@
 /***********************************************************
-*  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-2002 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 struct X11DrawableInfo *Bitmap;
-typedef struct X11DrawableInfo *DrawWindow;
-typedef struct X11DrawableInfo *DrawBuffer;
+typedef struct X11DrawableInfo Bitmap;
+typedef struct X11DrawableInfo DrawWindow;
+typedef struct X11DrawableInfo DrawBuffer;
+/* "Pixel" is already defined in X11/Intrinsic.h */
 
 typedef KeySym                 Key;
 
@@ -59,13 +59,22 @@ typedef XClientMessageEvent ClientMessageEvent;
 
 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 */
 
@@ -277,10 +286,15 @@ struct X11DrawableInfo
 #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 */