OSDN Git Service

Modified: doc
[eos/optional.git] / doc / Objects / tgaFile.html
1 <HR>
2 <A NAME="Information">
3 <H2>Information from source codes</H2>
4 </A>
5 <PRE>
6 </PRE>
7 <HR>
8 <A NAME="include">
9 <H2>tgaFile.h</H2>
10 </A>
11 <PRE>
12 #ifndef   TGA_FILE_H 
13 #define   TGA_FILE_H
14
15 typedef enum tgaFileColorMap {
16         tgaFileColorMapNoColorMap=0,
17         tgaFileColorMapColorMap=1
18 } tgaFileColorMap;
19
20 typedef enum tgaFileImageType {
21         tgaFileImageTypeNoImage  = 0,   
22         tgaFileImageTypeColorMappedImage = 1,
23         tgaFileImageTypeTrueColorImage   = 2,
24         tgaFileImageTypeBlackAndWhite    = 3,
25         tgaFileImageTypeRLEColorMappedImage = 9,
26         tgaFileImageTypeRLETrueColorImage   = 10,
27         tgaFileImageTypeRLEBlackAndWhite    = 11
28 } tgaFileImageType;
29
30 typedef struct tgaFileColorMapSpecification {
31         short FirstEntryIndex;
32         short ColorMapLength;
33         unsigned char ColorMapEntrySize;
34 } tgaFileColorMapSpecification;
35
36 typedef enum tgaFileImageOrigin {
37         tgaFileImageOriginBottomLeft  = 0,
38         tgaFileImageOriginBottomRight = 1,
39         tgaFileImageOriginTopLeft     = 2,
40         tgaFileImageOriginTopRight    = 3 
41 } tgaFileImageOrigin;
42
43 typedef union tgaFileDescriptor {
44         unsigned char All;
45         struct {
46                 unsigned char AlphaChannelBits:4;
47                 unsigned char ImageOrigin:2;
48                 unsigned char Unused:2;
49         } Bit;
50 } tgaFileDescriptor;
51
52 typedef struct tgaFileImageSpecification {
53         short Xorigin;
54         short Yorigin;
55         short Width;
56         short Height;
57         unsigned char Depth;
58         tgaFileDescriptor Descriptor;
59 } tgaFileImageSpecification;
60
61 typedef struct tgaFileHeader {
62         unsigned char IDLength;                        /*  1 Byte */
63         unsigned char ColorMapType;                    /*  1 Byte */              
64         unsigned char ImageType;                       /*  1 Byte */
65         tgaFileColorMapSpecification ColorMapSpec;     /*  5 Bytes */
66         tgaFileImageSpecification ImageSpec;           /* 10 Bytes */
67 } tgaFileHeader;                                   /* 18 Bytes */ 
68
69 typedef unsigned char tgaFileImageID;
70 typedef unsigned char tgaFileColorMapData;
71 typedef unsigned char tgaFileImageData;
72 typedef unsigned char tgaFileDeveloperData;
73
74 typedef struct tgaFile {
75         tgaFileHeader        Header;                   /* Field 1-5 : fixed: 18 Bytes */
76         tgaFileImageID*      ImageID;                  /* Field 6: variable */
77         tgaFileColorMapData* ColorMapData;             /* Field 7: variable */
78         tgaFileImageData*    Image;                /* Field 8: variable */
79         tgaFileDeveloperData* DeveloperData;           /* Field 9: variable */ 
80
81         /* Additional Information */
82         int flagHeader; 
83         int ImageDataOffset;
84         int ImageDataBytes;
85 } tgaFile;
86
87 #ifdef __cplusplust
88 extern "C" {
89 #endif
90 extern tgaFile* tgaFileInit(tgaFile* tga, FILE* fpt, int mode);
91 extern tgaFile* tgaFileImageInit(tgaFile* tga, FILE* fpt, int mode);
92
93 /* in tgaFileRead.c */
94 extern tgaFile* tgaFileHeaderRead(tgaFile* tga, FILE* fpt, int mode);
95 extern tgaFile* tgaFileImageDataRead(tgaFile* tga, FILE* fpt, int mode);
96 extern tgaFile* tgaFileRead(tgaFile* tga, FILE* fpt, int mode);
97
98 /* in tgaFilePrint */
99 extern void tgaFileHeaderPrint(tgaFile* tga, FILE* out, int mode);
100
101 #ifdef __cplusplust
102 };
103 #endif
104
105 #endif /* TGA_FILE_H */
106 </PRE>