rnd-20001128-1-src
[rocksndiamonds.git] / src / system.h
index 1c3b8e20065b72c9f2147c37a3bf1afe0545ca65..0e84953a407dad736dc1d4f5885a9a164bb82619 100644 (file)
 #ifndef SYSTEM_H
 #define SYSTEM_H
 
-#if defined(MSDOS)
-#define PLATFORM_MSDOS
-#elif defined(WIN32)
-#define PLATFORM_WIN32
-#else
-#define PLATFORM_UNIX
-#endif
+#include "platform.h"
 
-#if defined(MSDOS)
+#if defined(PLATFORM_MSDOS)
 #include "msdos.h"
 #endif
 
@@ -34,7 +28,7 @@
 #endif
 
 
-/* system-wide contant definitions */
+/* contant definitions */
 
 #define DEFAULT_DEPTH                  0
 
 #define FULLSCREEN_AVAILABLE           TRUE
 
 
-/* system-wide type definitions */
+/* type definitions */
 
 typedef int (*EventFilter)(const Event *);
 
 
-/* system-wide function definitions */
+/* structure definitions */
 
-inline void InitEventFilter(EventFilter);
-inline void InitBufferedDisplay(DrawBuffer *, DrawWindow *);
+struct SystemInfo
+{
+  boolean audio_available;
+  boolean audio_loops_available;
+  int audio_process_id;
+  int audio_process_pipe[2];
+  int audio_fd;
+};
 
-inline int GetDisplayDepth(void);
 
+/* 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 PendingEvent(void);
-inline void NextEvent(Event *event);
-
-inline Key GetEventKey(KeyEvent *, boolean);
-
 inline boolean SetVideoMode(void);
 inline void ChangeVideoModeIfNeeded(void);
 
 inline boolean InitAudio(void);
 
+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 */