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 */
52 char *x11_icon_filename;
53 char *x11_iconmask_filename;
56 struct VideoSystemInfo
59 int width, height, depth;
60 boolean fullscreen_available;
61 boolean fullscreen_enabled;
64 struct AudioSystemInfo
66 boolean sound_available;
67 boolean loops_available;
68 int soundserver_pipe[2];
79 char *ro_base_directory;
80 char *rw_base_directory;
81 char *level_directory;
89 /* ========================================================================= */
90 /* exported variables */
91 /* ========================================================================= */
93 extern struct ProgramInfo program;
94 extern struct VideoSystemInfo video;
95 extern struct AudioSystemInfo audio;
96 extern struct OptionInfo options;
99 /* declarations of internal variables */
101 extern Display *display;
102 extern Visual *visual;
104 extern Colormap cmap;
106 extern DrawWindow window;
109 extern int FrameCounter;
112 /* function definitions */
114 inline void InitProgramInfo(char *, char *, char *, char *, char *, char *);
115 inline void InitVideoDisplay(void);
116 inline void InitVideoBuffer(DrawBuffer *,DrawWindow *, int, int, int, boolean);
117 inline Bitmap CreateBitmap(int, int, int);
118 inline void FreeBitmap(Bitmap);
119 inline void ClearRectangle(Bitmap, int, int, int, int);
120 inline void BlitBitmap(Bitmap, Bitmap, int, int, int, int, int, int);
121 inline void SetClipMask(GC, Pixmap);
122 inline void SetClipOrigin(GC, int, int);
123 inline void BlitBitmapMasked(Bitmap, Bitmap, int, int, int, int, int, int);
124 inline void DrawSimpleWhiteLine(Bitmap, int, int, int, int);
125 inline void FlushDisplay(void);
126 inline void SyncDisplay(void);
127 inline void KeyboardAutoRepeatOn(void);
128 inline void KeyboardAutoRepeatOff(void);
129 inline boolean PointerInWindow(DrawWindow);
130 inline boolean SetVideoMode(boolean);
131 inline boolean ChangeVideoModeIfNeeded(boolean);
133 inline boolean OpenAudio(struct AudioSystemInfo *);
134 inline void CloseAudio(struct AudioSystemInfo *);
136 inline void InitEventFilter(EventFilter);
137 inline boolean PendingEvent(void);
138 inline void NextEvent(Event *event);
139 inline Key GetEventKey(KeyEvent *, boolean);
140 inline boolean CheckCloseWindowEvent(ClientMessageEvent *);
142 #endif /* SYSTEM_H */