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 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212
|
<!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/include/IL/ilu.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/include/IL/ilu.h</h1><a href="ilu_8h.html">Go to the documentation of this file.</a><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 Utility Sources</span>
<a name="l00004"></a>00004 <span class="comment">// Copyright (C) 2000-2009 by Denton Woods</span>
<a name="l00005"></a>00005 <span class="comment">// Last modified: 03/07/2009</span>
<a name="l00006"></a>00006 <span class="comment">//</span>
<a name="l00007"></a>00007 <span class="comment">// Filename: IL/ilu.h</span>
<a name="l00008"></a>00008 <span class="comment">//</span>
<a name="l00009"></a>00009 <span class="comment">// Description: The main include file for ILU</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 <span class="comment">// Doxygen comment</span>
<a name="l00018"></a>00018 <span class="comment"></span><span class="preprocessor">#ifndef __ilu_h_</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#ifndef __ILU_H__</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 <span class="preprocessor">#define __ilu_h_</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span><span class="preprocessor">#define __ILU_H__</span>
<a name="l00023"></a>00023 <span class="preprocessor"></span>
<a name="l00024"></a>00024 <span class="preprocessor">#include <<a class="code" href="il_8h.html">IL/il.h</a>></span>
<a name="l00025"></a>00025
<a name="l00026"></a>00026 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00027"></a>00027 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
<a name="l00028"></a>00028 <span class="preprocessor">#endif</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span>
<a name="l00030"></a>00030
<a name="l00031"></a>00031 <span class="preprocessor">#ifdef _WIN32</span>
<a name="l00032"></a>00032 <span class="preprocessor"></span><span class="preprocessor"> #if (defined(IL_USE_PRAGMA_LIBS)) && (!defined(_IL_BUILD_LIBRARY))</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span><span class="preprocessor"> #if defined(_MSC_VER) || defined(__BORLANDC__)</span>
<a name="l00034"></a>00034 <span class="preprocessor"></span><span class="preprocessor"> #pragma comment(lib, "ILU.lib")</span>
<a name="l00035"></a>00035 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
<a name="l00036"></a>00036 <span class="preprocessor"></span><span class="preprocessor"> #endif</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span>
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="preprocessor">#define ILU_VERSION_1_7_8 1</span>
<a name="l00041"></a>00041 <span class="preprocessor"></span><span class="preprocessor">#define ILU_VERSION 178</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span>
<a name="l00043"></a>00043
<a name="l00044"></a>00044 <span class="preprocessor">#define ILU_FILTER 0x2600</span>
<a name="l00045"></a>00045 <span class="preprocessor"></span><span class="preprocessor">#define ILU_NEAREST 0x2601</span>
<a name="l00046"></a>00046 <span class="preprocessor"></span><span class="preprocessor">#define ILU_LINEAR 0x2602</span>
<a name="l00047"></a>00047 <span class="preprocessor"></span><span class="preprocessor">#define ILU_BILINEAR 0x2603</span>
<a name="l00048"></a>00048 <span class="preprocessor"></span><span class="preprocessor">#define ILU_SCALE_BOX 0x2604</span>
<a name="l00049"></a>00049 <span class="preprocessor"></span><span class="preprocessor">#define ILU_SCALE_TRIANGLE 0x2605</span>
<a name="l00050"></a>00050 <span class="preprocessor"></span><span class="preprocessor">#define ILU_SCALE_BELL 0x2606</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#define ILU_SCALE_BSPLINE 0x2607</span>
<a name="l00052"></a>00052 <span class="preprocessor"></span><span class="preprocessor">#define ILU_SCALE_LANCZOS3 0x2608</span>
<a name="l00053"></a>00053 <span class="preprocessor"></span><span class="preprocessor">#define ILU_SCALE_MITCHELL 0x2609</span>
<a name="l00054"></a>00054 <span class="preprocessor"></span>
<a name="l00055"></a>00055
<a name="l00056"></a>00056 <span class="comment">// Error types</span>
<a name="l00057"></a>00057 <span class="preprocessor">#define ILU_INVALID_ENUM 0x0501</span>
<a name="l00058"></a>00058 <span class="preprocessor"></span><span class="preprocessor">#define ILU_OUT_OF_MEMORY 0x0502</span>
<a name="l00059"></a>00059 <span class="preprocessor"></span><span class="preprocessor">#define ILU_INTERNAL_ERROR 0x0504</span>
<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor">#define ILU_INVALID_VALUE 0x0505</span>
<a name="l00061"></a>00061 <span class="preprocessor"></span><span class="preprocessor">#define ILU_ILLEGAL_OPERATION 0x0506</span>
<a name="l00062"></a>00062 <span class="preprocessor"></span><span class="preprocessor">#define ILU_INVALID_PARAM 0x0509</span>
<a name="l00063"></a>00063 <span class="preprocessor"></span>
<a name="l00064"></a>00064
<a name="l00065"></a>00065 <span class="comment">// Values</span>
<a name="l00066"></a>00066 <span class="preprocessor">#define ILU_PLACEMENT 0x0700</span>
<a name="l00067"></a>00067 <span class="preprocessor"></span><span class="preprocessor">#define ILU_LOWER_LEFT 0x0701</span>
<a name="l00068"></a>00068 <span class="preprocessor"></span><span class="preprocessor">#define ILU_LOWER_RIGHT 0x0702</span>
<a name="l00069"></a>00069 <span class="preprocessor"></span><span class="preprocessor">#define ILU_UPPER_LEFT 0x0703</span>
<a name="l00070"></a>00070 <span class="preprocessor"></span><span class="preprocessor">#define ILU_UPPER_RIGHT 0x0704</span>
<a name="l00071"></a>00071 <span class="preprocessor"></span><span class="preprocessor">#define ILU_CENTER 0x0705</span>
<a name="l00072"></a>00072 <span class="preprocessor"></span><span class="preprocessor">#define ILU_CONVOLUTION_MATRIX 0x0710</span>
<a name="l00073"></a>00073 <span class="preprocessor"></span>
<a name="l00074"></a>00074 <span class="preprocessor">#define ILU_VERSION_NUM IL_VERSION_NUM</span>
<a name="l00075"></a>00075 <span class="preprocessor"></span><span class="preprocessor">#define ILU_VENDOR IL_VENDOR</span>
<a name="l00076"></a>00076 <span class="preprocessor"></span>
<a name="l00077"></a>00077
<a name="l00078"></a>00078 <span class="comment">// Languages</span>
<a name="l00079"></a>00079 <span class="preprocessor">#define ILU_ENGLISH 0x0800</span>
<a name="l00080"></a>00080 <span class="preprocessor"></span><span class="preprocessor">#define ILU_ARABIC 0x0801</span>
<a name="l00081"></a>00081 <span class="preprocessor"></span><span class="preprocessor">#define ILU_DUTCH 0x0802</span>
<a name="l00082"></a>00082 <span class="preprocessor"></span><span class="preprocessor">#define ILU_JAPANESE 0x0803</span>
<a name="l00083"></a>00083 <span class="preprocessor"></span><span class="preprocessor">#define ILU_SPANISH 0x0804</span>
<a name="l00084"></a>00084 <span class="preprocessor"></span><span class="preprocessor">#define ILU_GERMAN 0x0805</span>
<a name="l00085"></a>00085 <span class="preprocessor"></span><span class="preprocessor">#define ILU_FRENCH 0x0806</span>
<a name="l00086"></a>00086 <span class="preprocessor"></span>
<a name="l00087"></a>00087
<a name="l00088"></a>00088 <span class="comment">// Filters</span>
<a name="l00089"></a>00089 <span class="comment">/*</span>
<a name="l00090"></a>00090 <span class="comment">#define ILU_FILTER_BLUR 0x0803</span>
<a name="l00091"></a>00091 <span class="comment">#define ILU_FILTER_GAUSSIAN_3x3 0x0804</span>
<a name="l00092"></a>00092 <span class="comment">#define ILU_FILTER_GAUSSIAN_5X5 0x0805</span>
<a name="l00093"></a>00093 <span class="comment">#define ILU_FILTER_EMBOSS1 0x0807</span>
<a name="l00094"></a>00094 <span class="comment">#define ILU_FILTER_EMBOSS2 0x0808</span>
<a name="l00095"></a>00095 <span class="comment">#define ILU_FILTER_LAPLACIAN1 0x080A</span>
<a name="l00096"></a>00096 <span class="comment">#define ILU_FILTER_LAPLACIAN2 0x080B</span>
<a name="l00097"></a>00097 <span class="comment">#define ILU_FILTER_LAPLACIAN3 0x080C</span>
<a name="l00098"></a>00098 <span class="comment">#define ILU_FILTER_LAPLACIAN4 0x080D</span>
<a name="l00099"></a>00099 <span class="comment">#define ILU_FILTER_SHARPEN1 0x080E</span>
<a name="l00100"></a>00100 <span class="comment">#define ILU_FILTER_SHARPEN2 0x080F</span>
<a name="l00101"></a>00101 <span class="comment">#define ILU_FILTER_SHARPEN3 0x0810</span>
<a name="l00102"></a>00102 <span class="comment">*/</span>
<a name="l00103"></a>00103
<a name="l00104"></a>00104
<a name="l00105"></a>00105 <span class="keyword">typedef</span> <span class="keyword">struct </span>ILinfo
<a name="l00106"></a>00106 {
<a name="l00107"></a>00107 ILuint Id; <span class="comment">// the image's id</span>
<a name="l00108"></a>00108 ILubyte *Data; <span class="comment">// the image's data</span>
<a name="l00109"></a>00109 ILuint Width; <span class="comment">// the image's width</span>
<a name="l00110"></a>00110 ILuint Height; <span class="comment">// the image's height</span>
<a name="l00111"></a>00111 ILuint Depth; <span class="comment">// the image's depth</span>
<a name="l00112"></a>00112 ILubyte Bpp; <span class="comment">// bytes per pixel (not bits) of the image</span>
<a name="l00113"></a>00113 ILuint SizeOfData; <span class="comment">// the total size of the data (in bytes)</span>
<a name="l00114"></a>00114 ILenum Format; <span class="comment">// image format (in IL enum style)</span>
<a name="l00115"></a>00115 ILenum Type; <span class="comment">// image type (in IL enum style)</span>
<a name="l00116"></a>00116 ILenum Origin; <span class="comment">// origin of the image</span>
<a name="l00117"></a>00117 ILubyte *Palette; <span class="comment">// the image's palette</span>
<a name="l00118"></a>00118 ILenum PalType; <span class="comment">// palette type</span>
<a name="l00119"></a>00119 ILuint PalSize; <span class="comment">// palette size</span>
<a name="l00120"></a>00120 ILenum CubeFlags; <span class="comment">// flags for what cube map sides are present</span>
<a name="l00121"></a>00121 ILuint NumNext; <span class="comment">// number of images following</span>
<a name="l00122"></a>00122 ILuint NumMips; <span class="comment">// number of mipmaps</span>
<a name="l00123"></a>00123 ILuint NumLayers; <span class="comment">// number of layers</span>
<a name="l00124"></a>00124 } ILinfo;
<a name="l00125"></a>00125
<a name="l00126"></a>00126
<a name="l00127"></a>00127 <span class="keyword">typedef</span> <span class="keyword">struct </span>ILpointf {
<a name="l00128"></a>00128 ILfloat x;
<a name="l00129"></a>00129 ILfloat y;
<a name="l00130"></a>00130 } ILpointf;
<a name="l00131"></a>00131
<a name="l00132"></a>00132 <span class="keyword">typedef</span> <span class="keyword">struct </span>ILpointi {
<a name="l00133"></a>00133 ILint x;
<a name="l00134"></a>00134 ILint y;
<a name="l00135"></a>00135 } ILpointi;
<a name="l00136"></a>00136
<a name="l00137"></a>00137 ILAPI ILboolean ILAPIENTRY iluAlienify(<span class="keywordtype">void</span>);
<a name="l00138"></a>00138 ILAPI ILboolean ILAPIENTRY iluBlurAvg(ILuint Iter);
<a name="l00139"></a>00139 ILAPI ILboolean ILAPIENTRY iluBlurGaussian(ILuint Iter);
<a name="l00140"></a>00140 ILAPI ILboolean ILAPIENTRY iluBuildMipmaps(<span class="keywordtype">void</span>);
<a name="l00141"></a>00141 ILAPI ILuint ILAPIENTRY iluColoursUsed(<span class="keywordtype">void</span>);
<a name="l00142"></a>00142 ILAPI ILboolean ILAPIENTRY iluCompareImage(ILuint Comp);
<a name="l00143"></a>00143 ILAPI ILboolean ILAPIENTRY iluContrast(ILfloat Contrast);
<a name="l00144"></a>00144 ILAPI ILboolean ILAPIENTRY iluCrop(ILuint XOff, ILuint YOff, ILuint ZOff, ILuint Width, ILuint Height, ILuint Depth);
<a name="l00145"></a>00145 ILAPI <span class="keywordtype">void</span> ILAPIENTRY iluDeleteImage(ILuint Id); <span class="comment">// Deprecated</span>
<a name="l00146"></a>00146 ILAPI ILboolean ILAPIENTRY iluEdgeDetectE(<span class="keywordtype">void</span>);
<a name="l00147"></a>00147 ILAPI ILboolean ILAPIENTRY iluEdgeDetectP(<span class="keywordtype">void</span>);
<a name="l00148"></a>00148 ILAPI ILboolean ILAPIENTRY iluEdgeDetectS(<span class="keywordtype">void</span>);
<a name="l00149"></a>00149 ILAPI ILboolean ILAPIENTRY iluEmboss(<span class="keywordtype">void</span>);
<a name="l00150"></a>00150 ILAPI ILboolean ILAPIENTRY iluEnlargeCanvas(ILuint Width, ILuint Height, ILuint Depth);
<a name="l00151"></a>00151 ILAPI ILboolean ILAPIENTRY iluEnlargeImage(ILfloat XDim, ILfloat YDim, ILfloat ZDim);
<a name="l00152"></a>00152 ILAPI ILboolean ILAPIENTRY iluEqualize(<span class="keywordtype">void</span>);
<a name="l00153"></a>00153 ILAPI ILconst_string ILAPIENTRY iluErrorString(ILenum Error);
<a name="l00154"></a>00154 ILAPI ILboolean ILAPIENTRY iluConvolution(ILint *matrix, ILint scale, ILint bias);
<a name="l00155"></a>00155 ILAPI ILboolean ILAPIENTRY iluFlipImage(<span class="keywordtype">void</span>);
<a name="l00156"></a>00156 ILAPI ILboolean ILAPIENTRY iluGammaCorrect(ILfloat Gamma);
<a name="l00157"></a>00157 ILAPI ILuint ILAPIENTRY iluGenImage(<span class="keywordtype">void</span>); <span class="comment">// Deprecated</span>
<a name="l00158"></a>00158 ILAPI <span class="keywordtype">void</span> ILAPIENTRY iluGetImageInfo(ILinfo *Info);
<a name="l00159"></a>00159 ILAPI ILint ILAPIENTRY iluGetInteger(ILenum Mode);
<a name="l00160"></a>00160 ILAPI <span class="keywordtype">void</span> ILAPIENTRY iluGetIntegerv(ILenum Mode, ILint *Param);
<a name="l00161"></a>00161 ILAPI ILstring ILAPIENTRY iluGetString(ILenum StringName);
<a name="l00162"></a>00162 ILAPI <span class="keywordtype">void</span> ILAPIENTRY iluImageParameter(ILenum PName, ILenum Param);
<a name="l00163"></a>00163 ILAPI <span class="keywordtype">void</span> ILAPIENTRY iluInit(<span class="keywordtype">void</span>);
<a name="l00164"></a>00164 ILAPI ILboolean ILAPIENTRY iluInvertAlpha(<span class="keywordtype">void</span>);
<a name="l00165"></a>00165 ILAPI ILuint ILAPIENTRY iluLoadImage(ILconst_string FileName);
<a name="l00166"></a>00166 ILAPI ILboolean ILAPIENTRY iluMirror(<span class="keywordtype">void</span>);
<a name="l00167"></a>00167 ILAPI ILboolean ILAPIENTRY iluNegative(<span class="keywordtype">void</span>);
<a name="l00168"></a>00168 ILAPI ILboolean ILAPIENTRY iluNoisify(ILclampf Tolerance);
<a name="l00169"></a>00169 ILAPI ILboolean ILAPIENTRY iluPixelize(ILuint PixSize);
<a name="l00170"></a>00170 ILAPI <span class="keywordtype">void</span> ILAPIENTRY iluRegionfv(ILpointf *Points, ILuint n);
<a name="l00171"></a>00171 ILAPI <span class="keywordtype">void</span> ILAPIENTRY iluRegioniv(ILpointi *Points, ILuint n);
<a name="l00172"></a>00172 ILAPI ILboolean ILAPIENTRY iluReplaceColour(ILubyte Red, ILubyte Green, ILubyte Blue, ILfloat Tolerance);
<a name="l00173"></a>00173 ILAPI ILboolean ILAPIENTRY iluRotate(ILfloat Angle);
<a name="l00174"></a>00174 ILAPI ILboolean ILAPIENTRY iluRotate3D(ILfloat x, ILfloat y, ILfloat z, ILfloat Angle);
<a name="l00175"></a>00175 ILAPI ILboolean ILAPIENTRY iluSaturate1f(ILfloat Saturation);
<a name="l00176"></a>00176 ILAPI ILboolean ILAPIENTRY iluSaturate4f(ILfloat r, ILfloat g, ILfloat b, ILfloat Saturation);
<a name="l00177"></a>00177 ILAPI ILboolean ILAPIENTRY iluScale(ILuint Width, ILuint Height, ILuint Depth);
<a name="l00178"></a>00178 ILAPI ILboolean ILAPIENTRY iluScaleAlpha(ILfloat scale);
<a name="l00179"></a>00179 ILAPI ILboolean ILAPIENTRY iluScaleColours(ILfloat r, ILfloat g, ILfloat b);
<a name="l00180"></a>00180 ILAPI ILboolean ILAPIENTRY iluSetLanguage(ILenum Language);
<a name="l00181"></a>00181 ILAPI ILboolean ILAPIENTRY iluSharpen(ILfloat Factor, ILuint Iter);
<a name="l00182"></a>00182 ILAPI ILboolean ILAPIENTRY iluSwapColours(<span class="keywordtype">void</span>);
<a name="l00183"></a>00183 ILAPI ILboolean ILAPIENTRY iluWave(ILfloat Angle);
<a name="l00184"></a>00184
<a name="l00185"></a>00185 <span class="preprocessor">#define iluColorsUsed iluColoursUsed</span>
<a name="l00186"></a>00186 <span class="preprocessor"></span><span class="preprocessor">#define iluSwapColors iluSwapColours</span>
<a name="l00187"></a>00187 <span class="preprocessor"></span><span class="preprocessor">#define iluReplaceColor iluReplaceColour</span>
<a name="l00188"></a>00188 <span class="preprocessor"></span><span class="preprocessor">#define iluScaleColor iluScaleColour</span>
<a name="l00189"></a>00189 <span class="preprocessor"></span>
<a name="l00190"></a>00190 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00191"></a>00191 <span class="preprocessor"></span>}
<a name="l00192"></a>00192 <span class="preprocessor">#endif</span>
<a name="l00193"></a>00193 <span class="preprocessor"></span>
<a name="l00194"></a>00194 <span class="preprocessor">#endif // __ILU_H__</span>
<a name="l00195"></a>00195 <span class="preprocessor"></span><span class="preprocessor">#endif // __ilu_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>
|