File: il__targa_8h-source.html

package info (click to toggle)
devil 1.7.8-10
  • links: PTS
  • area: main
  • in suites: bookworm, bullseye, buster, stretch
  • size: 9,796 kB
  • sloc: ansic: 45,835; sh: 15,558; cpp: 4,009; python: 1,300; pascal: 792; makefile: 307; cs: 192; fortran: 5
file content (130 lines) | stat: -rw-r--r-- 10,781 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>DevIL: /home/dwoods/DevIL/src-IL/include/il_targa.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
<h1>/home/dwoods/DevIL/src-IL/include/il_targa.h</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//-----------------------------------------------------------------------------</span>
<a name="l00002"></a>00002 <span class="comment">//</span>
<a name="l00003"></a>00003 <span class="comment">// ImageLib Sources</span>
<a name="l00004"></a>00004 <span class="comment">// Copyright (C) 2000-2002 by Denton Woods</span>
<a name="l00005"></a>00005 <span class="comment">// Last modified: 05/25/2001 &lt;--Y2K Compliant! =]</span>
<a name="l00006"></a>00006 <span class="comment">//</span>
<a name="l00007"></a>00007 <span class="comment">// Filename: src-IL/include/il_targa.h</span>
<a name="l00008"></a>00008 <span class="comment">//</span>
<a name="l00009"></a>00009 <span class="comment">// Description: Targa (.tga) functions</span>
<a name="l00010"></a>00010 <span class="comment">//</span>
<a name="l00011"></a>00011 <span class="comment">//-----------------------------------------------------------------------------</span>
<a name="l00012"></a>00012 
<a name="l00013"></a>00013 
<a name="l00014"></a>00014 <span class="preprocessor">#ifndef TARGA_H</span>
<a name="l00015"></a>00015 <span class="preprocessor"></span><span class="preprocessor">#define TARGA_H</span>
<a name="l00016"></a>00016 <span class="preprocessor"></span>
<a name="l00017"></a>00017 <span class="preprocessor">#include "il_internal.h"</span>
<a name="l00018"></a>00018 
<a name="l00019"></a>00019 <span class="preprocessor">#ifdef _MSC_VER</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span><span class="preprocessor">#pragma pack(push, tga_struct, 1)</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#elif defined(MACOSX) || defined(__GNUC__)</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#pragma pack(1)</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00024"></a>00024 <span class="preprocessor"></span>
<a name="l00025"></a>00025 <span class="keyword">typedef</span> <span class="keyword">struct </span>TARGAHEAD
<a name="l00026"></a>00026 {
<a name="l00027"></a>00027         ILubyte         IDLen;
<a name="l00028"></a>00028         ILubyte         ColMapPresent;
<a name="l00029"></a>00029         ILubyte         ImageType;
<a name="l00030"></a>00030         ILshort         FirstEntry;
<a name="l00031"></a>00031         ILshort         ColMapLen;
<a name="l00032"></a>00032         ILubyte         ColMapEntSize;
<a name="l00033"></a>00033 
<a name="l00034"></a>00034         ILshort         OriginX;
<a name="l00035"></a>00035         ILshort         OriginY;
<a name="l00036"></a>00036         ILushort        Width;
<a name="l00037"></a>00037         ILushort        Height;
<a name="l00038"></a>00038         ILubyte         Bpp;
<a name="l00039"></a>00039         ILubyte         ImageDesc;
<a name="l00040"></a>00040 } IL_PACKSTRUCT TARGAHEAD;
<a name="l00041"></a>00041 
<a name="l00042"></a>00042 <span class="keyword">typedef</span> <span class="keyword">struct </span>TARGAFOOTER
<a name="l00043"></a>00043 {
<a name="l00044"></a>00044         ILuint ExtOff;                  <span class="comment">// Extension Area Offset</span>
<a name="l00045"></a>00045         ILuint DevDirOff;               <span class="comment">// Developer Directory Offset</span>
<a name="l00046"></a>00046         ILbyte Signature[16];   <span class="comment">// TRUEVISION-XFILE</span>
<a name="l00047"></a>00047         ILbyte Reserved;                <span class="comment">// ASCII period '.'</span>
<a name="l00048"></a>00048         ILbyte NullChar;                <span class="comment">// NULL</span>
<a name="l00049"></a>00049 } IL_PACKSTRUCT TARGAFOOTER;
<a name="l00050"></a>00050 <span class="preprocessor">#if defined(MACOSX) || defined(__GNUC__)</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#pragma pack()</span>
<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor">#elif _MSC_VER</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="preprocessor">#pragma pack(pop, tga_struct)</span>
<a name="l00054"></a>00054 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00055"></a>00055 <span class="preprocessor"></span>
<a name="l00056"></a>00056 <span class="preprocessor">#define TGA_EXT_LEN             495</span>
<a name="l00057"></a>00057 <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keyword">struct </span>TARGAEXT
<a name="l00058"></a>00058 {
<a name="l00059"></a>00059         <span class="comment">// Dev Directory</span>
<a name="l00060"></a>00060         <span class="comment">//      We don't mess with this</span>
<a name="l00061"></a>00061 
<a name="l00062"></a>00062         <span class="comment">// Extension Area</span>
<a name="l00063"></a>00063         ILshort Size;                           <span class="comment">// should be TGA_EXT_LEN</span>
<a name="l00064"></a>00064         ILbyte  AuthName[41];           <span class="comment">// the image author's name</span>
<a name="l00065"></a>00065         ILbyte  AuthComments[324];      <span class="comment">// author's comments</span>
<a name="l00066"></a>00066         ILshort Month, Day, Year, Hour, Minute, Second; <span class="comment">// internal date of file</span>
<a name="l00067"></a>00067         ILbyte  JobID[41];                      <span class="comment">// the job description (if any)</span>
<a name="l00068"></a>00068         ILshort JobHour, JobMin, JobSecs;       <span class="comment">// the job's time</span>
<a name="l00069"></a>00069         ILbyte  SoftwareID[41];         <span class="comment">// the software that created this</span>
<a name="l00070"></a>00070         ILshort SoftwareVer;            <span class="comment">// the software version number * 100</span>
<a name="l00071"></a>00071         ILbyte  SoftwareVerByte;        <span class="comment">// the software version letter</span>
<a name="l00072"></a>00072         ILint   KeyColor;                       <span class="comment">// the transparent colour</span>
<a name="l00073"></a>00073 } TARGAEXT;
<a name="l00074"></a>00074 
<a name="l00075"></a>00075 
<a name="l00076"></a>00076 <span class="comment">// Different Targa formats</span>
<a name="l00077"></a>00077 <span class="preprocessor">#define TGA_NO_DATA                             0</span>
<a name="l00078"></a>00078 <span class="preprocessor"></span><span class="preprocessor">#define TGA_COLMAP_UNCOMP               1</span>
<a name="l00079"></a>00079 <span class="preprocessor"></span><span class="preprocessor">#define TGA_UNMAP_UNCOMP                2</span>
<a name="l00080"></a>00080 <span class="preprocessor"></span><span class="preprocessor">#define TGA_BW_UNCOMP                   3</span>
<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#define TGA_COLMAP_COMP                 9</span>
<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor">#define TGA_UNMAP_COMP                  10</span>
<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor">#define TGA_BW_COMP                             11</span>
<a name="l00084"></a>00084 <span class="preprocessor"></span>
<a name="l00085"></a>00085 
<a name="l00086"></a>00086 <span class="comment">// Targa origins</span>
<a name="l00087"></a>00087 <span class="preprocessor">#define IMAGEDESC_ORIGIN_MASK   0x30</span>
<a name="l00088"></a>00088 <span class="preprocessor"></span><span class="preprocessor">#define IMAGEDESC_TOPLEFT               0x20</span>
<a name="l00089"></a>00089 <span class="preprocessor"></span><span class="preprocessor">#define IMAGEDESC_BOTLEFT               0x00</span>
<a name="l00090"></a>00090 <span class="preprocessor"></span><span class="preprocessor">#define IMAGEDESC_BOTRIGHT              0x10</span>
<a name="l00091"></a>00091 <span class="preprocessor"></span><span class="preprocessor">#define IMAGEDESC_TOPRIGHT              0x30</span>
<a name="l00092"></a>00092 <span class="preprocessor"></span>
<a name="l00093"></a>00093 
<a name="l00094"></a>00094 <span class="comment">// Internal functions</span>
<a name="l00095"></a>00095 ILboolean       iIsValidTarga();
<a name="l00096"></a>00096 ILboolean       iGetTgaHead(TARGAHEAD *Header);
<a name="l00097"></a>00097 ILboolean       iCheckTarga(TARGAHEAD *Header);
<a name="l00098"></a>00098 ILboolean       iLoadTargaInternal(<span class="keywordtype">void</span>);
<a name="l00099"></a>00099 ILboolean       iSaveTargaInternal(<span class="keywordtype">void</span>);
<a name="l00100"></a>00100 <span class="comment">//ILvoid                iMakeString(char *Str);</span>
<a name="l00101"></a>00101 ILboolean       iReadBwTga(TARGAHEAD *Header);
<a name="l00102"></a>00102 ILboolean       iReadColMapTga(TARGAHEAD *Header);
<a name="l00103"></a>00103 ILboolean       iReadUnmapTga(TARGAHEAD *Header);
<a name="l00104"></a>00104 ILboolean       iUncompressTgaData(<a class="code" href="structILimage.html" title="The Fundamental Image structure.">ILimage</a> *Image);
<a name="l00105"></a>00105 ILboolean       i16BitTarga(<a class="code" href="structILimage.html" title="The Fundamental Image structure.">ILimage</a> *Image);
<a name="l00106"></a>00106 <span class="keywordtype">void</span>            iGetDateTime(ILuint *Month, ILuint *Day, ILuint *Yr, ILuint *Hr, ILuint *Min, ILuint *Sec);
<a name="l00107"></a>00107 
<a name="l00108"></a>00108 
<a name="l00109"></a>00109 <span class="preprocessor">#endif//TARGA_H</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Mar 8 20:01:41 2009 for DevIL by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>