rnd-20020424-1-src
[rocksndiamonds.git] / src / libgame / sdl.h
index cc60462b05e52fd8b926f03b51a77e2173dbd6a5..a4ce8d648970442a5dd40f8e3e3416c7ff366607 100644 (file)
@@ -1,15 +1,14 @@
 /***********************************************************
-*  Rocks'n'Diamonds -- McDuffin Strikes Back!              *
+* Artsoft Retro-Game Library                               *
 *----------------------------------------------------------*
-*  ©1995 Artsoft Development                               *
-*        Holger Schemel                                    *
-*        33659 Bielefeld-Senne                             *
-*        Telefon: (0521) 493245                            *
-*        eMail: aeglos@valinor.owl.de                      *
-*               aeglos@uni-paderborn.de                    *
-*               q99492@pbhrzx.uni-paderborn.de             *
+* (c) 1994-2001 Artsoft Entertainment                      *
+*               Holger Schemel                             *
+*               Detmolder Strasse 189                      *
+*               33604 Bielefeld                            *
+*               Germany                                    *
+*               e-mail: info@artsoft.org                   *
 *----------------------------------------------------------*
-*  sdl.h                                                   *
+* sdl.h                                                    *
 ***********************************************************/
 
 #ifndef SDL_H
 #define FULLSCREEN_STATUS      FULLSCREEN_AVAILABLE
 
 
-/* structure definitions */
-
-struct SDLSurfaceInfo
-{
-  SDL_Surface *surface;
-  SDL_Surface *surface_masked;
-};
-
-
 /* SDL type definitions */
 
-typedef struct SDLSurfaceInfo  *Bitmap;
-typedef struct SDLSurfaceInfo  *DrawBuffer;
-typedef struct SDLSurfaceInfo  *DrawWindow;
+typedef struct SDLSurfaceInfo  Bitmap;
+typedef struct SDLSurfaceInfo  DrawBuffer;
+typedef struct SDLSurfaceInfo  DrawWindow;
+typedef Uint32                 Pixel;
 
 typedef SDLKey                 Key;
 
@@ -65,6 +56,25 @@ typedef int                  Visual;
 typedef int                    Colormap;
 
 
+/* structure definitions */
+
+struct SDLSurfaceInfo
+{
+  char *source_filename;
+
+  int width, height;
+  SDL_Surface *surface;
+  SDL_Surface *surface_masked;
+  GC gc;
+  GC stored_clip_gc;
+};
+
+struct XY
+{
+  short x, y;
+};
+
+
 /* SDL symbol definitions */
 
 #define None                   0L
@@ -308,13 +318,23 @@ typedef int                       Colormap;
 /* SDL function definitions */
 
 inline void SDLInitVideoDisplay(void);
-inline void SDLInitVideoBuffer(DrawBuffer *, DrawWindow *, boolean);
-inline boolean SDLSetVideoMode(DrawBuffer *, boolean);
-inline void SDLCopyArea(Bitmap, Bitmap, int, int, int, int, int, int, int);
-inline void SDLFillRectangle(Bitmap, int, int, int, int, unsigned int);
-inline void SDLDrawSimpleLine(SDL_Surface *, int, int, int, int, unsigned int);
+inline void SDLInitVideoBuffer(DrawBuffer **, DrawWindow **, boolean);
+inline boolean SDLSetVideoMode(DrawBuffer **, boolean);
+inline void SDLCopyArea(Bitmap *, Bitmap *, int, int, int, int, int, int, int);
+inline void SDLFillRectangle(Bitmap *, int, int, int, int, unsigned int);
+inline void SDLDrawSimpleLine(Bitmap *, int, int, int, int, unsigned int);
+inline void SDLDrawLine(Bitmap *, int, int, int, int, Uint32);
+inline Pixel SDLGetPixel(Bitmap *, int, int);
 
-inline boolean SDLOpenAudio(void);
+Bitmap *SDLLoadImage(char *);
+
+inline void SDLOpenAudio(void);
 inline void SDLCloseAudio(void);
 
+inline void SDLNextEvent(Event *);
+
+void HandleJoystickEvent(Event *);
+void SDLInitJoysticks(void);
+boolean SDLReadJoystick(int, int *, int *, boolean *, boolean *);
+
 #endif /* SDL_H */