19 #ifndef _GDISP_IMAGE_H
20 #define _GDISP_IMAGE_H
21 #if (GFX_USE_GDISP && GDISP_NEED_IMAGE) || defined(__DOXYGEN__)
27 #define GDISP_IMAGE_TYPE_UNKNOWN 0
28 #define GDISP_IMAGE_TYPE_NATIVE 1
29 #define GDISP_IMAGE_TYPE_GIF 2
30 #define GDISP_IMAGE_TYPE_BMP 3
31 #define GDISP_IMAGE_TYPE_JPG 4
32 #define GDISP_IMAGE_TYPE_PNG 5
38 #define GDISP_IMAGE_ERR_OK 0
39 #define GDISP_IMAGE_ERR_UNRECOVERABLE 0x8000
40 #define GDISP_IMAGE_ERR_BADFORMAT (GDISP_IMAGE_ERR_UNRECOVERABLE+1)
41 #define GDISP_IMAGE_ERR_BADDATA (GDISP_IMAGE_ERR_UNRECOVERABLE+2)
42 #define GDISP_IMAGE_ERR_UNSUPPORTED (GDISP_IMAGE_ERR_UNRECOVERABLE+3)
43 #define GDISP_IMAGE_ERR_UNSUPPORTED_OK 3
44 #define GDISP_IMAGE_ERR_NOMEMORY (GDISP_IMAGE_ERR_UNRECOVERABLE+4)
45 #define GDISP_IMAGE_ERR_NOSUCHFILE (GDISP_IMAGE_ERR_UNRECOVERABLE+5)
46 #define GDISP_IMAGE_ERR_NULLPOINTER (GDISP_IMAGE_ERR_UNRECOVERABLE+6)
52 #define GDISP_IMAGE_FLG_TRANSPARENT 0x0001
53 #define GDISP_IMAGE_FLG_ANIMATED 0x0002
54 #define GDISP_IMAGE_FLG_MULTIPAGE 0x0004
65 #if GDISP_NEED_IMAGE_ACCOUNTING
69 const struct gdispImageHandlers * fns;
119 #define gdispImageOpenFile(img, filename) gdispImageOpenGFile((img), gfileOpen((filename), "rb"))
134 #define gdispImageOpenBaseFileStream(img, BaseFileStreamPtr) gdispImageOpenGFile((img), gfileOpenBaseFileStream((BaseFileStreamPtr), "rb"))
148 #define gdispImageOpenMemory(img, ptr) gdispImageOpenGFile((img), gfileOpenMemory((void *)(ptr), "rb"))
225 #define gdispImageDraw(img,x,y,cx,cy,sx,sy) gdispGImageDraw(GDISP,img,x,y,cx,cy,sx,sy)
COLOR_TYPE gColor
The color type definition.
gI16 gCoord
The type for a coordinate or length on the screen.
struct GFILE GFILE
A file pointer.
gdispImageError gdispImageCache(gImage *img)
Cache the image.
gU16 gdispImageFlags
Image flags.
gdispImageError gdispImageOpenGFile(gImage *img, GFILE *f)
Open an image using an open GFILE and get it ready for drawing.
gBool gdispImageAdjustPalette(gImage *img, gU16 index, gColor newColor)
Modify an entry in the color palette.
gdispImageError gdispGImageDraw(GDisplay *g, gImage *img, gCoord x, gCoord y, gCoord cx, gCoord cy, gCoord sx, gCoord sy)
Draw the image.
gU16 gdispImageGetPaletteSize(gImage *img)
Get the number of entries in the color palette.
void gdispImageInit(gImage *img)
Initialise a gImage object.
gU16 gdispImageError
An image error code.
gDelay gdispImageNext(gImage *img)
Prepare for the next frame/page in the image file.
gBool gdispImageIsOpen(gImage *img)
Is an image open.
void gdispImageClose(gImage *img)
Close an image and release any dynamically allocated working storage.
void gdispImageSetBgColor(gImage *img, gColor bgcolor)
Set the background color of the image.
gU16 gdispImageType
The type of image.
struct gImage gImage
The structure for an image.
gColor gdispImageGetPalette(gImage *img, gU16 index)
Get an entry in the color palette.
The structure for an image.