#ifndef SYSTEM_H
#define SYSTEM_H
-#ifndef MSDOS
-#include <X11/Xlib.h>
-#include <X11/Xutil.h>
-#include <X11/Xatom.h>
-#include <X11/Xos.h>
-#include <X11/Intrinsic.h>
-#include <X11/keysymdef.h>
+#if !defined(USE_SDL_LIBRARY)
+#define USE_X11_LIBRARY
#endif
-#ifdef USE_SDL_LIBRARY
-#include "sdl.h"
+#if defined(XPM_INCLUDE_FILE) && !defined(MSDOS)
+#define USE_XPM_LIBRARY
+#include XPM_INCLUDE_FILE
#endif
-#ifdef USE_SDL_LIBRARY
-typedef SDL_Surface *Bitmap;
-typedef SDL_Surface *DrawWindow;
-typedef SDL_Surface *DrawBuffer;
-#else
-typedef Pixmap Bitmap;
-typedef Window DrawWindow;
-typedef Drawable DrawBuffer;
+#if defined(MSDOS)
+#include "msdos.h"
#endif
-#ifdef USE_SDL_LIBRARY
-
-typedef SDL_Event Event;
-typedef SDL_MouseButtonEvent ButtonEvent;
-typedef SDL_MouseMotionEvent MotionEvent;
-typedef XKeyEvent KeyEvent;
-typedef XExposeEvent ExposeEvent;
-typedef XFocusChangeEvent FocusChangeEvent;
-typedef XClientMessageEvent ClientMessageEvent;
-
-#define EVENT_BUTTONPRESS SDL_MOUSEBUTTONDOWN
-#define EVENT_BUTTONRELEASE SDL_MOUSEBUTTONUP
-#define EVENT_MOTIONNOTIFY SDL_MOUSEMOTION
-#define EVENT_KEYPRESS SDL_KEYDOWN
-#define EVENT_KEYRELEASE SDL_KEYUP
-#define EVENT_EXPOSE SDL_USEREVENT + 0
-#define EVENT_FOCUSIN SDL_USEREVENT + 1
-#define EVENT_FOCUSOUT SDL_USEREVENT + 2
-#define EVENT_CLIENTMESSAGE SDL_QUIT
-#define EVENT_MAPNOTIFY SDL_USEREVENT + 4
-#define EVENT_UNMAPNOTIFY SDL_USEREVENT + 5
-
-#else
-
-typedef XEvent Event;
-typedef XButtonEvent ButtonEvent;
-typedef XMotionEvent MotionEvent;
-typedef XKeyEvent KeyEvent;
-typedef XExposeEvent ExposeEvent;
-typedef XFocusChangeEvent FocusChangeEvent;
-typedef XClientMessageEvent ClientMessageEvent;
-
-#define EVENT_BUTTONPRESS ButtonPress
-#define EVENT_BUTTONRELEASE ButtonRelease
-#define EVENT_MOTIONNOTIFY MotionNotify
-#define EVENT_KEYPRESS KeyPress
-#define EVENT_KEYRELEASE KeyRelease
-#define EVENT_EXPOSE Expose
-#define EVENT_FOCUSIN FocusIn
-#define EVENT_FOCUSOUT FocusOut
-#define EVENT_CLIENTMESSAGE ClientMessage
-#define EVENT_MAPNOTIFY MapNotify
-#define EVENT_UNMAPNOTIFY UnmapNotify
-
+#if defined(USE_SDL_LIBRARY)
+#include "sdl.h"
+#elif defined(USE_X11_LIBRARY)
+#include "x11.h"
#endif
inline void ClearRectangle(Bitmap, int, int, int, int);
inline void SyncDisplay();
inline void KeyboardAutoRepeatOn();
inline void KeyboardAutoRepeatOff();
-inline boolean QueryPointer(DrawWindow, int *, int *);
+inline boolean PointerInWindow(DrawWindow);
inline boolean PendingEvent();
inline void NextEvent(Event *event);
+inline Key GetEventKey(KeyEvent *, boolean);
+
#endif /* SYSTEM_H */