added custom graphics properties to define image and in-game tile size
[rocksndiamonds.git] / src / libgame / image.h
index 4f55fe3a651c541e576043d44e38ffa5618fc516..12754ea9f2f9468fe3d5fa4727caa503d2fa4de5 100644 (file)
@@ -1,63 +1,39 @@
 /***********************************************************
-*  Rocks'n'Diamonds -- McDuffin Strikes Back!              *
+* Artsoft Retro-Game Library                               *
 *----------------------------------------------------------*
-*  (c) 1995-98 Artsoft Entertainment                       *
-*              Holger Schemel                              *
-*              Oststrasse 11a                              *
-*              33604 Bielefeld                             *
-*              phone: ++49 +521 290471                     *
-*              email: aeglos@valinor.owl.de                *
+* (c) 1994-2006 Artsoft Entertainment                      *
+*               Holger Schemel                             *
+*               Detmolder Strasse 189                      *
+*               33604 Bielefeld                            *
+*               Germany                                    *
+*               e-mail: info@artsoft.org                   *
 *----------------------------------------------------------*
-*  image.h                                                 *
+* image.h                                                  *
 ***********************************************************/
 
 #ifndef IMAGE_H
 #define IMAGE_H
 
-#include "platform.h"
+#include "system.h"
 
-#ifndef TARGET_SDL
 
-#include "types.h"
-#include "x11.h"
+int getImageListSize();
+struct FileInfo *getImageListEntryFromImageID(int);
+Bitmap *getBitmapFromImageID(int);
+int getOriginalImageWidthFromImageID(int);
+int getOriginalImageHeightFromImageID(int);
+char *getTokenFromImageID(int);
+int getImageIDFromToken(char *);
+char *getImageConfigFilename();
+int getImageListPropertyMappingSize();
+struct PropertyMapping *getImageListPropertyMapping();
+void InitImageList(struct ConfigInfo *, int, struct ConfigTypeInfo *,
+                  char **, char **, char **, char **, char **);
 
-#define MAX_COLORS     256     /* maximal number of colors for each image */
+void ReloadCustomImages();
+void CreateImageWithSmallImages(int, int, int);
+void ScaleImage(int, int);
 
-typedef unsigned short Intensity;      /* RGB intensity for X11 */
+void FreeAllImages();
 
-typedef struct
-{
-  Display  *display;           /* destination display             */
-  int       depth;             /* depth of destination drawable   */
-  Pixel     index[MAX_COLORS]; /* array of pixel values           */
-  int       no;                        /* number of pixels in the array   */
-  Colormap  cmap;              /* colormap used for image         */
-  Pixmap   pixmap;             /* final pixmap                    */
-  Pixmap   pixmap_mask;                /* final pixmap of mask            */
-} XImageInfo;
-
-struct RGBMap
-{
-  unsigned int used;                   /* number of colors used in RGB map */
-  Intensity    red[MAX_COLORS];                /* color values in X style          */
-  Intensity    green[MAX_COLORS];
-  Intensity    blue[MAX_COLORS];
-  boolean      color_used[MAX_COLORS]; /* flag if color cell is used       */
-};
-
-typedef struct
-{
-  struct RGBMap rgb;           /* RGB map of image if IRGB type       */
-  unsigned int  width;         /* width of image in pixels            */
-  unsigned int  height;                /* height of image in pixels           */
-  unsigned int  depth;         /* depth of image in bits if IRGB type */
-  byte         *data;          /* image data                          */
-} Image;
-
-Image *newImage(unsigned int, unsigned int, unsigned int);
-void freeImage(Image *);
-void freeXImage(Image *, XImageInfo *);
-int Read_PCX_to_Pixmap(Display *, Window, GC, char *, Pixmap *, Pixmap *);
-
-#endif /* !TARGET_SDL */
 #endif /* IMAGE_H */