1 /***********************************************************
2 * Rocks'n'Diamonds -- McDuffin Strikes Back! *
3 *----------------------------------------------------------*
4 * ©1995 Artsoft Development *
6 * 33659 Bielefeld-Senne *
7 * Telefon: (0521) 493245 *
8 * eMail: aeglos@valinor.owl.de *
9 * aeglos@uni-paderborn.de *
10 * q99492@pbhrzx.uni-paderborn.de *
11 *----------------------------------------------------------*
13 ***********************************************************/
20 #if defined(PLATFORM_MSDOS)
24 #if defined(TARGET_SDL)
26 #elif defined(TARGET_X11)
31 /* contant definitions */
33 #define DEFAULT_DEPTH 0
35 #define FULLSCREEN_NOT_AVAILABLE FALSE
36 #define FULLSCREEN_AVAILABLE TRUE
39 /* type definitions */
41 typedef int (*EventFilter)(const Event *);
44 /* structure definitions */
46 struct VideoSystemInfo
48 boolean fullscreen_available;
49 boolean fullscreen_enabled;
52 struct AudioSystemInfo
54 boolean sound_available;
55 boolean loops_available;
56 int soundserver_pipe[2];
67 char *ro_base_directory;
68 char *rw_base_directory;
69 char *level_directory;
77 /* ========================================================================= */
78 /* exported variables */
79 /* ========================================================================= */
81 extern struct VideoSystemInfo video;
82 extern struct AudioSystemInfo audio;
83 extern struct OptionInfo options;
86 /* declarations of internal variables */
88 extern Display *display;
89 extern Visual *visual;
93 extern DrawWindow window;
96 extern int FrameCounter;
99 /* function definitions */
101 inline void InitBufferedDisplay(DrawBuffer *, DrawWindow *);
102 inline int GetDisplayDepth(void);
103 inline Bitmap CreateBitmap(int, int, int);
104 inline void FreeBitmap(Bitmap);
105 inline void ClearRectangle(Bitmap, int, int, int, int);
106 inline void BlitBitmap(Bitmap, Bitmap, int, int, int, int, int, int);
107 inline void SetClipMask(GC, Pixmap);
108 inline void SetClipOrigin(GC, int, int);
109 inline void BlitBitmapMasked(Bitmap, Bitmap, int, int, int, int, int, int);
110 inline void DrawSimpleWhiteLine(Bitmap, int, int, int, int);
111 inline void FlushDisplay(void);
112 inline void SyncDisplay(void);
113 inline void KeyboardAutoRepeatOn(void);
114 inline void KeyboardAutoRepeatOff(void);
115 inline boolean PointerInWindow(DrawWindow);
116 inline boolean SetVideoMode(boolean);
117 inline boolean ChangeVideoModeIfNeeded(boolean);
119 inline boolean OpenAudio(struct AudioSystemInfo *);
120 inline void CloseAudio(struct AudioSystemInfo *);
122 inline void InitEventFilter(EventFilter);
123 inline boolean PendingEvent(void);
124 inline void NextEvent(Event *event);
125 inline Key GetEventKey(KeyEvent *, boolean);
126 inline boolean CheckCloseWindowEvent(ClientMessageEvent *);
128 #endif /* SYSTEM_H */