Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > bad97183153701b09df5fae1052b1c30 > files > 1300

crystalspace-doc-1.2.1-5mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>Crystal Space 1.2.1: csplugincommon/imageloader/commonimagefile.h Source File (Crystal Space 1.2.1 Public API Reference)</title>
<link href="tabs.css" rel="stylesheet" type="text/css">
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<table border="0" cellpadding="0" cellspacing="0" width="100%" class="head">
 <tr height="59">
  <td class="head" width="202" valign="bottom" style="padding-left:0;"><a href="http://www.crystalspace3d.org/"><img src="csblur.png" width="236" height="59" alt="CrystalSpace" border="0"></a></td>
  <td class="head"><h2>Public API Reference</h2></td>
 </tr>
 <tr height="11">
  <td colspan="2" class="headshadow" valign="top" style="padding-left:0;"><img src="csblurb.png" width="236" height="11" alt="" border="0"></td>
 </tr>
</table>
<div class="content">
<!-- Generated by Doxygen 1.5.3 -->
<div class="tabs">
  <ul>
    <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="modules.html"><span>Modules</span></a></li>
    <li><a href="namespaces.html"><span>Namespaces</span></a></li>
    <li><a href="classes.html"><span>Classes</span></a></li>
    <li class="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<h1>csplugincommon/imageloader/commonimagefile.h</h1><a href="commonimagefile_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">    Copyright (C) 2005 by Jorrit Tyberghein</span>
