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 Page</span></a></li>
<li><a href="annotated.html"><span>Data 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 <--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
<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>
|