rnd-20001128-1-src
[rocksndiamonds.git] / src / system.h
index 01f5afe8eef40ef80c8261e8bdbd1583c5004bab..0e84953a407dad736dc1d4f5885a9a164bb82619 100644 (file)
 #ifndef SYSTEM_H
 #define SYSTEM_H
 
-#if !defined(USE_SDL_LIBRARY)
-#define USE_X11_LIBRARY
-#endif
-
-#if defined(XPM_INCLUDE_FILE) && !defined(MSDOS)
-#define USE_XPM_LIBRARY
-#include XPM_INCLUDE_FILE
-#endif
+#include "platform.h"
 
-#if defined(MSDOS)
+#if defined(PLATFORM_MSDOS)
 #include "msdos.h"
 #endif
 
-#if defined(USE_SDL_LIBRARY)
+#if defined(TARGET_SDL)
 #include "sdl.h"
-#elif defined(USE_X11_LIBRARY)
+#elif defined(TARGET_X11)
 #include "x11.h"
 #endif
 
+
+/* contant definitions */
+
+#define DEFAULT_DEPTH                  0
+
+#define FULLSCREEN_NOT_AVAILABLE       FALSE
+#define FULLSCREEN_AVAILABLE           TRUE
+
+
+/* type definitions */
+
+typedef int (*EventFilter)(const Event *);
+
+
+/* structure definitions */
+
+struct SystemInfo
+{
+  boolean audio_available;
+  boolean audio_loops_available;
+  int audio_process_id;
+  int audio_process_pipe[2];
+  int audio_fd;
+};
+
+
+/* function definitions */
+
+inline void InitBufferedDisplay(DrawBuffer *, DrawWindow *);
+inline int GetDisplayDepth(void);
+inline Bitmap CreateBitmap(int, int, int);
+inline void FreeBitmap(Bitmap);
 inline void ClearRectangle(Bitmap, int, int, int, int);
 inline void BlitBitmap(Bitmap, Bitmap, int, int, int, int, int, int);
 inline void SetClipMask(GC, Pixmap);
 inline void SetClipOrigin(GC, int, int);
 inline void BlitBitmapMasked(Bitmap, Bitmap, int, int, int, int, int, int);
 inline void DrawSimpleWhiteLine(Bitmap, int, int, int, int);
+inline void FlushDisplay(void);
+inline void SyncDisplay(void);
+inline void KeyboardAutoRepeatOn(void);
+inline void KeyboardAutoRepeatOff(void);
+inline boolean PointerInWindow(DrawWindow);
+inline boolean SetVideoMode(void);
+inline void ChangeVideoModeIfNeeded(void);
 
-inline void FlushDisplay();
-inline void SyncDisplay();
-inline void KeyboardAutoRepeatOn();
-inline void KeyboardAutoRepeatOff();
-inline boolean QueryPointer(DrawWindow, int *, int *);
+inline boolean InitAudio(void);
 
-inline boolean PendingEvent();
+inline void InitEventFilter(EventFilter);
+inline boolean PendingEvent(void);
 inline void NextEvent(Event *event);
-
 inline Key GetEventKey(KeyEvent *, boolean);
+inline boolean CheckCloseWindowEvent(ClientMessageEvent *);
 
 #endif /* SYSTEM_H */