devil__cpp__wrapper_8hpp-source.html 59 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
  3. <title>DevIL: /home/dwoods/DevIL/include/IL/devil_cpp_wrapper.hpp Source File</title>
  4. <link href="doxygen.css" rel="stylesheet" type="text/css">
  5. <link href="tabs.css" rel="stylesheet" type="text/css">
  6. </head><body>
  7. <!-- Generated by Doxygen 1.5.6 -->
  8. <div class="navigation" id="top">
  9. <div class="tabs">
  10. <ul>
  11. <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
  12. <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
  13. <li class="current"><a href="files.html"><span>Files</span></a></li>
  14. </ul>
  15. </div>
  16. <h1>/home/dwoods/DevIL/include/IL/devil_cpp_wrapper.hpp</h1><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef DEVIL_CPP_WRAPPER_HPP</span>
  17. <a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define DEVIL_CPP_WRAPPER_HPP</span>
  18. <a name="l00003"></a>00003 <span class="preprocessor"></span>
  19. <a name="l00004"></a>00004 <span class="preprocessor">#include &lt;<a class="code" href="ilut_8h.html">IL/ilut.h</a>&gt;</span> <span class="comment">// Probably only have to #include this one</span>
  20. <a name="l00005"></a>00005
  21. <a name="l00006"></a>00006 <span class="keyword">class </span>ilImage
  22. <a name="l00007"></a>00007 {
  23. <a name="l00008"></a>00008 <span class="keyword">public</span>:
  24. <a name="l00009"></a>00009 ilImage();
  25. <a name="l00010"></a>00010 ilImage(ILconst_string);
  26. <a name="l00011"></a>00011 ilImage(<span class="keyword">const</span> ilImage &amp;);
  27. <a name="l00012"></a>00012 <span class="keyword">virtual</span> ~ilImage();
  28. <a name="l00013"></a>00013
  29. <a name="l00014"></a>00014 ILboolean Load(ILconst_string);
  30. <a name="l00015"></a>00015 ILboolean Load(ILconst_string, ILenum);
  31. <a name="l00016"></a>00016 ILboolean Save(ILconst_string);
  32. <a name="l00017"></a>00017 ILboolean Save(ILconst_string, ILenum);
  33. <a name="l00018"></a>00018
  34. <a name="l00019"></a>00019 <span class="comment">// ImageLib functions</span>
  35. <a name="l00020"></a>00020 ILboolean ActiveImage(ILuint);
  36. <a name="l00021"></a>00021 ILboolean ActiveLayer(ILuint);
  37. <a name="l00022"></a>00022 ILboolean ActiveMipmap(ILuint);
  38. <a name="l00023"></a>00023 ILboolean Clear(<span class="keywordtype">void</span>);
  39. <a name="l00024"></a>00024 <span class="keywordtype">void</span> ClearColour(ILclampf, ILclampf, ILclampf, ILclampf);
  40. <a name="l00025"></a>00025 ILboolean Convert(ILenum);
  41. <a name="l00026"></a>00026 ILboolean Copy(ILuint);
  42. <a name="l00027"></a>00027 ILboolean Default(<span class="keywordtype">void</span>);
  43. <a name="l00028"></a>00028 ILboolean Flip(<span class="keywordtype">void</span>);
  44. <a name="l00029"></a>00029 ILboolean SwapColours(<span class="keywordtype">void</span>);
  45. <a name="l00030"></a>00030 ILboolean Resize(ILuint, ILuint, ILuint);
  46. <a name="l00031"></a>00031 ILboolean TexImage(ILuint, ILuint, ILuint, ILubyte, ILenum, ILenum, <span class="keywordtype">void</span>*);
  47. <a name="l00032"></a>00032
  48. <a name="l00033"></a>00033 <span class="comment">// Image handling</span>
  49. <a name="l00034"></a>00034 <span class="keywordtype">void</span> Bind(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
  50. <a name="l00035"></a>00035 <span class="keywordtype">void</span> Bind(ILuint);
  51. <a name="l00036"></a>00036 <span class="keywordtype">void</span> Close(<span class="keywordtype">void</span>) { this-&gt;Delete(); }
  52. <a name="l00037"></a>00037 <span class="keywordtype">void</span> Delete(<span class="keywordtype">void</span>);
  53. <a name="l00038"></a>00038 <span class="keywordtype">void</span> iGenBind();
  54. <a name="l00039"></a>00039 ILenum PaletteAlphaIndex();
  55. <a name="l00040"></a>00040
  56. <a name="l00041"></a>00041 <span class="comment">// Image characteristics</span>
  57. <a name="l00042"></a>00042 ILuint Width(<span class="keywordtype">void</span>);
  58. <a name="l00043"></a>00043 ILuint Height(<span class="keywordtype">void</span>);
  59. <a name="l00044"></a>00044 ILuint Depth(<span class="keywordtype">void</span>);
  60. <a name="l00045"></a>00045 ILubyte Bpp(<span class="keywordtype">void</span>);
  61. <a name="l00046"></a>00046 ILubyte Bitpp(<span class="keywordtype">void</span>);
  62. <a name="l00047"></a>00047 ILenum PaletteType(<span class="keywordtype">void</span>);
  63. <a name="l00048"></a>00048 ILenum Format(<span class="keywordtype">void</span>);
  64. <a name="l00049"></a>00049 ILenum Type(<span class="keywordtype">void</span>);
  65. <a name="l00050"></a>00050 ILuint NumImages(<span class="keywordtype">void</span>);
  66. <a name="l00051"></a>00051 ILuint NumMipmaps(<span class="keywordtype">void</span>);
  67. <a name="l00052"></a>00052 ILuint GetId(<span class="keywordtype">void</span>) <span class="keyword">const</span>;
  68. <a name="l00053"></a>00053 ILenum GetOrigin(<span class="keywordtype">void</span>);
  69. <a name="l00054"></a>00054 ILubyte *GetData(<span class="keywordtype">void</span>);
  70. <a name="l00055"></a>00055 ILubyte *GetPalette(<span class="keywordtype">void</span>);
  71. <a name="l00056"></a>00056
  72. <a name="l00057"></a>00057 <span class="comment">// Rendering</span>
  73. <a name="l00058"></a>00058 ILuint BindImage(<span class="keywordtype">void</span>);
  74. <a name="l00059"></a>00059 ILuint BindImage(ILenum);
  75. <a name="l00060"></a>00060
  76. <a name="l00061"></a>00061 <span class="comment">// Operators</span>
  77. <a name="l00062"></a>00062 ilImage&amp; operator = (ILuint);
  78. <a name="l00063"></a>00063 ilImage&amp; operator = (<span class="keyword">const</span> ilImage &amp;);
  79. <a name="l00064"></a>00064
  80. <a name="l00065"></a>00065 <span class="keyword">protected</span>:
  81. <a name="l00066"></a>00066 ILuint Id;
  82. <a name="l00067"></a>00067
  83. <a name="l00068"></a>00068 <span class="keyword">private</span>:
  84. <a name="l00069"></a>00069 <span class="keyword">static</span> <span class="keywordtype">int</span> ilStartUp();
  85. <a name="l00070"></a>00070 <span class="keyword">static</span> ILboolean ilStartedUp;
  86. <a name="l00071"></a>00071 };
  87. <a name="l00072"></a>00072
  88. <a name="l00073"></a>00073 <span class="comment">// ensure that init is called exactly once</span>
  89. <a name="l00074"></a>00074 <span class="keywordtype">int</span> ilImage::ilStartUp()
  90. <a name="l00075"></a>00075 {
  91. <a name="l00076"></a>00076 ilInit();
  92. <a name="l00077"></a>00077 iluInit();
  93. <a name="l00078"></a>00078 <span class="comment">//ilutInit();</span>
  94. <a name="l00079"></a>00079 <span class="keywordflow">return</span> <span class="keyword">true</span>;
  95. <a name="l00080"></a>00080 }
  96. <a name="l00081"></a>00081 ILboolean ilImage::ilStartedUp = ilStartUp();
  97. <a name="l00082"></a>00082
  98. <a name="l00083"></a>00083 <span class="keyword">class </span>ilFilters
  99. <a name="l00084"></a>00084 {
  100. <a name="l00085"></a>00085 <span class="keyword">public</span>:
  101. <a name="l00086"></a>00086 <span class="keyword">static</span> ILboolean Alienify(ilImage &amp;);
  102. <a name="l00087"></a>00087 <span class="keyword">static</span> ILboolean BlurAvg(ilImage &amp;, ILuint Iter);
  103. <a name="l00088"></a>00088 <span class="keyword">static</span> ILboolean BlurGaussian(ilImage &amp;, ILuint Iter);
  104. <a name="l00089"></a>00089 <span class="keyword">static</span> ILboolean Contrast(ilImage &amp;, ILfloat Contrast);
  105. <a name="l00090"></a>00090 <span class="keyword">static</span> ILboolean EdgeDetectE(ilImage &amp;);
  106. <a name="l00091"></a>00091 <span class="keyword">static</span> ILboolean EdgeDetectP(ilImage &amp;);
  107. <a name="l00092"></a>00092 <span class="keyword">static</span> ILboolean EdgeDetectS(ilImage &amp;);
  108. <a name="l00093"></a>00093 <span class="keyword">static</span> ILboolean Emboss(ilImage &amp;);
  109. <a name="l00094"></a>00094 <span class="keyword">static</span> ILboolean Gamma(ilImage &amp;, ILfloat Gamma);
  110. <a name="l00095"></a>00095 <span class="keyword">static</span> ILboolean Negative(ilImage &amp;);
  111. <a name="l00096"></a>00096 <span class="keyword">static</span> ILboolean Noisify(ilImage &amp;, ILubyte Factor);
  112. <a name="l00097"></a>00097 <span class="keyword">static</span> ILboolean Pixelize(ilImage &amp;, ILuint PixSize);
  113. <a name="l00098"></a>00098 <span class="keyword">static</span> ILboolean Saturate(ilImage &amp;, ILfloat Saturation);
  114. <a name="l00099"></a>00099 <span class="keyword">static</span> ILboolean Saturate(ilImage &amp;, ILfloat r, ILfloat g, ILfloat b, ILfloat Saturation);
  115. <a name="l00100"></a>00100 <span class="keyword">static</span> ILboolean ScaleColours(ilImage &amp;, ILfloat r, ILfloat g, ILfloat b);
  116. <a name="l00101"></a>00101 <span class="keyword">static</span> ILboolean Sharpen(ilImage &amp;, ILfloat Factor, ILuint Iter);
  117. <a name="l00102"></a>00102 };
  118. <a name="l00103"></a>00103
  119. <a name="l00104"></a>00104 <span class="preprocessor">#ifdef ILUT_USE_OPENGL</span>
  120. <a name="l00105"></a>00105 <span class="preprocessor"></span><span class="keyword">class </span>ilOgl
  121. <a name="l00106"></a>00106 {
  122. <a name="l00107"></a>00107 <span class="keyword">public</span>:
  123. <a name="l00108"></a>00108 <span class="keyword">static</span> <span class="keywordtype">void</span> Init(<span class="keywordtype">void</span>);
  124. <a name="l00109"></a>00109 <span class="keyword">static</span> GLuint BindTex(ilImage &amp;);
  125. <a name="l00110"></a>00110 <span class="keyword">static</span> ILboolean Upload(ilImage &amp;, ILuint);
  126. <a name="l00111"></a>00111 <span class="keyword">static</span> GLuint Mipmap(ilImage &amp;);
  127. <a name="l00112"></a>00112 <span class="keyword">static</span> ILboolean Screen(<span class="keywordtype">void</span>);
  128. <a name="l00113"></a>00113 <span class="keyword">static</span> ILboolean Screenie(<span class="keywordtype">void</span>);
  129. <a name="l00114"></a>00114 };
  130. <a name="l00115"></a>00115 <span class="preprocessor">#endif//ILUT_USE_OPENGL</span>
  131. <a name="l00116"></a>00116 <span class="preprocessor"></span>
  132. <a name="l00117"></a>00117
  133. <a name="l00118"></a>00118 <span class="preprocessor">#ifdef ILUT_USE_ALLEGRO</span>
  134. <a name="l00119"></a>00119 <span class="preprocessor"></span><span class="keyword">class </span>ilAlleg
  135. <a name="l00120"></a>00120 {
  136. <a name="l00121"></a>00121 <span class="keyword">public</span>:
  137. <a name="l00122"></a>00122 <span class="keyword">static</span> <span class="keywordtype">void</span> Init(<span class="keywordtype">void</span>);
  138. <a name="l00123"></a>00123 <span class="keyword">static</span> BITMAP *Convert(ilImage &amp;);
  139. <a name="l00124"></a>00124 };
  140. <a name="l00125"></a>00125 <span class="preprocessor">#endif//ILUT_USE_ALLEGRO</span>
  141. <a name="l00126"></a>00126 <span class="preprocessor"></span>
  142. <a name="l00127"></a>00127
  143. <a name="l00128"></a>00128 <span class="preprocessor">#ifdef ILUT_USE_WIN32</span>
  144. <a name="l00129"></a>00129 <span class="preprocessor"></span><span class="keyword">class </span>ilWin32
  145. <a name="l00130"></a>00130 {
  146. <a name="l00131"></a>00131 <span class="keyword">public</span>:
  147. <a name="l00132"></a>00132 <span class="keyword">static</span> <span class="keywordtype">void</span> Init(<span class="keywordtype">void</span>);
  148. <a name="l00133"></a>00133 <span class="keyword">static</span> HBITMAP Convert(ilImage &amp;);
  149. <a name="l00134"></a>00134 <span class="keyword">static</span> ILboolean GetClipboard(ilImage &amp;);
  150. <a name="l00135"></a>00135 <span class="keyword">static</span> <span class="keywordtype">void</span> GetInfo(ilImage &amp;, BITMAPINFO *Info);
  151. <a name="l00136"></a>00136 <span class="keyword">static</span> ILubyte *GetPadData(ilImage &amp;);
  152. <a name="l00137"></a>00137 <span class="keyword">static</span> HPALETTE GetPal(ilImage &amp;);
  153. <a name="l00138"></a>00138 <span class="keyword">static</span> ILboolean GetResource(ilImage &amp;, HINSTANCE hInst, ILint ID, <span class="keywordtype">char</span> *ResourceType);
  154. <a name="l00139"></a>00139 <span class="keyword">static</span> ILboolean GetResource(ilImage &amp;, HINSTANCE hInst, ILint ID, <span class="keywordtype">char</span> *ResourceType, ILenum Type);
  155. <a name="l00140"></a>00140 <span class="keyword">static</span> ILboolean SetClipboard(ilImage &amp;);
  156. <a name="l00141"></a>00141 };
  157. <a name="l00142"></a>00142 <span class="preprocessor">#endif//ILUT_USE_WIN32</span>
  158. <a name="l00143"></a>00143 <span class="preprocessor"></span>
  159. <a name="l00144"></a>00144
  160. <a name="l00145"></a>00145 <span class="keyword">class </span>ilValidate
  161. <a name="l00146"></a>00146 {
  162. <a name="l00147"></a>00147 <span class="keyword">public</span>:
  163. <a name="l00148"></a>00148 <span class="keyword">static</span> ILboolean Valid(ILenum, ILconst_string);
  164. <a name="l00149"></a>00149 <span class="keyword">static</span> ILboolean Valid(ILenum, FILE *);
  165. <a name="l00150"></a>00150 <span class="keyword">static</span> ILboolean Valid(ILenum, <span class="keywordtype">void</span> *, ILuint);
  166. <a name="l00151"></a>00151
  167. <a name="l00152"></a>00152 <span class="keyword">protected</span>:
  168. <a name="l00153"></a>00153
  169. <a name="l00154"></a>00154 <span class="keyword">private</span>:
  170. <a name="l00155"></a>00155
  171. <a name="l00156"></a>00156 };
  172. <a name="l00157"></a>00157
  173. <a name="l00158"></a>00158 <span class="keyword">class </span>ilState
  174. <a name="l00159"></a>00159 {
  175. <a name="l00160"></a>00160 <span class="keyword">public</span>:
  176. <a name="l00161"></a>00161 <span class="keyword">static</span> ILboolean Disable(ILenum);
  177. <a name="l00162"></a>00162 <span class="keyword">static</span> ILboolean Enable(ILenum);
  178. <a name="l00163"></a>00163 <span class="keyword">static</span> <span class="keywordtype">void</span> Get(ILenum, ILboolean &amp;);
  179. <a name="l00164"></a>00164 <span class="keyword">static</span> <span class="keywordtype">void</span> Get(ILenum, ILint &amp;);
  180. <a name="l00165"></a>00165 <span class="keyword">static</span> ILboolean GetBool(ILenum);
  181. <a name="l00166"></a>00166 <span class="keyword">static</span> ILint GetInt(ILenum);
  182. <a name="l00167"></a>00167 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *GetString(ILenum);
  183. <a name="l00168"></a>00168 <span class="keyword">static</span> ILboolean IsDisabled(ILenum);
  184. <a name="l00169"></a>00169 <span class="keyword">static</span> ILboolean IsEnabled(ILenum);
  185. <a name="l00170"></a>00170 <span class="keyword">static</span> ILboolean Origin(ILenum);
  186. <a name="l00171"></a>00171 <span class="keyword">static</span> <span class="keywordtype">void</span> Pop(<span class="keywordtype">void</span>);
  187. <a name="l00172"></a>00172 <span class="keyword">static</span> <span class="keywordtype">void</span> Push(ILuint);
  188. <a name="l00173"></a>00173
  189. <a name="l00174"></a>00174 <span class="keyword">protected</span>:
  190. <a name="l00175"></a>00175
  191. <a name="l00176"></a>00176 <span class="keyword">private</span>:
  192. <a name="l00177"></a>00177
  193. <a name="l00178"></a>00178 };
  194. <a name="l00179"></a>00179
  195. <a name="l00180"></a>00180
  196. <a name="l00181"></a>00181 <span class="keyword">class </span>ilError
  197. <a name="l00182"></a>00182 {
  198. <a name="l00183"></a>00183 <span class="keyword">public</span>:
  199. <a name="l00184"></a>00184 <span class="keyword">static</span> <span class="keywordtype">void</span> Check(<span class="keywordtype">void</span> (*Callback)(<span class="keyword">const</span> <span class="keywordtype">char</span>*));
  200. <a name="l00185"></a>00185 <span class="keyword">static</span> <span class="keywordtype">void</span> Check(<span class="keywordtype">void</span> (*Callback)(ILenum));
  201. <a name="l00186"></a>00186 <span class="keyword">static</span> ILenum Get(<span class="keywordtype">void</span>);
  202. <a name="l00187"></a>00187 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *String(<span class="keywordtype">void</span>);
  203. <a name="l00188"></a>00188 <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> *String(ILenum);
  204. <a name="l00189"></a>00189
  205. <a name="l00190"></a>00190 <span class="keyword">protected</span>:
  206. <a name="l00191"></a>00191
  207. <a name="l00192"></a>00192 <span class="keyword">private</span>:
  208. <a name="l00193"></a>00193
  209. <a name="l00194"></a>00194 };
  210. <a name="l00195"></a>00195
  211. <a name="l00196"></a>00196
  212. <a name="l00197"></a>00197 <span class="comment">//</span>
  213. <a name="l00198"></a>00198 <span class="comment">// ILIMAGE</span>
  214. <a name="l00199"></a>00199 <span class="comment">//</span>
  215. <a name="l00200"></a>00200 ilImage::ilImage()
  216. <a name="l00201"></a>00201 {
  217. <a name="l00202"></a>00202 this-&gt;Id = 0;
  218. <a name="l00203"></a>00203 <span class="comment">//this-&gt;iStartUp(); // This was commented out, but it needs to be somewhere...</span>
  219. <a name="l00204"></a>00204 this-&gt;iGenBind();
  220. <a name="l00205"></a>00205 <span class="keywordflow">return</span>;
  221. <a name="l00206"></a>00206 }
  222. <a name="l00207"></a>00207
  223. <a name="l00208"></a>00208
  224. <a name="l00209"></a>00209 ilImage::ilImage(ILconst_string FileName)
  225. <a name="l00210"></a>00210 {
  226. <a name="l00211"></a>00211 this-&gt;Id = 0;
  227. <a name="l00212"></a>00212 <span class="comment">//this-&gt;iStartUp(); // This was commented out, but it needs to be somewhere...</span>
  228. <a name="l00213"></a>00213 this-&gt;iGenBind();
  229. <a name="l00214"></a>00214 ilLoadImage(FileName);
  230. <a name="l00215"></a>00215 <span class="keywordflow">return</span>;
  231. <a name="l00216"></a>00216 }
  232. <a name="l00217"></a>00217
  233. <a name="l00218"></a>00218
  234. <a name="l00219"></a>00219 ilImage::ilImage(<span class="keyword">const</span> ilImage &amp;Image)
  235. <a name="l00220"></a>00220 {
  236. <a name="l00221"></a>00221 this-&gt;Id = 0;
  237. <a name="l00222"></a>00222 <span class="comment">// this-&gt;iStartUp();</span>
  238. <a name="l00223"></a>00223 this-&gt;iGenBind();
  239. <a name="l00224"></a>00224 *<span class="keyword">this</span> = Image;
  240. <a name="l00225"></a>00225 <span class="keywordflow">return</span>;
  241. <a name="l00226"></a>00226 }
  242. <a name="l00227"></a>00227
  243. <a name="l00228"></a>00228
  244. <a name="l00229"></a>00229 ilImage::~ilImage()
  245. <a name="l00230"></a>00230 {
  246. <a name="l00231"></a>00231 <span class="keywordflow">if</span> (this-&gt;Id)
  247. <a name="l00232"></a>00232 ilDeleteImages(1, &amp;this-&gt;Id);
  248. <a name="l00233"></a>00233 this-&gt;Id = 0;
  249. <a name="l00234"></a>00234 <span class="keywordflow">return</span>;
  250. <a name="l00235"></a>00235 }
  251. <a name="l00236"></a>00236
  252. <a name="l00237"></a>00237
  253. <a name="l00238"></a>00238 ILboolean ilImage::Load(ILconst_string FileName)
  254. <a name="l00239"></a>00239 {
  255. <a name="l00240"></a>00240 this-&gt;iGenBind();
  256. <a name="l00241"></a>00241 <span class="keywordflow">return</span> ilLoadImage(FileName);
  257. <a name="l00242"></a>00242 }
  258. <a name="l00243"></a>00243
  259. <a name="l00244"></a>00244
  260. <a name="l00245"></a>00245 ILboolean ilImage::Load(ILconst_string FileName, ILenum Type)
  261. <a name="l00246"></a>00246 {
  262. <a name="l00247"></a>00247 this-&gt;iGenBind();
  263. <a name="l00248"></a>00248 <span class="keywordflow">return</span> ilLoad(Type, FileName);
  264. <a name="l00249"></a>00249 }
  265. <a name="l00250"></a>00250
  266. <a name="l00251"></a>00251
  267. <a name="l00252"></a>00252 ILboolean ilImage::Save(ILconst_string FileName)
  268. <a name="l00253"></a>00253 {
  269. <a name="l00254"></a>00254 this-&gt;iGenBind();
  270. <a name="l00255"></a>00255 <span class="keywordflow">return</span> ilSaveImage(FileName);
  271. <a name="l00256"></a>00256 }
  272. <a name="l00257"></a>00257
  273. <a name="l00258"></a>00258
  274. <a name="l00259"></a>00259 ILboolean ilImage::Save(ILconst_string FileName, ILenum Type)
  275. <a name="l00260"></a>00260 {
  276. <a name="l00261"></a>00261 this-&gt;iGenBind();
  277. <a name="l00262"></a>00262 <span class="keywordflow">return</span> ilSave(Type, FileName);
  278. <a name="l00263"></a>00263 }
  279. <a name="l00264"></a>00264
  280. <a name="l00265"></a>00265
  281. <a name="l00266"></a>00266
  282. <a name="l00267"></a>00267 <span class="comment">//</span>
  283. <a name="l00268"></a>00268 <span class="comment">// ImageLib functions</span>
  284. <a name="l00269"></a>00269 <span class="comment">//</span>
  285. <a name="l00270"></a>00270 ILboolean ilImage::ActiveImage(ILuint Number)
  286. <a name="l00271"></a>00271 {
  287. <a name="l00272"></a>00272 <span class="keywordflow">if</span> (this-&gt;Id) {
  288. <a name="l00273"></a>00273 this-&gt;Bind();
  289. <a name="l00274"></a>00274 <span class="keywordflow">return</span> ilActiveImage(Number);
  290. <a name="l00275"></a>00275 }
  291. <a name="l00276"></a>00276 <span class="keywordflow">return</span> IL_FALSE;
  292. <a name="l00277"></a>00277 }
  293. <a name="l00278"></a>00278
  294. <a name="l00279"></a>00279
  295. <a name="l00280"></a>00280 ILboolean ilImage::ActiveLayer(ILuint Number)
  296. <a name="l00281"></a>00281 {
  297. <a name="l00282"></a>00282 <span class="keywordflow">if</span> (this-&gt;Id) {
  298. <a name="l00283"></a>00283 this-&gt;Bind();
  299. <a name="l00284"></a>00284 <span class="keywordflow">return</span> ilActiveLayer(Number);
  300. <a name="l00285"></a>00285 }
  301. <a name="l00286"></a>00286 <span class="keywordflow">return</span> IL_FALSE;
  302. <a name="l00287"></a>00287 }
  303. <a name="l00288"></a>00288
  304. <a name="l00289"></a>00289
  305. <a name="l00290"></a>00290 ILboolean ilImage::ActiveMipmap(ILuint Number)
  306. <a name="l00291"></a>00291 {
  307. <a name="l00292"></a>00292 <span class="keywordflow">if</span> (this-&gt;Id) {
  308. <a name="l00293"></a>00293 this-&gt;Bind();
  309. <a name="l00294"></a>00294 <span class="keywordflow">return</span> ilActiveMipmap(Number);
  310. <a name="l00295"></a>00295 }
  311. <a name="l00296"></a>00296 <span class="keywordflow">return</span> IL_FALSE;
  312. <a name="l00297"></a>00297 }
  313. <a name="l00298"></a>00298
  314. <a name="l00299"></a>00299
  315. <a name="l00300"></a>00300 ILboolean ilImage::Clear()
  316. <a name="l00301"></a>00301 {
  317. <a name="l00302"></a>00302 <span class="keywordflow">if</span> (this-&gt;Id) {
  318. <a name="l00303"></a>00303 this-&gt;Bind();
  319. <a name="l00304"></a>00304 <span class="keywordflow">return</span> ilClearImage();
  320. <a name="l00305"></a>00305 }
  321. <a name="l00306"></a>00306 <span class="keywordflow">return</span> IL_FALSE;
  322. <a name="l00307"></a>00307 }
  323. <a name="l00308"></a>00308
  324. <a name="l00309"></a>00309
  325. <a name="l00310"></a>00310 <span class="keywordtype">void</span> ilImage::ClearColour(ILclampf Red, ILclampf Green, ILclampf Blue, ILclampf Alpha)
  326. <a name="l00311"></a>00311 {
  327. <a name="l00312"></a>00312 ilClearColour(Red, Green, Blue, Alpha);
  328. <a name="l00313"></a>00313 <span class="keywordflow">return</span>;
  329. <a name="l00314"></a>00314 }
  330. <a name="l00315"></a>00315
  331. <a name="l00316"></a>00316
  332. <a name="l00317"></a>00317 ILboolean ilImage::Convert(ILenum NewFormat)
  333. <a name="l00318"></a>00318 {
  334. <a name="l00319"></a>00319 <span class="keywordflow">if</span> (this-&gt;Id) {
  335. <a name="l00320"></a>00320 this-&gt;Bind();
  336. <a name="l00321"></a>00321 <span class="keywordflow">return</span> ilConvertImage(NewFormat, IL_UNSIGNED_BYTE);
  337. <a name="l00322"></a>00322 }
  338. <a name="l00323"></a>00323 <span class="keywordflow">return</span> IL_FALSE;
  339. <a name="l00324"></a>00324 }
  340. <a name="l00325"></a>00325
  341. <a name="l00326"></a>00326
  342. <a name="l00327"></a>00327 ILboolean ilImage::Copy(ILuint Src)
  343. <a name="l00328"></a>00328 {
  344. <a name="l00329"></a>00329 <span class="keywordflow">if</span> (this-&gt;Id) {
  345. <a name="l00330"></a>00330 this-&gt;Bind();
  346. <a name="l00331"></a>00331 <span class="keywordflow">return</span> ilCopyImage(Src);
  347. <a name="l00332"></a>00332 }
  348. <a name="l00333"></a>00333 <span class="keywordflow">return</span> IL_FALSE;
  349. <a name="l00334"></a>00334 }
  350. <a name="l00335"></a>00335
  351. <a name="l00336"></a>00336
  352. <a name="l00337"></a>00337 ILboolean ilImage::Default()
  353. <a name="l00338"></a>00338 {
  354. <a name="l00339"></a>00339 <span class="keywordflow">if</span> (this-&gt;Id) {
  355. <a name="l00340"></a>00340 this-&gt;Bind();
  356. <a name="l00341"></a>00341 <span class="keywordflow">return</span> ilDefaultImage();
  357. <a name="l00342"></a>00342 }
  358. <a name="l00343"></a>00343 <span class="keywordflow">return</span> IL_FALSE;
  359. <a name="l00344"></a>00344 }
  360. <a name="l00345"></a>00345
  361. <a name="l00346"></a>00346
  362. <a name="l00347"></a>00347 ILboolean ilImage::Flip()
  363. <a name="l00348"></a>00348 {
  364. <a name="l00349"></a>00349 <span class="keywordflow">if</span> (this-&gt;Id) {
  365. <a name="l00350"></a>00350 this-&gt;Bind();
  366. <a name="l00351"></a>00351 <span class="keywordflow">return</span> iluFlipImage();
  367. <a name="l00352"></a>00352 }
  368. <a name="l00353"></a>00353 <span class="keywordflow">return</span> IL_FALSE;
  369. <a name="l00354"></a>00354 }
  370. <a name="l00355"></a>00355
  371. <a name="l00356"></a>00356
  372. <a name="l00357"></a>00357 ILboolean ilImage::SwapColours()
  373. <a name="l00358"></a>00358 {
  374. <a name="l00359"></a>00359 <span class="keywordflow">if</span> (this-&gt;Id) {
  375. <a name="l00360"></a>00360 this-&gt;Bind();
  376. <a name="l00361"></a>00361 <span class="keywordflow">return</span> iluSwapColours();
  377. <a name="l00362"></a>00362 }
  378. <a name="l00363"></a>00363 <span class="keywordflow">return</span> IL_FALSE;
  379. <a name="l00364"></a>00364 }
  380. <a name="l00365"></a>00365
  381. <a name="l00366"></a>00366
  382. <a name="l00367"></a>00367 ILboolean ilImage::Resize(ILuint Width, ILuint Height, ILuint Depth)
  383. <a name="l00368"></a>00368 {
  384. <a name="l00369"></a>00369 <span class="keywordflow">if</span> (this-&gt;Id) {
  385. <a name="l00370"></a>00370 this-&gt;Bind();
  386. <a name="l00371"></a>00371 <span class="keywordflow">return</span> iluScale(Width, Height, Depth);
  387. <a name="l00372"></a>00372 }
  388. <a name="l00373"></a>00373 <span class="keywordflow">return</span> IL_FALSE;
  389. <a name="l00374"></a>00374 }
  390. <a name="l00375"></a>00375
  391. <a name="l00376"></a>00376
  392. <a name="l00377"></a>00377 ILboolean ilImage::TexImage(ILuint Width, ILuint Height, ILuint Depth, ILubyte Bpp, ILenum Format, ILenum Type, <span class="keywordtype">void</span> *Data)
  393. <a name="l00378"></a>00378 {
  394. <a name="l00379"></a>00379 <span class="keywordflow">if</span> (this-&gt;Id) {
  395. <a name="l00380"></a>00380 this-&gt;Bind();
  396. <a name="l00381"></a>00381 <span class="keywordflow">return</span> ilTexImage(Width, Height, Depth, Bpp, Format, Type, Data);
  397. <a name="l00382"></a>00382 }
  398. <a name="l00383"></a>00383 <span class="keywordflow">return</span> IL_FALSE;
  399. <a name="l00384"></a>00384 }
  400. <a name="l00385"></a>00385
  401. <a name="l00386"></a>00386
  402. <a name="l00387"></a>00387
  403. <a name="l00388"></a>00388 <span class="comment">//</span>
  404. <a name="l00389"></a>00389 <span class="comment">// Image handling</span>
  405. <a name="l00390"></a>00390 <span class="comment">//</span>
  406. <a name="l00391"></a>00391 <span class="keywordtype">void</span> ilImage::Bind()<span class="keyword"> const</span>
  407. <a name="l00392"></a>00392 <span class="keyword"></span>{
  408. <a name="l00393"></a>00393 <span class="keywordflow">if</span> (this-&gt;Id)
  409. <a name="l00394"></a>00394 ilBindImage(this-&gt;Id);
  410. <a name="l00395"></a>00395 <span class="keywordflow">return</span>;
  411. <a name="l00396"></a>00396 }
  412. <a name="l00397"></a>00397
  413. <a name="l00398"></a>00398 <span class="comment">// Note: Behaviour may be changed!</span>
  414. <a name="l00399"></a>00399 <span class="keywordtype">void</span> ilImage::Bind(ILuint Image)
  415. <a name="l00400"></a>00400 {
  416. <a name="l00401"></a>00401 <span class="keywordflow">if</span> (this-&gt;Id == Image)
  417. <a name="l00402"></a>00402 <span class="keywordflow">return</span>;
  418. <a name="l00403"></a>00403 this-&gt;Delete(); <span class="comment">// Should we delete it?</span>
  419. <a name="l00404"></a>00404 this-&gt;Id = Image;
  420. <a name="l00405"></a>00405 ilBindImage(this-&gt;Id);
  421. <a name="l00406"></a>00406 <span class="keywordflow">return</span>;
  422. <a name="l00407"></a>00407 }
  423. <a name="l00408"></a>00408
  424. <a name="l00409"></a>00409
  425. <a name="l00410"></a>00410 <span class="keywordtype">void</span> ilImage::Delete()
  426. <a name="l00411"></a>00411 {
  427. <a name="l00412"></a>00412 <span class="keywordflow">if</span> (this-&gt;Id == 0)
  428. <a name="l00413"></a>00413 <span class="keywordflow">return</span>;
  429. <a name="l00414"></a>00414 ilDeleteImages(1, &amp;this-&gt;Id);
  430. <a name="l00415"></a>00415 this-&gt;Id = 0;
  431. <a name="l00416"></a>00416 <span class="keywordflow">return</span>;
  432. <a name="l00417"></a>00417 }
  433. <a name="l00418"></a>00418
  434. <a name="l00419"></a>00419
  435. <a name="l00420"></a>00420
  436. <a name="l00421"></a>00421
  437. <a name="l00422"></a>00422 <span class="comment">//</span>
  438. <a name="l00423"></a>00423 <span class="comment">// Image characteristics</span>
  439. <a name="l00424"></a>00424 <span class="comment">//</span>
  440. <a name="l00425"></a>00425 ILuint ilImage::Width()
  441. <a name="l00426"></a>00426 {
  442. <a name="l00427"></a>00427 <span class="keywordflow">if</span> (this-&gt;Id) {
  443. <a name="l00428"></a>00428 this-&gt;Bind();
  444. <a name="l00429"></a>00429 <span class="keywordflow">return</span> ilGetInteger(IL_IMAGE_WIDTH);
  445. <a name="l00430"></a>00430 }
  446. <a name="l00431"></a>00431 <span class="keywordflow">return</span> 0;
  447. <a name="l00432"></a>00432 }
  448. <a name="l00433"></a>00433
  449. <a name="l00434"></a>00434
  450. <a name="l00435"></a>00435 ILuint ilImage::Height()
  451. <a name="l00436"></a>00436 {
  452. <a name="l00437"></a>00437 <span class="keywordflow">if</span> (this-&gt;Id) {
  453. <a name="l00438"></a>00438 this-&gt;Bind();
  454. <a name="l00439"></a>00439 <span class="keywordflow">return</span> ilGetInteger(IL_IMAGE_HEIGHT);
  455. <a name="l00440"></a>00440 }
  456. <a name="l00441"></a>00441 <span class="keywordflow">return</span> 0;
  457. <a name="l00442"></a>00442 }
  458. <a name="l00443"></a>00443
  459. <a name="l00444"></a>00444 ILuint ilImage::Depth()
  460. <a name="l00445"></a>00445 {
  461. <a name="l00446"></a>00446 <span class="keywordflow">if</span> (this-&gt;Id) {
  462. <a name="l00447"></a>00447 this-&gt;Bind();
  463. <a name="l00448"></a>00448 <span class="keywordflow">return</span> ilGetInteger(IL_IMAGE_DEPTH);
  464. <a name="l00449"></a>00449 }
  465. <a name="l00450"></a>00450 <span class="keywordflow">return</span> 0;
  466. <a name="l00451"></a>00451 }
  467. <a name="l00452"></a>00452
  468. <a name="l00453"></a>00453 ILubyte ilImage::Bpp()
  469. <a name="l00454"></a>00454 {
  470. <a name="l00455"></a>00455 <span class="keywordflow">if</span> (this-&gt;Id) {
  471. <a name="l00456"></a>00456 this-&gt;Bind();
  472. <a name="l00457"></a>00457 <span class="keywordflow">return</span> ilGetInteger(IL_IMAGE_BYTES_PER_PIXEL);
  473. <a name="l00458"></a>00458 }
  474. <a name="l00459"></a>00459 <span class="keywordflow">return</span> 0;
  475. <a name="l00460"></a>00460 }
  476. <a name="l00461"></a>00461
  477. <a name="l00462"></a>00462 ILubyte ilImage::Bitpp()
  478. <a name="l00463"></a>00463 {
  479. <a name="l00464"></a>00464 <span class="keywordflow">if</span> (this-&gt;Id) {
  480. <a name="l00465"></a>00465 this-&gt;Bind();
  481. <a name="l00466"></a>00466 <span class="keywordflow">return</span> ilGetInteger(IL_IMAGE_BITS_PER_PIXEL);
  482. <a name="l00467"></a>00467 }
  483. <a name="l00468"></a>00468 <span class="keywordflow">return</span> 0;
  484. <a name="l00469"></a>00469 }
  485. <a name="l00470"></a>00470
  486. <a name="l00471"></a>00471 ILenum ilImage::Format()
  487. <a name="l00472"></a>00472 {
  488. <a name="l00473"></a>00473 <span class="keywordflow">if</span> (this-&gt;Id) {
  489. <a name="l00474"></a>00474 this-&gt;Bind();
  490. <a name="l00475"></a>00475 <span class="keywordflow">return</span> ilGetInteger(IL_IMAGE_FORMAT);
  491. <a name="l00476"></a>00476 }
  492. <a name="l00477"></a>00477 <span class="keywordflow">return</span> 0;
  493. <a name="l00478"></a>00478 }
  494. <a name="l00479"></a>00479
  495. <a name="l00480"></a>00480 ILenum ilImage::PaletteType()
  496. <a name="l00481"></a>00481 {
  497. <a name="l00482"></a>00482 <span class="keywordflow">if</span> (this-&gt;Id) {
  498. <a name="l00483"></a>00483 this-&gt;Bind();
  499. <a name="l00484"></a>00484 <span class="keywordflow">return</span> ilGetInteger(IL_PALETTE_TYPE);
  500. <a name="l00485"></a>00485 }
  501. <a name="l00486"></a>00486 <span class="keywordflow">return</span> 0;
  502. <a name="l00487"></a>00487 }
  503. <a name="l00488"></a>00488
  504. <a name="l00489"></a>00489 ILenum ilImage::PaletteAlphaIndex()
  505. <a name="l00490"></a>00490 {
  506. <a name="l00491"></a>00491 <span class="keywordflow">if</span> (this-&gt;Id) {
  507. <a name="l00492"></a>00492 this-&gt;Bind();
  508. <a name="l00493"></a>00493 <span class="keywordflow">return</span> ilGetInteger(IL_PNG_ALPHA_INDEX);
  509. <a name="l00494"></a>00494 }
  510. <a name="l00495"></a>00495 <span class="keywordflow">return</span> 0;
  511. <a name="l00496"></a>00496 }
  512. <a name="l00497"></a>00497
  513. <a name="l00498"></a>00498 ILenum ilImage::Type()
  514. <a name="l00499"></a>00499 {
  515. <a name="l00500"></a>00500 <span class="keywordflow">if</span> (this-&gt;Id) {
  516. <a name="l00501"></a>00501 this-&gt;Bind();
  517. <a name="l00502"></a>00502 <span class="keywordflow">return</span> ilGetInteger(IL_IMAGE_TYPE);
  518. <a name="l00503"></a>00503 }
  519. <a name="l00504"></a>00504 <span class="keywordflow">return</span> 0;
  520. <a name="l00505"></a>00505 }
  521. <a name="l00506"></a>00506
  522. <a name="l00507"></a>00507 ILenum ilImage::NumImages()
  523. <a name="l00508"></a>00508 {
  524. <a name="l00509"></a>00509 <span class="keywordflow">if</span> (this-&gt;Id) {
  525. <a name="l00510"></a>00510 this-&gt;Bind();
  526. <a name="l00511"></a>00511 <span class="keywordflow">return</span> ilGetInteger(IL_NUM_IMAGES);
  527. <a name="l00512"></a>00512 }
  528. <a name="l00513"></a>00513 <span class="keywordflow">return</span> 0;
  529. <a name="l00514"></a>00514 }
  530. <a name="l00515"></a>00515
  531. <a name="l00516"></a>00516 ILenum ilImage::NumMipmaps()
  532. <a name="l00517"></a>00517 {
  533. <a name="l00518"></a>00518 <span class="keywordflow">if</span> (this-&gt;Id) {
  534. <a name="l00519"></a>00519 this-&gt;Bind();
  535. <a name="l00520"></a>00520 <span class="keywordflow">return</span> ilGetInteger(IL_NUM_MIPMAPS);
  536. <a name="l00521"></a>00521 }
  537. <a name="l00522"></a>00522 <span class="keywordflow">return</span> 0;
  538. <a name="l00523"></a>00523 }
  539. <a name="l00524"></a>00524
  540. <a name="l00525"></a>00525 ILuint ilImage::GetId()<span class="keyword"> const</span>
  541. <a name="l00526"></a>00526 <span class="keyword"></span>{
  542. <a name="l00527"></a>00527 <span class="keywordflow">return</span> this-&gt;Id;
  543. <a name="l00528"></a>00528 }
  544. <a name="l00529"></a>00529
  545. <a name="l00530"></a>00530 ILenum ilImage::GetOrigin(<span class="keywordtype">void</span>)
  546. <a name="l00531"></a>00531 {
  547. <a name="l00532"></a>00532 ILinfo Info;
  548. <a name="l00533"></a>00533
  549. <a name="l00534"></a>00534 <span class="keywordflow">if</span> (this-&gt;Id) {
  550. <a name="l00535"></a>00535 this-&gt;Bind();
  551. <a name="l00536"></a>00536 iluGetImageInfo(&amp;Info);
  552. <a name="l00537"></a>00537 <span class="keywordflow">return</span> Info.Origin;
  553. <a name="l00538"></a>00538 }
  554. <a name="l00539"></a>00539 <span class="keywordflow">return</span> 0;
  555. <a name="l00540"></a>00540 }
  556. <a name="l00541"></a>00541
  557. <a name="l00542"></a>00542 ILubyte* ilImage::GetData()
  558. <a name="l00543"></a>00543 {
  559. <a name="l00544"></a>00544 <span class="keywordflow">if</span> (this-&gt;Id) {
  560. <a name="l00545"></a>00545 this-&gt;Bind();
  561. <a name="l00546"></a>00546 <span class="keywordflow">return</span> ilGetData();
  562. <a name="l00547"></a>00547 }
  563. <a name="l00548"></a>00548 <span class="keywordflow">return</span> 0;
  564. <a name="l00549"></a>00549 }
  565. <a name="l00550"></a>00550
  566. <a name="l00551"></a>00551 ILubyte* ilImage::GetPalette()
  567. <a name="l00552"></a>00552 {
  568. <a name="l00553"></a>00553 <span class="keywordflow">if</span> (this-&gt;Id) {
  569. <a name="l00554"></a>00554 this-&gt;Bind();
  570. <a name="l00555"></a>00555 <span class="keywordflow">return</span> ilGetPalette();
  571. <a name="l00556"></a>00556 }
  572. <a name="l00557"></a>00557 <span class="keywordflow">return</span> 0;
  573. <a name="l00558"></a>00558 }
  574. <a name="l00559"></a>00559
  575. <a name="l00560"></a>00560 <span class="comment">//</span>
  576. <a name="l00561"></a>00561 <span class="comment">// Private members</span>
  577. <a name="l00562"></a>00562 <span class="comment">//</span>
  578. <a name="l00563"></a>00563 <span class="comment">/*void ilImage::iStartUp()</span>
  579. <a name="l00564"></a>00564 <span class="comment">{</span>
  580. <a name="l00565"></a>00565 <span class="comment"> ilInit();</span>
  581. <a name="l00566"></a>00566 <span class="comment"> iluInit();</span>
  582. <a name="l00567"></a>00567 <span class="comment"> ilutInit();</span>
  583. <a name="l00568"></a>00568 <span class="comment"> return;</span>
  584. <a name="l00569"></a>00569 <span class="comment">}*/</span>
  585. <a name="l00570"></a>00570
  586. <a name="l00571"></a>00571 <span class="keywordtype">void</span> ilImage::iGenBind()
  587. <a name="l00572"></a>00572 {
  588. <a name="l00573"></a>00573 <span class="keywordflow">if</span> (this-&gt;Id == 0) {
  589. <a name="l00574"></a>00574 ilGenImages(1, &amp;this-&gt;Id);
  590. <a name="l00575"></a>00575 }
  591. <a name="l00576"></a>00576 ilBindImage(this-&gt;Id);
  592. <a name="l00577"></a>00577 <span class="keywordflow">return</span>;
  593. <a name="l00578"></a>00578 }
  594. <a name="l00579"></a>00579
  595. <a name="l00580"></a>00580 <span class="comment">//</span>
  596. <a name="l00581"></a>00581 <span class="comment">// Operators</span>
  597. <a name="l00582"></a>00582 <span class="comment">//</span>
  598. <a name="l00583"></a>00583 ilImage&amp; ilImage::operator = (ILuint Image)
  599. <a name="l00584"></a>00584 {
  600. <a name="l00585"></a>00585 <span class="keywordflow">if</span> (this-&gt;Id == 0)
  601. <a name="l00586"></a>00586 this-&gt;Id = Image;
  602. <a name="l00587"></a>00587 <span class="keywordflow">else</span> {
  603. <a name="l00588"></a>00588 this-&gt;Bind();
  604. <a name="l00589"></a>00589 ilCopyImage(Image);
  605. <a name="l00590"></a>00590 }
  606. <a name="l00591"></a>00591
  607. <a name="l00592"></a>00592 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
  608. <a name="l00593"></a>00593 }
  609. <a name="l00594"></a>00594
  610. <a name="l00595"></a>00595 ilImage&amp; ilImage::operator = (<span class="keyword">const</span> ilImage &amp;Image)
  611. <a name="l00596"></a>00596 {
  612. <a name="l00597"></a>00597 <span class="keywordflow">if</span> (Id == 0)
  613. <a name="l00598"></a>00598 Id = Image.GetId();
  614. <a name="l00599"></a>00599 <span class="keywordflow">else</span> {
  615. <a name="l00600"></a>00600 Bind();
  616. <a name="l00601"></a>00601 ilCopyImage(Image.GetId());
  617. <a name="l00602"></a>00602 }
  618. <a name="l00603"></a>00603
  619. <a name="l00604"></a>00604 <span class="keywordflow">return</span> *<span class="keyword">this</span>;
  620. <a name="l00605"></a>00605 }
  621. <a name="l00606"></a>00606
  622. <a name="l00607"></a>00607 <span class="comment">//</span>
  623. <a name="l00608"></a>00608 <span class="comment">// ILFILTERS</span>
  624. <a name="l00609"></a>00609 <span class="comment">//</span>
  625. <a name="l00610"></a>00610 ILboolean ilFilters::Alienify(ilImage &amp;Image)
  626. <a name="l00611"></a>00611 {
  627. <a name="l00612"></a>00612 Image.Bind();
  628. <a name="l00613"></a>00613 <span class="keywordflow">return</span> iluAlienify();
  629. <a name="l00614"></a>00614 }
  630. <a name="l00615"></a>00615
  631. <a name="l00616"></a>00616 ILboolean ilFilters::BlurAvg(ilImage &amp;Image, ILuint Iter)
  632. <a name="l00617"></a>00617 {
  633. <a name="l00618"></a>00618 Image.Bind();
  634. <a name="l00619"></a>00619 <span class="keywordflow">return</span> iluBlurAvg(Iter);
  635. <a name="l00620"></a>00620 }
  636. <a name="l00621"></a>00621
  637. <a name="l00622"></a>00622 ILboolean ilFilters::BlurGaussian(ilImage &amp;Image, ILuint Iter)
  638. <a name="l00623"></a>00623 {
  639. <a name="l00624"></a>00624 Image.Bind();
  640. <a name="l00625"></a>00625 <span class="keywordflow">return</span> iluBlurGaussian(Iter);
  641. <a name="l00626"></a>00626 }
  642. <a name="l00627"></a>00627
  643. <a name="l00628"></a>00628 ILboolean ilFilters::Contrast(ilImage &amp;Image, ILfloat Contrast)
  644. <a name="l00629"></a>00629 {
  645. <a name="l00630"></a>00630 Image.Bind();
  646. <a name="l00631"></a>00631 <span class="keywordflow">return</span> iluContrast(Contrast);
  647. <a name="l00632"></a>00632 }
  648. <a name="l00633"></a>00633
  649. <a name="l00634"></a>00634 ILboolean ilFilters::EdgeDetectE(ilImage &amp;Image)
  650. <a name="l00635"></a>00635 {
  651. <a name="l00636"></a>00636 Image.Bind();
  652. <a name="l00637"></a>00637 <span class="keywordflow">return</span> iluEdgeDetectP();
  653. <a name="l00638"></a>00638 }
  654. <a name="l00639"></a>00639
  655. <a name="l00640"></a>00640 ILboolean ilFilters::EdgeDetectP(ilImage &amp;Image)
  656. <a name="l00641"></a>00641 {
  657. <a name="l00642"></a>00642 Image.Bind();
  658. <a name="l00643"></a>00643 <span class="keywordflow">return</span> iluEdgeDetectP();
  659. <a name="l00644"></a>00644 }
  660. <a name="l00645"></a>00645
  661. <a name="l00646"></a>00646 ILboolean ilFilters::EdgeDetectS(ilImage &amp;Image)
  662. <a name="l00647"></a>00647 {
  663. <a name="l00648"></a>00648 Image.Bind();
  664. <a name="l00649"></a>00649 <span class="keywordflow">return</span> iluEdgeDetectS();
  665. <a name="l00650"></a>00650 }
  666. <a name="l00651"></a>00651
  667. <a name="l00652"></a>00652 ILboolean ilFilters::Emboss(ilImage &amp;Image)
  668. <a name="l00653"></a>00653 {
  669. <a name="l00654"></a>00654 Image.Bind();
  670. <a name="l00655"></a>00655 <span class="keywordflow">return</span> iluEmboss();
  671. <a name="l00656"></a>00656 }
  672. <a name="l00657"></a>00657
  673. <a name="l00658"></a>00658 ILboolean ilFilters::Gamma(ilImage &amp;Image, ILfloat Gamma)
  674. <a name="l00659"></a>00659 {
  675. <a name="l00660"></a>00660 Image.Bind();
  676. <a name="l00661"></a>00661 <span class="keywordflow">return</span> iluGammaCorrect(Gamma);
  677. <a name="l00662"></a>00662 }
  678. <a name="l00663"></a>00663
  679. <a name="l00664"></a>00664 ILboolean ilFilters::Negative(ilImage &amp;Image)
  680. <a name="l00665"></a>00665 {
  681. <a name="l00666"></a>00666 Image.Bind();
  682. <a name="l00667"></a>00667 <span class="keywordflow">return</span> iluNegative();
  683. <a name="l00668"></a>00668 }
  684. <a name="l00669"></a>00669
  685. <a name="l00670"></a>00670 ILboolean ilFilters::Noisify(ilImage &amp;Image, ILubyte Factor)
  686. <a name="l00671"></a>00671 {
  687. <a name="l00672"></a>00672 Image.Bind();
  688. <a name="l00673"></a>00673 <span class="keywordflow">return</span> iluNoisify(Factor);
  689. <a name="l00674"></a>00674 }
  690. <a name="l00675"></a>00675
  691. <a name="l00676"></a>00676 ILboolean ilFilters::Pixelize(ilImage &amp;Image, ILuint PixSize)
  692. <a name="l00677"></a>00677 {
  693. <a name="l00678"></a>00678 Image.Bind();
  694. <a name="l00679"></a>00679 <span class="keywordflow">return</span> iluPixelize(PixSize);
  695. <a name="l00680"></a>00680 }
  696. <a name="l00681"></a>00681
  697. <a name="l00682"></a>00682 ILboolean ilFilters::Saturate(ilImage &amp;Image, ILfloat Saturation)
  698. <a name="l00683"></a>00683 {
  699. <a name="l00684"></a>00684 Image.Bind();
  700. <a name="l00685"></a>00685 <span class="keywordflow">return</span> iluSaturate1f(Saturation);
  701. <a name="l00686"></a>00686 }
  702. <a name="l00687"></a>00687
  703. <a name="l00688"></a>00688 ILboolean ilFilters::Saturate(ilImage &amp;Image, ILfloat r, ILfloat g, ILfloat b, ILfloat Saturation)
  704. <a name="l00689"></a>00689 {
  705. <a name="l00690"></a>00690 Image.Bind();
  706. <a name="l00691"></a>00691 <span class="keywordflow">return</span> iluSaturate4f(r, g, b, Saturation);
  707. <a name="l00692"></a>00692 }
  708. <a name="l00693"></a>00693
  709. <a name="l00694"></a>00694 ILboolean ilFilters::ScaleColours(ilImage &amp;Image, ILfloat r, ILfloat g, ILfloat b)
  710. <a name="l00695"></a>00695 {
  711. <a name="l00696"></a>00696 Image.Bind();
  712. <a name="l00697"></a>00697 <span class="keywordflow">return</span> iluScaleColours(r, g, b);
  713. <a name="l00698"></a>00698 }
  714. <a name="l00699"></a>00699
  715. <a name="l00700"></a>00700
  716. <a name="l00701"></a>00701 ILboolean ilFilters::Sharpen(ilImage &amp;Image, ILfloat Factor, ILuint Iter)
  717. <a name="l00702"></a>00702 {
  718. <a name="l00703"></a>00703 Image.Bind();
  719. <a name="l00704"></a>00704 <span class="keywordflow">return</span> iluSharpen(Factor, Iter);
  720. <a name="l00705"></a>00705 }
  721. <a name="l00706"></a>00706
  722. <a name="l00707"></a>00707
  723. <a name="l00708"></a>00708 <span class="comment">//</span>
  724. <a name="l00709"></a>00709 <span class="comment">// ILOPENGL</span>
  725. <a name="l00710"></a>00710 <span class="comment">//</span>
  726. <a name="l00711"></a>00711 <span class="preprocessor">#ifdef ILUT_USE_OPENGL</span>
  727. <a name="l00712"></a>00712 <span class="preprocessor"></span><span class="keywordtype">void</span> ilOgl::Init()
  728. <a name="l00713"></a>00713 {
  729. <a name="l00714"></a>00714 ilutRenderer(ILUT_OPENGL);
  730. <a name="l00715"></a>00715 <span class="keywordflow">return</span>;
  731. <a name="l00716"></a>00716 }
  732. <a name="l00717"></a>00717
  733. <a name="l00718"></a>00718
  734. <a name="l00719"></a>00719 GLuint ilOgl::BindTex(ilImage &amp;Image)
  735. <a name="l00720"></a>00720 {
  736. <a name="l00721"></a>00721 Image.Bind();
  737. <a name="l00722"></a>00722 <span class="keywordflow">return</span> ilutGLBindTexImage();
  738. <a name="l00723"></a>00723 }
  739. <a name="l00724"></a>00724
  740. <a name="l00725"></a>00725 ILboolean ilOgl::Upload(ilImage &amp;Image, ILuint Level)
  741. <a name="l00726"></a>00726 {
  742. <a name="l00727"></a>00727 Image.Bind();
  743. <a name="l00728"></a>00728 <span class="keywordflow">return</span> ilutGLTexImage(Level);
  744. <a name="l00729"></a>00729 }
  745. <a name="l00730"></a>00730
  746. <a name="l00731"></a>00731
  747. <a name="l00732"></a>00732 GLuint ilOgl::Mipmap(ilImage &amp;Image)
  748. <a name="l00733"></a>00733 {
  749. <a name="l00734"></a>00734 Image.Bind();
  750. <a name="l00735"></a>00735 <span class="keywordflow">return</span> ilutGLBuildMipmaps();
  751. <a name="l00736"></a>00736 }
  752. <a name="l00737"></a>00737
  753. <a name="l00738"></a>00738 ILboolean ilOgl::Screen()
  754. <a name="l00739"></a>00739 {
  755. <a name="l00740"></a>00740 <span class="keywordflow">return</span> ilutGLScreen();
  756. <a name="l00741"></a>00741 }
  757. <a name="l00742"></a>00742
  758. <a name="l00743"></a>00743
  759. <a name="l00744"></a>00744 ILboolean ilOgl::Screenie()
  760. <a name="l00745"></a>00745 {
  761. <a name="l00746"></a>00746 <span class="keywordflow">return</span> ilutGLScreenie();
  762. <a name="l00747"></a>00747 }
  763. <a name="l00748"></a>00748 <span class="preprocessor">#endif//ILUT_USE_OPENGL</span>
  764. <a name="l00749"></a>00749 <span class="preprocessor"></span>
  765. <a name="l00750"></a>00750 <span class="comment">//</span>
  766. <a name="l00751"></a>00751 <span class="comment">// ILALLEGRO</span>
  767. <a name="l00752"></a>00752 <span class="comment">//</span>
  768. <a name="l00753"></a>00753 <span class="preprocessor">#ifdef ILUT_USE_ALLEGRO</span>
  769. <a name="l00754"></a>00754 <span class="preprocessor"></span><span class="keywordtype">void</span> ilAlleg::Init()
  770. <a name="l00755"></a>00755 {
  771. <a name="l00756"></a>00756 ilutRenderer(IL_ALLEGRO);
  772. <a name="l00757"></a>00757 <span class="keywordflow">return</span>;
  773. <a name="l00758"></a>00758 }
  774. <a name="l00759"></a>00759
  775. <a name="l00760"></a>00760 BITMAP *ilAlleg::Convert(ilImage &amp;Image, PALETTE Pal)
  776. <a name="l00761"></a>00761 {
  777. <a name="l00762"></a>00762 Image.Bind();
  778. <a name="l00763"></a>00763 <span class="keywordflow">return</span> ilutConvertToAlleg(Pal);
  779. <a name="l00764"></a>00764 }
  780. <a name="l00765"></a>00765 <span class="preprocessor">#endif//ILUT_USE_ALLEGRO</span>
  781. <a name="l00766"></a>00766 <span class="preprocessor"></span>
  782. <a name="l00767"></a>00767 <span class="comment">//</span>
  783. <a name="l00768"></a>00768 <span class="comment">// ILWIN32</span>
  784. <a name="l00769"></a>00769 <span class="comment">//</span>
  785. <a name="l00770"></a>00770 <span class="preprocessor">#ifdef ILUT_USE_WIN32</span>
  786. <a name="l00771"></a>00771 <span class="preprocessor"></span><span class="keywordtype">void</span> ilWin32::Init()
  787. <a name="l00772"></a>00772 {
  788. <a name="l00773"></a>00773 ilutRenderer(ILUT_WIN32);
  789. <a name="l00774"></a>00774 <span class="keywordflow">return</span>;
  790. <a name="l00775"></a>00775 }
  791. <a name="l00776"></a>00776
  792. <a name="l00777"></a>00777 HBITMAP ilWin32::Convert(ilImage &amp;Image)
  793. <a name="l00778"></a>00778 {
  794. <a name="l00779"></a>00779 Image.Bind();
  795. <a name="l00780"></a>00780 <span class="keywordflow">return</span> ilutConvertToHBitmap(GetDC(NULL));
  796. <a name="l00781"></a>00781 }
  797. <a name="l00782"></a>00782
  798. <a name="l00783"></a>00783 ILboolean ilWin32::GetClipboard(ilImage &amp;Image)
  799. <a name="l00784"></a>00784 {
  800. <a name="l00785"></a>00785 Image.Bind();
  801. <a name="l00786"></a>00786 <span class="keywordflow">return</span> ilutGetWinClipboard();
  802. <a name="l00787"></a>00787 }
  803. <a name="l00788"></a>00788
  804. <a name="l00789"></a>00789 <span class="keywordtype">void</span> ilWin32::GetInfo(ilImage &amp;Image, BITMAPINFO *Info)
  805. <a name="l00790"></a>00790 {
  806. <a name="l00791"></a>00791 Image.Bind();
  807. <a name="l00792"></a>00792 ilutGetBmpInfo(Info);
  808. <a name="l00793"></a>00793 <span class="keywordflow">return</span>;
  809. <a name="l00794"></a>00794 }
  810. <a name="l00795"></a>00795
  811. <a name="l00796"></a>00796 ILubyte* ilWin32::GetPadData(ilImage &amp;Image)
  812. <a name="l00797"></a>00797 {
  813. <a name="l00798"></a>00798 Image.Bind();
  814. <a name="l00799"></a>00799 <span class="keywordflow">return</span> ilutGetPaddedData();
  815. <a name="l00800"></a>00800 }
  816. <a name="l00801"></a>00801
  817. <a name="l00802"></a>00802 HPALETTE ilWin32::GetPal(ilImage &amp;Image)
  818. <a name="l00803"></a>00803 {
  819. <a name="l00804"></a>00804 Image.Bind();
  820. <a name="l00805"></a>00805 <span class="keywordflow">return</span> ilutGetHPal();
  821. <a name="l00806"></a>00806 }
  822. <a name="l00807"></a>00807
  823. <a name="l00808"></a>00808 ILboolean ilWin32::GetResource(ilImage &amp;Image, HINSTANCE hInst, ILint ID, <span class="keywordtype">char</span> *ResourceType)
  824. <a name="l00809"></a>00809 {
  825. <a name="l00810"></a>00810 Image.Bind();
  826. <a name="l00811"></a>00811 <span class="keywordflow">return</span> ilutLoadResource(hInst, ID, ResourceType, IL_TYPE_UNKNOWN);
  827. <a name="l00812"></a>00812 }
  828. <a name="l00813"></a>00813
  829. <a name="l00814"></a>00814 ILboolean ilWin32::GetResource(ilImage &amp;Image, HINSTANCE hInst, ILint ID, <span class="keywordtype">char</span> *ResourceType, ILenum Type)
  830. <a name="l00815"></a>00815 {
  831. <a name="l00816"></a>00816 Image.Bind();
  832. <a name="l00817"></a>00817 <span class="keywordflow">return</span> ilutLoadResource(hInst, ID, ResourceType, Type);
  833. <a name="l00818"></a>00818 }
  834. <a name="l00819"></a>00819
  835. <a name="l00820"></a>00820 ILboolean ilWin32::SetClipboard(ilImage &amp;Image)
  836. <a name="l00821"></a>00821 {
  837. <a name="l00822"></a>00822 Image.Bind();
  838. <a name="l00823"></a>00823 <span class="keywordflow">return</span> ilutSetWinClipboard();
  839. <a name="l00824"></a>00824 }
  840. <a name="l00825"></a>00825 <span class="preprocessor">#endif//ILUT_USE_WIN32</span>
  841. <a name="l00826"></a>00826 <span class="preprocessor"></span>
  842. <a name="l00827"></a>00827 <span class="comment">//</span>
  843. <a name="l00828"></a>00828 <span class="comment">// ILVALIDATE</span>
  844. <a name="l00829"></a>00829 <span class="comment">//</span>
  845. <a name="l00830"></a>00830 ILboolean ilValidate::Valid(ILenum Type, ILconst_string FileName)
  846. <a name="l00831"></a>00831 {
  847. <a name="l00832"></a>00832 <span class="keywordflow">return</span> ilIsValid(Type, FileName);
  848. <a name="l00833"></a>00833 }
  849. <a name="l00834"></a>00834
  850. <a name="l00835"></a>00835 ILboolean ilValidate::Valid(ILenum Type, FILE *File)
  851. <a name="l00836"></a>00836 {
  852. <a name="l00837"></a>00837 <span class="keywordflow">return</span> ilIsValidF(Type, File);
  853. <a name="l00838"></a>00838 }
  854. <a name="l00839"></a>00839
  855. <a name="l00840"></a>00840 ILboolean ilValidate::Valid(ILenum Type, <span class="keywordtype">void</span> *Lump, ILuint Size)
  856. <a name="l00841"></a>00841 {
  857. <a name="l00842"></a>00842 <span class="keywordflow">return</span> ilIsValidL(Type, Lump, Size);
  858. <a name="l00843"></a>00843 }
  859. <a name="l00844"></a>00844
  860. <a name="l00845"></a>00845 <span class="comment">//</span>
  861. <a name="l00846"></a>00846 <span class="comment">// ILSTATE</span>
  862. <a name="l00847"></a>00847 <span class="comment">//</span>
  863. <a name="l00848"></a>00848 ILboolean ilState::Disable(ILenum State)
  864. <a name="l00849"></a>00849 {
  865. <a name="l00850"></a>00850 <span class="keywordflow">return</span> ilDisable(State);
  866. <a name="l00851"></a>00851 }
  867. <a name="l00852"></a>00852
  868. <a name="l00853"></a>00853 ILboolean ilState::Enable(ILenum State)
  869. <a name="l00854"></a>00854 {
  870. <a name="l00855"></a>00855 <span class="keywordflow">return</span> ilEnable(State);
  871. <a name="l00856"></a>00856 }
  872. <a name="l00857"></a>00857
  873. <a name="l00858"></a>00858 <span class="keywordtype">void</span> ilState::Get(ILenum Mode, ILboolean &amp;Param)
  874. <a name="l00859"></a>00859 {
  875. <a name="l00860"></a>00860 ilGetBooleanv(Mode, &amp;Param);
  876. <a name="l00861"></a>00861 <span class="keywordflow">return</span>;
  877. <a name="l00862"></a>00862 }
  878. <a name="l00863"></a>00863
  879. <a name="l00864"></a>00864 <span class="keywordtype">void</span> ilState::Get(ILenum Mode, ILint &amp;Param)
  880. <a name="l00865"></a>00865 {
  881. <a name="l00866"></a>00866 ilGetIntegerv(Mode, &amp;Param);
  882. <a name="l00867"></a>00867 <span class="keywordflow">return</span>;
  883. <a name="l00868"></a>00868 }
  884. <a name="l00869"></a>00869
  885. <a name="l00870"></a>00870 ILboolean ilState::GetBool(ILenum Mode)
  886. <a name="l00871"></a>00871 {
  887. <a name="l00872"></a>00872 <span class="keywordflow">return</span> ilGetBoolean(Mode);
  888. <a name="l00873"></a>00873 }
  889. <a name="l00874"></a>00874
  890. <a name="l00875"></a>00875 ILint ilState::GetInt(ILenum Mode)
  891. <a name="l00876"></a>00876 {
  892. <a name="l00877"></a>00877 <span class="keywordflow">return</span> ilGetInteger(Mode);
  893. <a name="l00878"></a>00878 }
  894. <a name="l00879"></a>00879
  895. <a name="l00880"></a>00880 <span class="keyword">const</span> <span class="keywordtype">char</span> *ilState::GetString(ILenum StringName)
  896. <a name="l00881"></a>00881 {
  897. <a name="l00882"></a>00882 <span class="keywordflow">return</span> ilGetString(StringName);
  898. <a name="l00883"></a>00883 }
  899. <a name="l00884"></a>00884
  900. <a name="l00885"></a>00885 ILboolean ilState::IsDisabled(ILenum Mode)
  901. <a name="l00886"></a>00886 {
  902. <a name="l00887"></a>00887 <span class="keywordflow">return</span> ilIsDisabled(Mode);
  903. <a name="l00888"></a>00888 }
  904. <a name="l00889"></a>00889
  905. <a name="l00890"></a>00890 ILboolean ilState::IsEnabled(ILenum Mode)
  906. <a name="l00891"></a>00891 {
  907. <a name="l00892"></a>00892 <span class="keywordflow">return</span> ilIsEnabled(Mode);
  908. <a name="l00893"></a>00893 }
  909. <a name="l00894"></a>00894
  910. <a name="l00895"></a>00895 ILboolean ilState::Origin(ILenum Mode)
  911. <a name="l00896"></a>00896 {
  912. <a name="l00897"></a>00897 <span class="keywordflow">return</span> ilOriginFunc(Mode);
  913. <a name="l00898"></a>00898 }
  914. <a name="l00899"></a>00899
  915. <a name="l00900"></a>00900 <span class="keywordtype">void</span> ilState::Pop()
  916. <a name="l00901"></a>00901 {
  917. <a name="l00902"></a>00902 ilPopAttrib();
  918. <a name="l00903"></a>00903 <span class="keywordflow">return</span>;
  919. <a name="l00904"></a>00904 }
  920. <a name="l00905"></a>00905
  921. <a name="l00906"></a>00906 <span class="keywordtype">void</span> ilState::Push(ILuint Bits = IL_ALL_ATTRIB_BITS)
  922. <a name="l00907"></a>00907 {
  923. <a name="l00908"></a>00908 ilPushAttrib(Bits);
  924. <a name="l00909"></a>00909 <span class="keywordflow">return</span>;
  925. <a name="l00910"></a>00910 }
  926. <a name="l00911"></a>00911
  927. <a name="l00912"></a>00912 <span class="comment">//</span>
  928. <a name="l00913"></a>00913 <span class="comment">// ILERROR</span>
  929. <a name="l00914"></a>00914 <span class="comment">//</span>
  930. <a name="l00915"></a>00915 <span class="keywordtype">void</span> ilError::Check(<span class="keywordtype">void</span> (*Callback)(<span class="keyword">const</span> <span class="keywordtype">char</span>*))
  931. <a name="l00916"></a>00916 {
  932. <a name="l00917"></a>00917 <span class="keyword">static</span> ILenum Error;
  933. <a name="l00918"></a>00918
  934. <a name="l00919"></a>00919 <span class="keywordflow">while</span> ((Error = ilGetError()) != IL_NO_ERROR) {
  935. <a name="l00920"></a>00920 Callback(iluErrorString(Error));
  936. <a name="l00921"></a>00921 }
  937. <a name="l00922"></a>00922
  938. <a name="l00923"></a>00923 <span class="keywordflow">return</span>;
  939. <a name="l00924"></a>00924 }
  940. <a name="l00925"></a>00925
  941. <a name="l00926"></a>00926 <span class="keywordtype">void</span> ilError::Check(<span class="keywordtype">void</span> (*Callback)(ILenum))
  942. <a name="l00927"></a>00927 {
  943. <a name="l00928"></a>00928 <span class="keyword">static</span> ILenum Error;
  944. <a name="l00929"></a>00929
  945. <a name="l00930"></a>00930 <span class="keywordflow">while</span> ((Error = ilGetError()) != IL_NO_ERROR) {
  946. <a name="l00931"></a>00931 Callback(Error);
  947. <a name="l00932"></a>00932 }
  948. <a name="l00933"></a>00933
  949. <a name="l00934"></a>00934 <span class="keywordflow">return</span>;
  950. <a name="l00935"></a>00935 }
  951. <a name="l00936"></a>00936
  952. <a name="l00937"></a>00937 ILenum ilError::Get()
  953. <a name="l00938"></a>00938 {
  954. <a name="l00939"></a>00939 <span class="keywordflow">return</span> ilGetError();
  955. <a name="l00940"></a>00940 }
  956. <a name="l00941"></a>00941
  957. <a name="l00942"></a>00942 <span class="keyword">const</span> <span class="keywordtype">char</span> *ilError::String()
  958. <a name="l00943"></a>00943 {
  959. <a name="l00944"></a>00944 <span class="keywordflow">return</span> iluErrorString(ilGetError());
  960. <a name="l00945"></a>00945 }
  961. <a name="l00946"></a>00946
  962. <a name="l00947"></a>00947 <span class="keyword">const</span> <span class="keywordtype">char</span> *ilError::String(ILenum Error)
  963. <a name="l00948"></a>00948 {
  964. <a name="l00949"></a>00949 <span class="keywordflow">return</span> iluErrorString(Error);
  965. <a name="l00950"></a>00950 }
  966. <a name="l00951"></a>00951
  967. <a name="l00952"></a>00952 <span class="preprocessor">#endif// DEVIL_CPP_WRAPPER_HPP</span>
  968. </pre></div></div>
  969. <hr size="1"><address style="text-align: right;"><small>Generated on Sun Mar 8 20:01:41 2009 for DevIL by&nbsp;
  970. <a href="http://www.doxygen.org/index.html">
  971. <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
  972. </body>
  973. </html>