X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Flibgame%2Fx11.h;h=6e46e78d0b1ac7f0c5b9c162c776226e89fe6515;hb=959794cfda1f83edc51512211ae5a9f6b1e0b179;hp=99dc4c9cf6cdb0f4f909a5ab64f67cd6a492bd00;hpb=12a224578d49391c7c4c27ad898059ae17e9b880;p=rocksndiamonds.git diff --git a/src/libgame/x11.h b/src/libgame/x11.h index 99dc4c9c..6e46e78d 100644 --- a/src/libgame/x11.h +++ b/src/libgame/x11.h @@ -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 @@ -24,25 +23,20 @@ #include #include #include -#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') */ @@ -93,11 +87,6 @@ struct MouseCursorInfo char mask[CURSOR_MAX_WIDTH * CURSOR_MAX_HEIGHT / 8]; }; -struct XY -{ - short x, y; -}; - /* X11 symbol definitions */ @@ -203,6 +192,7 @@ struct XY #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 @@ -334,19 +324,24 @@ struct XY /* 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); +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 *);