/***********************************************************
* Artsoft Retro-Game Library *
*----------------------------------------------------------*
-* (c) 1994-2002 Artsoft Entertainment *
+* (c) 1994-2006 Artsoft Entertainment *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
#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
{
char *source_filename;
- int width, height;
+ unsigned int width, height;
Drawable drawable;
Drawable clip_mask;
GC gc; /* GC for normal drawing (inheritated from 'window') */
char mask[CURSOR_MAX_WIDTH * CURSOR_MAX_HEIGHT / 8];
};
-struct XY
-{
- short x, y;
-};
-
/* X11 symbol definitions */
#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
/* X11 function definitions */
-inline void X11InitVideoDisplay(void);
-inline void X11InitVideoBuffer(DrawBuffer **, DrawWindow **);
+void X11InitVideoDisplay(void);
+void X11InitVideoBuffer(DrawBuffer **, DrawWindow **);
+
+void X11CloseWindow(DrawWindow *);
void X11ZoomBitmap(Bitmap *, Bitmap *);
Bitmap *X11LoadImage(char *);
-inline void X11CreateBitmapContent(Bitmap *, int, int, int);
-inline void X11FreeBitmapPointers(Bitmap *);
-inline void X11CopyArea(Bitmap *, Bitmap *, int, int, int, int, int, int, int);
-inline void X11FillRectangle(Bitmap *, int, int, int, int, Pixel);
-inline void X11DrawSimpleLine(Bitmap *, int, int, int, int, Pixel);
-inline Pixel X11GetPixel(Bitmap *, int, int);
-inline Pixel X11GetPixelFromRGB(unsigned int, unsigned int, unsigned int);
-inline void X11DestroyImage(XImage *);
+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 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);
+void X11DestroyImage(XImage *);
#if defined(TARGET_X11_NATIVE)
void X11SetMouseCursor(struct MouseCursorInfo *);