1 <H4> Update Time 02/13/10---03:46:08 </H4>
4 <H2>Information from source codes</H2>
16 typedef enum tgaFileColorMap {
17 tgaFileColorMapNoColorMap=0,
18 tgaFileColorMapColorMap=1
21 typedef enum tgaFileImageType {
22 tgaFileImageTypeNoImage = 0,
23 tgaFileImageTypeColorMappedImage = 1,
24 tgaFileImageTypeTrueColorImage = 2,
25 tgaFileImageTypeBlackAndWhite = 3,
26 tgaFileImageTypeRLEColorMappedImage = 9,
27 tgaFileImageTypeRLETrueColorImage = 10,
28 tgaFileImageTypeRLEBlackAndWhite = 11
31 typedef struct tgaFileColorMapSpecification {
32 short FirstEntryIndex;
34 unsigned char ColorMapEntrySize;
35 } tgaFileColorMapSpecification;
37 typedef enum tgaFileImageOrigin {
38 tgaFileImageOriginBottomLeft = 0,
39 tgaFileImageOriginBottomRight = 1,
40 tgaFileImageOriginTopLeft = 2,
41 tgaFileImageOriginTopRight = 3
44 typedef union tgaFileDescriptor {
47 unsigned char AlphaChannelBits:4;
48 unsigned char ImageOrigin:2;
49 unsigned char Unused:2;
53 typedef struct tgaFileImageSpecification {
59 tgaFileDescriptor Descriptor;
60 } tgaFileImageSpecification;
62 typedef struct tgaFileHeader {
63 unsigned char IDLength; /* 1 Byte */
64 unsigned char ColorMapType; /* 1 Byte */
65 unsigned char ImageType; /* 1 Byte */
66 tgaFileColorMapSpecification ColorMapSpec; /* 5 Bytes */
67 tgaFileImageSpecification ImageSpec; /* 10 Bytes */
68 } tgaFileHeader; /* 18 Bytes */
70 typedef unsigned char tgaFileImageID;
71 typedef unsigned char tgaFileColorMapData;
72 typedef unsigned char tgaFileImageData;
73 typedef unsigned char tgaFileDeveloperData;
75 typedef struct tgaFile {
76 tgaFileHeader Header; /* Field 1-5 : fixed: 18 Bytes */
77 tgaFileImageID* ImageID; /* Field 6: variable */
78 tgaFileColorMapData* ColorMapData; /* Field 7: variable */
79 tgaFileImageData* Image; /* Field 8: variable */
80 tgaFileDeveloperData* DeveloperData; /* Field 9: variable */
82 /* Additional Information */
91 extern tgaFile* tgaFileInit(tgaFile* tga, FILE* fpt, int mode);
92 extern tgaFile* tgaFileImageInit(tgaFile* tga, FILE* fpt, int mode);
94 /* in tgaFileRead.c */
95 extern tgaFile* tgaFileHeaderRead(tgaFile* tga, FILE* fpt, int mode);
96 extern tgaFile* tgaFileImageDataRead(tgaFile* tga, FILE* fpt, int mode);
97 extern tgaFile* tgaFileRead(tgaFile* tga, FILE* fpt, int mode);
100 extern void tgaFileHeaderPrint(tgaFile* tga, FILE* out, int mode);
106 #endif /* TGA_FILE_H */