/***********************************************************
* Artsoft Retro-Game Library *
*----------------------------------------------------------*
-* (c) 1994-2000 Artsoft Entertainment *
+* (c) 1994-2001 Artsoft Entertainment *
* Holger Schemel *
* Detmolder Strasse 189 *
* 33604 Bielefeld *
typedef struct
{
+ unsigned int type; /* type of image (True-Color etc.) */
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 */
+ unsigned int bytes_per_pixel;/* (depth + 7) / 8 */
+ unsigned int bytes_per_row; /* width * bytes_per_pixel */
byte *data; /* image data */
} Image;
+#define IMAGETYPE_BITMAP 0 /* monochrome bitmap */
+#define IMAGETYPE_RGB 1 /* RGB image with colormap */
+#define IMAGETYPE_TRUECOLOR 2 /* true-color image */
+
+#define TRUECOLOR_RED(pixel) (((unsigned long)((pixel) & 0xff0000)) >> 16)
+#define TRUECOLOR_GREEN(pixel) (((unsigned long)((pixel) & 0xff00)) >> 8)
+#define TRUECOLOR_BLUE(pixel) ( (unsigned long)((pixel) & 0xff))
+#define RGB_TO_TRUECOLOR(r,g,b) ((((unsigned long)((r) & 0xff00)) << 8) | ((g) & 0xff00) | (((unsigned short)(b)) >> 8))
+
Image *newImage(unsigned int, unsigned int, unsigned int);
void freeImage(Image *);
void freeXImage(Image *, XImageInfo *);