rnd-20140515-1-src
[rocksndiamonds.git] / src / libgame / x11.h
index a7aaf38aa1a3b935ee5685ac6548d8cef109840e..6e46e78d0b1ac7f0c5b9c162c776226e89fe6515 100644 (file)
@@ -1,7 +1,7 @@
 /***********************************************************
 * Artsoft Retro-Game Library                               *
 *----------------------------------------------------------*
-* (c) 1994-2002 Artsoft Entertainment                      *
+* (c) 1994-2006 Artsoft Entertainment                      *
 *               Holger Schemel                             *
 *               Detmolder Strasse 189                      *
 *               33604 Bielefeld                            *
@@ -14,7 +14,6 @@
 #ifndef X11_H
 #define X11_H
 
-#if !defined(PLATFORM_MSDOS)
 #define XK_MISCELLANY
 #define XK_LATIN1
 
 #include <X11/Xos.h>
 #include <X11/Intrinsic.h>
 #include <X11/keysymdef.h>
-#endif
 
 
 /* system dependent definitions */
 
-/* MS-DOS header file also defines "TARGET_STRING" */
-#ifndef TARGET_STRING
 #define TARGET_STRING          "X11"
-#endif
 
-#if defined(PLATFORM_UNIX)
 /* This triggers some stuff that is needed because X11 (XSetClipOrigin(),
    to be precise) is often very slow when preparing a masked XCopyArea()
    for big Pixmaps.
    To prevent this, small (tile-sized) mask Pixmaps are created which will
    then be set much faster with XSetClipOrigin() and speed things up a lot. */
 #define TARGET_X11_NATIVE_PERFORMANCE_WORKAROUND
-#endif
 
+#define WINDOW_SCALING_STATUS  WINDOW_SCALING_NOT_AVAILABLE
 #define FULLSCREEN_STATUS      FULLSCREEN_NOT_AVAILABLE
 
 #define CURSOR_MAX_WIDTH       32
@@ -75,7 +69,7 @@ struct X11DrawableInfo
 {
   char *source_filename;
 
-  int width, height;
+  unsigned int width, height;
   Drawable drawable;
   Drawable clip_mask;
   GC gc;               /* GC for normal drawing (inheritated from 'window') */
@@ -198,6 +192,7 @@ struct MouseCursorInfo
 #define KSYM_braceright                XK_braceright
 #define KSYM_asciitilde                XK_asciitilde
 
+#define KSYM_degree            XK_degree
 #define KSYM_Adiaeresis                XK_Adiaeresis
 #define KSYM_Odiaeresis                XK_Odiaeresis
 #define KSYM_Udiaeresis                XK_Udiaeresis
@@ -332,6 +327,8 @@ struct MouseCursorInfo
 void X11InitVideoDisplay(void);
 void X11InitVideoBuffer(DrawBuffer **, DrawWindow **);
 
+void X11CloseWindow(DrawWindow *);
+
 void X11ZoomBitmap(Bitmap *, Bitmap *);
 Bitmap *X11LoadImage(char *);
 
@@ -339,7 +336,8 @@ 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 X11FadeRectangle(Bitmap *, int, int, int, int, int, int, int,
+                     void (*draw_border_function)(void));
 void X11DrawSimpleLine(Bitmap *, int, int, int, int, Pixel);
 Pixel X11GetPixel(Bitmap *, int, int);
 Pixel X11GetPixelFromRGB(unsigned int, unsigned int, unsigned int);