Blame src/gd_tga.h

Packit ed3af9
#ifndef __TGA_H
Packit ed3af9
#define __TGA_H	1
Packit ed3af9
Packit ed3af9
#include "gd.h"
Packit ed3af9
#include "gdhelpers.h"
Packit ed3af9
Packit ed3af9
#include "gd_intern.h"
Packit ed3af9
Packit ed3af9
typedef struct oTga_ {
Packit ed3af9
	uint8_t  identsize;	// size of ID field that follows 18 uint8_t header (0 usually)
Packit ed3af9
	uint8_t  colormaptype;	// type of colour map 0=none, 1=has palette					[IGNORED] Adrian requested no support
Packit ed3af9
	uint8_t  imagetype;	// type of image 0=none,1=indexed,2=rgb,3=grey,+8=rle packed
Packit ed3af9
Packit ed3af9
	int colormapstart;	// first colour map entry in palette						[IGNORED] Adrian requested no support
Packit ed3af9
	int colormaplength;	// number of colours in palette								[IGNORED] Adrian requested no support
Packit ed3af9
	uint8_t  colormapbits;	// number of bits per palette entry 15,16,24,32				[IGNORED] Adrian requested no support
Packit ed3af9
Packit ed3af9
	int xstart;			// image x origin
Packit ed3af9
	int ystart;			// image y origin
Packit ed3af9
	int width;			// image width in pixels
Packit ed3af9
	int height;			// image height in pixels
Packit ed3af9
	uint8_t  bits;			// image bits per pixel 8,16,24,32
Packit ed3af9
	uint8_t alphabits;		// alpha bits (low 4bits of header 17)
Packit ed3af9
	uint8_t fliph;			// horizontal or vertical
Packit ed3af9
	uint8_t flipv;			// flip
Packit ed3af9
	char *ident;		// identifcation tag string
Packit ed3af9
	int *bitmap;		// bitmap data
Packit ed3af9
Packit ed3af9
} oTga;
Packit ed3af9
Packit ed3af9
#define TGA_TYPE_NO_IMAGE						0
Packit ed3af9
#define TGA_TYPE_INDEXED						1
Packit ed3af9
#define TGA_TYPE_RGB							2
Packit ed3af9
#define TGA_TYPE_GREYSCALE						3
Packit ed3af9
#define TGA_TYPE_INDEXED_RLE					9
Packit ed3af9
#define TGA_TYPE_RGB_RLE						10
Packit ed3af9
#define TGA_TYPE_GREYSCALE_RLE					11
Packit ed3af9
#define TGA_TYPE_INDEXED_HUFFMAN_DELTA_RLE		32
Packit ed3af9
#define TGA_TYPE_RGB_HUFFMAN_DELTA_QUADTREE_RLE	33
Packit ed3af9
Packit ed3af9
#define TGA_BPP_8	8
Packit ed3af9
#define TGA_BPP_16	16
Packit ed3af9
#define TGA_BPP_24	24
Packit ed3af9
#define TGA_BPP_32	32
Packit ed3af9
Packit ed3af9
#define TGA_RLE_FLAG	128
Packit ed3af9
Packit ed3af9
int read_header_tga(gdIOCtx *ctx, oTga *tga);
Packit ed3af9
int read_image_tga(gdIOCtx *ctx, oTga *tga);
Packit ed3af9
void free_tga(oTga *tga);
Packit ed3af9
Packit ed3af9
#endif //__TGA_H