<a name="l00003"></a>00003 <span class="comment">                  2005 by Frank Richter</span>
<a name="l00004"></a>00004 <span class="comment"></span>
<a name="l00005"></a>00005 <span class="comment">    This library is free software; you can redistribute it and/or</span>
<a name="l00006"></a>00006 <span class="comment">    modify it under the terms of the GNU Library General Public</span>
<a name="l00007"></a>00007 <span class="comment">    License as published by the Free Software Foundation; either</span>
<a name="l00008"></a>00008 <span class="comment">    version 2 of the License, or (at your option) any later version.</span>
<a name="l00009"></a>00009 <span class="comment"></span>
<a name="l00010"></a>00010 <span class="comment">    This library is distributed in the hope that it will be useful,</span>
<a name="l00011"></a>00011 <span class="comment">    but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<a name="l00012"></a>00012 <span class="comment">    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span>
<a name="l00013"></a>00013 <span class="comment">    Library General Public License for more details.</span>
<a name="l00014"></a>00014 <span class="comment"></span>
<a name="l00015"></a>00015 <span class="comment">    You should have received a copy of the GNU Library General Public</span>
<a name="l00016"></a>00016 <span class="comment">    License along with this library; if not, write to the Free</span>
<a name="l00017"></a>00017 <span class="comment">    Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.</span>
<a name="l00018"></a>00018 <span class="comment">*/</span>
<a name="l00019"></a>00019 
<a name="l00020"></a>00020 <span class="preprocessor">#ifndef __CS_CSPLUGINCOMMON_IMAGELOADER_COMMONIMAGEFILE_H__</span>
<a name="l00021"></a>00021 <span class="preprocessor"></span><span class="preprocessor">#define __CS_CSPLUGINCOMMON_IMAGELOADER_COMMONIMAGEFILE_H__</span>
<a name="l00022"></a>00022 <span class="preprocessor"></span>
<a name="l00027"></a>00027 <span class="preprocessor">#include "csextern.h"</span>
<a name="l00028"></a>00028 <span class="preprocessor">#include "<a class="code" href="imagememory_8h.html" title="Memory image.">csgfx/imagememory.h</a>"</span>
<a name="l00029"></a>00029 <span class="preprocessor">#include "<a class="code" href="ref_8h.html" title="Smart Pointers.">csutil/ref.h</a>"</span>
<a name="l00030"></a>00030 <span class="preprocessor">#include "<a class="code" href="scf__interface_8h.html" title="Crystal Space Shared Class Facility (SCF) - interface creation support.">csutil/scf_interface.h</a>"</span>
<a name="l00031"></a>00031 <span class="preprocessor">#include "<a class="code" href="scf__implementation_8h.html" title="Crystal Space Shared Class Facility (SCF) - implementation creation support.">csutil/scf_implementation.h</a>"</span>
<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="databuff_8h.html" title="Data Buffer interface.">iutil/databuff.h</a>"</span>
<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="job_8h.html" title="Simple interfaces to manage delayed or parallel running of units of work (&amp;quot;jobs&amp;quot;)...">iutil/job.h</a>"</span>
<a name="l00034"></a>00034 
<a name="l00035"></a>00035 <span class="keyword">struct </span><a class="code" href="structiObjectRegistry.html" title="This interface serves as a registry of other objects.">iObjectRegistry</a>;
<a name="l00036"></a>00036 
<a name="l00045"></a><a class="code" href="group__plugincommon.html#g54322e5b0a32278ba666a82a86e4ab45">00045</a> <span class="keyword">enum</span> <a class="code" href="group__plugincommon.html#g54322e5b0a32278ba666a82a86e4ab45" title="The data type a loader provides.">csLoaderDataType</a>
<a name="l00046"></a>00046 {
<a name="l00048"></a><a class="code" href="group__plugincommon.html#gg54322e5b0a32278ba666a82a86e4ab45db147c7dceffdb114a1b19d3ec52f2be">00048</a>   <a class="code" href="group__plugincommon.html#gg54322e5b0a32278ba666a82a86e4ab45db147c7dceffdb114a1b19d3ec52f2be" title="Invalid data type - the loader didn&amp;#39;t set one.">rdtInvalid</a>,
<a name="l00050"></a><a class="code" href="group__plugincommon.html#gg54322e5b0a32278ba666a82a86e4ab4590e263d82f16830745a91146e07d8756">00050</a>   <a class="code" href="group__plugincommon.html#gg54322e5b0a32278ba666a82a86e4ab4590e263d82f16830745a91146e07d8756" title="24bpp pixel data">rdtR8G8B8</a>,
<a name="l00052"></a><a class="code" href="group__plugincommon.html#gg54322e5b0a32278ba666a82a86e4ab4574b950e602017f13876c2401ed9db219">00052</a>   <a class="code" href="group__plugincommon.html#gg54322e5b0a32278ba666a82a86e4ab4574b950e602017f13876c2401ed9db219" title="Array of csRGBpixel.">rdtRGBpixel</a>,
<a name="l00054"></a><a class="code" href="group__plugincommon.html#gg54322e5b0a32278ba666a82a86e4ab456c805b8feb86fd203606832b22272f86">00054</a>   <a class="code" href="group__plugincommon.html#gg54322e5b0a32278ba666a82a86e4ab456c805b8feb86fd203606832b22272f86" title="8-bit paletted data">rdtIndexed</a>
<a name="l00055"></a>00055 };
<a name="l00056"></a>00056 
<a name="l00057"></a>00057 <span class="keyword">class </span><a class="code" href="classcsCommonImageFile.html" title="A base class for image loader plugin iImage implementations.">csCommonImageFile</a>;
<a name="l00058"></a>00058 
<a name="l00063"></a><a class="code" href="structiImageFileLoader.html">00063</a> <span class="keyword">struct </span><a class="code" href="structiImageFileLoader.html" title="An image file loader.">iImageFileLoader</a> : <span class="keyword">public</span> <span class="keyword">virtual</span> <a class="code" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one...">iBase</a>
<a name="l00064"></a>00064 {
<a name="l00065"></a>00065   SCF_INTERFACE(<a class="code" href="structiImageFileLoader.html" title="An image file loader.">iImageFileLoader</a>, 2,0,0);
<a name="l00067"></a>00067   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="structiImageFileLoader.html#4008336c7f539469afb62c951b4a7197" title="Do the loading.">LoadData</a> () = 0;
<a name="l00069"></a>00069   <span class="keyword">virtual</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDataBuffer&gt;</a> <a class="code" href="structiImageFileLoader.html#3999780429cafb95cd97676e36b54672" title="Return &amp;quot;raw data&amp;quot; (if supported).">GetRawData</a>() = 0;
<a name="l00071"></a>00071   <span class="keyword">virtual</span> <a class="code" href="group__plugincommon.html#g54322e5b0a32278ba666a82a86e4ab45" title="The data type a loader provides.">csLoaderDataType</a> <a class="code" href="structiImageFileLoader.html#a1f6193ca336a2314d21c07875e72191" title="Return type of raw data.">GetDataType</a>() = 0;
<a name="l00073"></a>00073   <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="structiImageFileLoader.html#0ba00ae9adaf2dc46825e62121302329" title="Query width.">GetWidth</a>() = 0;
<a name="l00075"></a>00075   <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="structiImageFileLoader.html#e28e7ff565677e09d25d9b36e27057ff" title="Query height.">GetHeight</a>() = 0;
<a name="l00077"></a>00077   <span class="keyword">virtual</span> <span class="keywordtype">int</span> <a class="code" href="structiImageFileLoader.html#8e161009cb9179e99642b4b5771d782e" title="Query format.">GetFormat</a>() = 0;
<a name="l00079"></a>00079   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiImageFileLoader.html#94612c230200a708316cb0f6ca4240c2" title="Copy the image data into an image object.">ApplyTo</a> (<a class="code" href="classcsImageMemory.html" title="Memory image.">csImageMemory</a>* image) = 0;
<a name="l00081"></a>00081   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> <a class="code" href="structiImageFileLoader.html#a5aaff795ae3173cacd7f8147c3ba450" title="Query whether a keycolor is set.">HasKeyColor</a>() <span class="keyword">const</span> = 0;
<a name="l00083"></a>00083   <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="structiImageFileLoader.html#9d1e77a9f616e6e061a5926285b7c22d" title="Query keycolor.">GetKeyColor</a> (<span class="keywordtype">int</span> &amp;r, <span class="keywordtype">int</span> &amp;g, <span class="keywordtype">int</span> &amp;b) <span class="keyword">const</span> = 0;
<a name="l00084"></a>00084 };
<a name="l00085"></a>00085 
<a name="l00089"></a><a class="code" href="classcsCommonImageFileLoader.html">00089</a> <span class="keyword">class </span>CS_CRYSTALSPACE_EXPORT <a class="code" href="classcsCommonImageFileLoader.html" title="Base image loader implementation.">csCommonImageFileLoader</a> : 
<a name="l00090"></a>00090   <span class="keyword">public</span> <a class="code" href="classscfImplementation1.html">scfImplementation1</a>&lt;csCommonImageFileLoader, iImageFileLoader&gt;
<a name="l00091"></a>00091 {
<a name="l00092"></a>00092 <span class="keyword">protected</span>:
<a name="l00094"></a><a class="code" href="classcsCommonImageFileLoader.html#c35cb819ccb29401ab3a9ebcfecc6603">00094</a>   <span class="keywordtype">int</span> Format;
<a name="l00099"></a><a class="code" href="classcsCommonImageFileLoader.html#c335212e32fe02c7533156244a8cdc2f">00099</a>   <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDataBuffer&gt;</a> rawData;
<a name="l00101"></a><a class="code" href="classcsCommonImageFileLoader.html#22c5feffe1d7bfc303d75875b53d0808">00101</a>   <a class="code" href="group__plugincommon.html#g54322e5b0a32278ba666a82a86e4ab45" title="The data type a loader provides.">csLoaderDataType</a> dataType;
<a name="l00102"></a>00102   <span class="comment">/* rgbaData and indexData are sent to the image when it needs to be filled. */</span>
<a name="l00104"></a><a class="code" href="classcsCommonImageFileLoader.html#5318d5d6f9e55a9c19722ed97af6cd8f">00104</a>   <a class="code" href="structcsRGBpixel.html" title="An RGB pixel.">csRGBpixel</a>* rgbaData;
<a name="l00106"></a><a class="code" href="classcsCommonImageFileLoader.html#15a83f2036f0e050d3f3970e201d6e72">00106</a>   <a class="code" href="group__util.html#gdde6aaee8457bee49c2a92621fe22b79" title="unsigned 8-bit integer (0..255)">uint8</a>* indexData;
<a name="l00108"></a><a class="code" href="classcsCommonImageFileLoader.html#ff01d235f3ab6a717d46548d0dfc429d">00108</a>   <a class="code" href="structcsRGBpixel.html" title="An RGB pixel.">csRGBpixel</a>* palette;
<a name="l00110"></a><a class="code" href="classcsCommonImageFileLoader.html#78f8a18460f55b16b20a3973435bca99">00110</a>   <span class="keywordtype">size_t</span> paletteCount;
<a name="l00112"></a><a class="code" href="classcsCommonImageFileLoader.html#daa97d4bed8aaf3211091d622e07f4bf">00112</a>   <a class="code" href="group__util.html#gdde6aaee8457bee49c2a92621fe22b79" title="unsigned 8-bit integer (0..255)">uint8</a>* alpha;
<a name="l00114"></a><a class="code" href="classcsCommonImageFileLoader.html#3208ae20145c1b54c7a63566af94984a">00114</a>   <span class="keywordtype">bool</span> hasKeycolor;
<a name="l00116"></a><a class="code" href="classcsCommonImageFileLoader.html#5e830bc64b0b4e6b0992681f77bd35db">00116</a>   <a class="code" href="structcsRGBcolor.html" title="An RGB color.">csRGBcolor</a> keycolor;
<a name="l00118"></a><a class="code" href="classcsCommonImageFileLoader.html#77258daffb668391981419eda3c585c6">00118</a>   <span class="keywordtype">int</span> Width, Height;
<a name="l00119"></a>00119 <span class="keyword">public</span>:
<a name="l00120"></a>00120   <a class="code" href="classcsCommonImageFileLoader.html" title="Base image loader implementation.">csCommonImageFileLoader</a> (<span class="keywordtype">int</span> format);
<a name="l00121"></a>00121   <span class="keyword">virtual</span> ~<a class="code" href="classcsCommonImageFileLoader.html" title="Base image loader implementation.">csCommonImageFileLoader</a>();
<a name="l00122"></a>00122 
<a name="l00123"></a><a class="code" href="classcsCommonImageFileLoader.html#5f5f35baa9fb50918494768a53e08266">00123</a>   <span class="keyword">virtual</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDataBuffer&gt;</a> GetRawData() 
<a name="l00124"></a>00124   { <span class="keywordflow">return</span> rawData; }
<a name="l00125"></a><a class="code" href="classcsCommonImageFileLoader.html#8fea10ad1fe46eb22e87e02bf22cb3ab">00125</a>   <span class="keyword">virtual</span> <a class="code" href="group__plugincommon.html#g54322e5b0a32278ba666a82a86e4ab45" title="The data type a loader provides.">csLoaderDataType</a> GetDataType() 
<a name="l00126"></a>00126   { <span class="keywordflow">return</span> dataType; }
<a name="l00127"></a><a class="code" href="classcsCommonImageFileLoader.html#adca4ec1ddc31763ac789a1974fead37">00127</a>   <span class="keyword">virtual</span> <span class="keywordtype">int</span> GetWidth() { <span class="keywordflow">return</span> Width; }
<a name="l00128"></a><a class="code" href="classcsCommonImageFileLoader.html#a7d5a62b388f423c0d8847b46a65e9f2">00128</a>   <span class="keyword">virtual</span> <span class="keywordtype">int</span> GetHeight() { <span class="keywordflow">return</span> Height; }
<a name="l00129"></a><a class="code" href="classcsCommonImageFileLoader.html#4821bd4279703bdc69f617e0ef58c9ea">00129</a>   <span class="keyword">virtual</span> <span class="keywordtype">int</span> GetFormat() { <span class="keywordflow">return</span> Format; }
<a name="l00130"></a>00130   <span class="keyword">virtual</span> <span class="keywordtype">void</span> ApplyTo (<a class="code" href="classcsImageMemory.html" title="Memory image.">csImageMemory</a>* image);
<a name="l00131"></a><a class="code" href="classcsCommonImageFileLoader.html#73e11ce96661d3352e9093d7f47f121e">00131</a>   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> HasKeyColor()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> hasKeycolor; }
<a name="l00132"></a><a class="code" href="classcsCommonImageFileLoader.html#403e9c442e761b2571648f1d08d06e4e">00132</a>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> GetKeyColor (<span class="keywordtype">int</span> &amp;r, <span class="keywordtype">int</span> &amp;g, <span class="keywordtype">int</span> &amp;b)<span class="keyword"> const</span>
<a name="l00133"></a>00133 <span class="keyword">  </span>{ 
<a name="l00134"></a>00134     r = keycolor.red; g = keycolor.green; b = keycolor.blue; 
<a name="l00135"></a>00135   }
<a name="l00136"></a>00136 };
<a name="l00137"></a>00137 
<a name="l00138"></a><a class="code" href="group__plugincommon.html#g2052922789b45ef9cbecb3960ab75416">00138</a> <span class="preprocessor">#define THREADED_LOADING</span>
<a name="l00139"></a>00139 <span class="preprocessor"></span>
<a name="l00143"></a><a class="code" href="classcsCommonImageFile.html">00143</a> <span class="keyword">class </span>CS_CRYSTALSPACE_EXPORT <a class="code" href="classcsCommonImageFile.html" title="A base class for image loader plugin iImage implementations.">csCommonImageFile</a> : 
<a name="l00144"></a>00144   <span class="keyword">public</span> <a class="code" href="classscfImplementationExt0.html">scfImplementationExt0</a>&lt;csCommonImageFile, csImageMemory&gt;
<a name="l00145"></a>00145 {
<a name="l00146"></a>00146 <span class="keyword">protected</span>:
<a name="l00147"></a><a class="code" href="classcsCommonImageFile.html#883c13ca991f2d494c55b86cfbb774af">00147</a>   <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classcsCommonImageFileLoader.html" title="Base image loader implementation.">csCommonImageFileLoader</a>;
<a name="l00148"></a>00148   
<a name="l00149"></a><a class="code" href="classcsCommonImageFile_1_1LoaderJob.html">00149</a>   <span class="keyword">class </span>CS_CRYSTALSPACE_EXPORT <a class="code" href="classcsCommonImageFile_1_1LoaderJob.html">LoaderJob</a> : 
<a name="l00150"></a>00150     <span class="keyword">public</span> <a class="code" href="classscfImplementation1.html">scfImplementation1</a>&lt;LoaderJob, iJob&gt;
<a name="l00151"></a>00151   {
<a name="l00152"></a>00152   <span class="keyword">public</span>:
<a name="l00154"></a><a class="code" href="classcsCommonImageFile_1_1LoaderJob.html#474ca04988447152c609d728b9d48220">00154</a>     <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iImageFileLoader&gt;</a> currentLoader;
<a name="l00156"></a><a class="code" href="classcsCommonImageFile_1_1LoaderJob.html#31a6af17ecb530eeae92b3e07373b8e5">00156</a>     <span class="keywordtype">bool</span> loadResult;
<a name="l00158"></a>00158     <a class="code" href="classcsCommonImageFile_1_1LoaderJob.html">LoaderJob</a> (<a class="code" href="structiImageFileLoader.html" title="An image file loader.">iImageFileLoader</a>* loader);
<a name="l00159"></a>00159     <span class="keyword">virtual</span> ~<a class="code" href="classcsCommonImageFile_1_1LoaderJob.html">LoaderJob</a>();
<a name="l00160"></a>00160 
<a name="l00161"></a>00161     <span class="keyword">virtual</span> <span class="keywordtype">void</span> Run();
<a name="l00162"></a>00162   };
<a name="l00163"></a>00163 
<a name="l00164"></a>00164 <span class="preprocessor">#ifdef THREADED_LOADING</span>
<a name="l00166"></a>00166 <span class="preprocessor">  // This and jobQueue are mutable so MakeImageData() can be called.</span>
<a name="l00167"></a><a class="code" href="classcsCommonImageFile.html#80a19c458ede45a9a6a7fc7a2fee8eac">00167</a> <span class="preprocessor"></span>  <span class="keyword">mutable</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;LoaderJob&gt;</a> loadJob;
<a name="l00169"></a><a class="code" href="classcsCommonImageFile.html#7b235d2da32a91ede56ac12620a05e54">00169</a>   <span class="keyword">mutable</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iJobQueue&gt;</a> jobQueue;
<a name="l00170"></a>00170 <span class="preprocessor">#else</span>
<a name="l00171"></a>00171 <span class="preprocessor"></span>  <span class="comment">// This is mutable so MakeImageData() can be called.</span>
<a name="l00172"></a>00172   <span class="keyword">mutable</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iImageFileLoader&gt;</a> currentLoader;
<a name="l00173"></a>00173 <span class="preprocessor">#endif</span>
<a name="l00174"></a><a class="code" href="classcsCommonImageFile.html#7c0eb5be39a6335342b2947e7c83dba9">00174</a> <span class="preprocessor"></span>  <a class="code" href="structiObjectRegistry.html" title="This interface serves as a registry of other objects.">iObjectRegistry</a>* object_reg;
<a name="l00175"></a>00175 
<a name="l00176"></a>00176   <a class="code" href="classcsCommonImageFile.html" title="A base class for image loader plugin iImage implementations.">csCommonImageFile</a> (<a class="code" href="structiObjectRegistry.html" title="This interface serves as a registry of other objects.">iObjectRegistry</a>* object_reg, <span class="keywordtype">int</span> format);
<a name="l00177"></a>00177   <span class="keyword">virtual</span> ~<a class="code" href="classcsCommonImageFile.html" title="A base class for image loader plugin iImage implementations.">csCommonImageFile</a>();
<a name="l00178"></a>00178 
<a name="l00180"></a>00180   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> Load (<a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDataBuffer&gt;</a> source);
<a name="l00187"></a>00187   <span class="keyword">virtual</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iImageFileLoader&gt;</a> InitLoader (<a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDataBuffer&gt;</a> source) = 0;
<a name="l00188"></a>00188 
<a name="l00190"></a>00190   <span class="keywordtype">void</span> WaitForJob() <span class="keyword">const</span>;
<a name="l00192"></a>00192   <span class="comment">// const so it can be called from GetRaw*().</span>
<a name="l00193"></a>00193   <span class="keywordtype">void</span> MakeImageData() <span class="keyword">const</span>;
<a name="l00194"></a>00194 
<a name="l00195"></a>00195   <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">void</span> *GetImageData ();
<a name="l00196"></a>00196   <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="structcsRGBpixel.html" title="An RGB pixel.">csRGBpixel</a>* GetPalette ();
<a name="l00197"></a>00197   <span class="keyword">virtual</span> <span class="keyword">const</span> <a class="code" href="group__util.html#gdde6aaee8457bee49c2a92621fe22b79" title="unsigned 8-bit integer (0..255)">uint8</a>* GetAlpha ();
<a name="l00198"></a>00198 
<a name="l00199"></a><a class="code" href="classcsCommonImageFile.html#421637e134710b348c21c683e4626381">00199</a>   <span class="keyword">virtual</span> <span class="keywordtype">bool</span> HasKeyColor ()<span class="keyword"> const </span>
<a name="l00200"></a>00200 <span class="keyword">  </span>{ 
<a name="l00201"></a>00201 <span class="preprocessor">#ifdef THREADED_LOADING</span>
<a name="l00202"></a>00202 <span class="preprocessor"></span>    <span class="keywordflow">if</span> (loadJob)
<a name="l00203"></a>00203     {
<a name="l00204"></a>00204       <span class="keywordflow">return</span> loadJob-&gt;currentLoader-&gt;HasKeyColor();
<a name="l00205"></a>00205     }
<a name="l00206"></a>00206 <span class="preprocessor">#endif</span>
<a name="l00207"></a>00207 <span class="preprocessor"></span>    <span class="keywordflow">return</span> has_keycolour; 
<a name="l00208"></a>00208   }
<a name="l00209"></a>00209 
<a name="l00210"></a><a class="code" href="classcsCommonImageFile.html#3d4f16347be90e13ce89d1d81f8247c7">00210</a>   <span class="keyword">virtual</span> <span class="keywordtype">void</span> GetKeyColor (<span class="keywordtype">int</span> &amp;r, <span class="keywordtype">int</span> &amp;g, <span class="keywordtype">int</span> &amp;b)<span class="keyword"> const</span>
<a name="l00211"></a>00211 <span class="keyword">  </span>{ 
<a name="l00212"></a>00212 <span class="preprocessor">#ifdef THREADED_LOADING</span>
<a name="l00213"></a>00213 <span class="preprocessor"></span>    <span class="keywordflow">if</span> (loadJob)
<a name="l00214"></a>00214     {
<a name="l00215"></a>00215       <span class="comment">// Keycolor may only be available after loading...</span>
<a name="l00216"></a>00216       WaitForJob();
<a name="l00217"></a>00217       loadJob-&gt;currentLoader-&gt;GetKeyColor (r, g, b);
<a name="l00218"></a>00218       <span class="keywordflow">return</span>;
<a name="l00219"></a>00219     }
<a name="l00220"></a>00220 <span class="preprocessor">#endif</span>
<a name="l00221"></a>00221 <span class="preprocessor"></span>    r = keycolour.red; g = keycolour.green; b = keycolour.blue; 
<a name="l00222"></a>00222   }
<a name="l00223"></a>00223 
<a name="l00228"></a>00228   <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* DataTypeString (<a class="code" href="group__plugincommon.html#g54322e5b0a32278ba666a82a86e4ab45" title="The data type a loader provides.">csLoaderDataType</a> dataType);
<a name="l00229"></a>00229   <span class="keyword">virtual</span> <span class="keyword">const</span> <span class="keywordtype">char</span>* GetRawFormat() <span class="keyword">const</span>;
<a name="l00230"></a>00230   <span class="keyword">virtual</span> <a class="code" href="classcsRef.html" title="A smart pointer.">csRef&lt;iDataBuffer&gt;</a> GetRawData() <span class="keyword">const</span>;
<a name="l00231"></a>00231 };
<a name="l00232"></a>00232 
<a name="l00235"></a>00235 <span class="preprocessor">#endif // __CS_CSPLUGINCOMMON_IMAGELOADER_COMMONIMAGEFILE_H__</span>
</pre></div><hr size="1"><address><small>Generated for Crystal Space 1.2.1 by 
<a href="http://www.doxygen.org/index.html">doxygen</a> 1.5.3 
</small></address> </div></body> </html>