Sophie

Sophie

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

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: csProcTexture Class Reference (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 class="current"><a href="classes.html"><span>Classes</span></a></li>
    <li><a href="files.html"><span>Files</span></a></li>
    <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
  </ul>
</div>
<div class="tabs">
  <ul>
    <li><a href="classes.html"><span>Alphabetical&nbsp;List</span></a></li>
    <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
    <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
    <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
  </ul>
</div>
<h1>csProcTexture Class Reference</h1><!-- doxytag: class="csProcTexture" --><!-- doxytag: inherits="scfImplementationExt2&lt; csProcTexture, csObject, iTextureWrapper, iProcTexture &gt;" -->Generic superclass for procedural textures.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="proctex_8h-source.html">cstool/proctex.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for csProcTexture:</div>
<div class="dynsection">
<p><center><img src="classcsProcTexture__inherit__graph.png" border="0" usemap="#csProcTexture__inherit__map" alt="Inheritance graph"></center>
<map name="csProcTexture__inherit__map">
<area shape="rect" href="classcsProcAnimated.html" title="Procedural texture for animated images." alt="" coords="224,471,349,497"><area shape="rect" href="classscfImplementationExt2.html" title="scfImplementationExt2\&lt; csProcTexture, csObject, iTextureWrapper, iProcTexture \&gt;" alt="" coords="11,316,563,343"><area shape="rect" href="classcsObject.html" title="A generic csObject class." alt="" coords="125,239,200,265"><area shape="rect" href="classscfImplementation1.html" title="scfImplementation1\&lt; csObject, iObject \&gt;" alt="" coords="20,161,305,188"><area shape="rect" href="classscfImplementation.html" title="scfImplementation\&lt; csObject \&gt;" alt="" coords="5,84,232,111"><area shape="rect" href="structiBase.html" title="This is the basic interface: all other interfaces should be derived from this one..." alt="" coords="295,7,351,33"><area shape="rect" href="structiObject.html" title="This interface is an SCF interface for encapsulating csObject." alt="" coords="256,84,320,111"><area shape="rect" href="structiTextureWrapper.html" title="A texture wrapper is an engine&#45;level object that wraps around an actual texture (iTextureHandle)..." alt="" coords="224,239,349,265"><area shape="rect" href="structiProcTexture.html" title="Interface to a texture factory." alt="" coords="373,239,472,265"><area shape="rect" href="classCS_1_1Memory_1_1CustomAllocated.html" title="Class that overrides operator new/operator delete/etc." alt="" coords="8,7,229,33"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classcsProcTexture-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#f0b67ac03572dc0310a375c6abc69c5b">Animate</a> (<a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a> current_time)=0</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Animate this texture.  <a href="#f0b67ac03572dc0310a375c6abc69c5b"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#861662bb35dac2b9df9a98e788e24ee7">DisableAutoUpdate</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Disable auto-update.  <a href="#861662bb35dac2b9df9a98e788e24ee7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#19b13e1e334ff1b95680e1159c6c455a">GetDimension</a> (int &amp;w, int &amp;h) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">get dimension  <a href="#19b13e1e334ff1b95680e1159c6c455a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8a058cc8a0516570dc506e7d8520fef4"></a><!-- doxytag: member="csProcTexture::GetG2D" ref="8a058cc8a0516570dc506e7d8520fef4" args="()" -->
<a class="el" href="structiGraphics2D.html">iGraphics2D</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#8a058cc8a0516570dc506e7d8520fef4">GetG2D</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c35535f1f6dbdfa0c8b04ebff6ec28c0"></a><!-- doxytag: member="csProcTexture::GetG3D" ref="c35535f1f6dbdfa0c8b04ebff6ec28c0" args="()" -->
<a class="el" href="structiGraphics3D.html">iGraphics3D</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#c35535f1f6dbdfa0c8b04ebff6ec28c0">GetG3D</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structiTextureWrapper.html">iTextureWrapper</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#97614265b4dc72298c226d2e64911543">GetTextureWrapper</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the texture corresponding with this procedural texture.  <a href="#97614265b4dc72298c226d2e64911543"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#8584e37ecd9f5d717f3f1fe4568dcac8">Initialize</a> (<a class="el" href="structiObjectRegistry.html">iObjectRegistry</a> *<a class="el" href="classcsProcTexture.html#776ff2703ead3f08a5bbe0fa565347f1">object_reg</a>, <a class="el" href="structiEngine.html">iEngine</a> *engine, <a class="el" href="structiTextureManager.html">iTextureManager</a> *txtmgr, const char *name)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize this procedural texture, create a material associated with it, properly register the texture and material and prepare them.  <a href="#8584e37ecd9f5d717f3f1fe4568dcac8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#d1ec15199c713c836b557b8c026fb9fb">Initialize</a> (<a class="el" href="structiObjectRegistry.html">iObjectRegistry</a> *<a class="el" href="classcsProcTexture.html#776ff2703ead3f08a5bbe0fa565347f1">object_reg</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Do everything needed to initialize this texture.  <a href="#d1ec15199c713c836b557b8c026fb9fb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#47ae8841f95f4732f1e646372c2dcdd7">PrepareAnim</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepare the animation for use.  <a href="#47ae8841f95f4732f1e646372c2dcdd7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#4359f3fbbfc0536cf18c852f39ec40ed">SetKeyColor</a> (int red, int green, int blue)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the key color to use for this texture.  <a href="#4359f3fbbfc0536cf18c852f39ec40ed"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Static Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4b6bd4b5f4de1eab173e4d4b6ed257e3"></a><!-- doxytag: member="csProcTexture::GetRandom" ref="4b6bd4b5f4de1eab173e4d4b6ed257e3" args="(int max)" -->
static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#4b6bd4b5f4de1eab173e4d4b6ed257e3">GetRandom</a> (int max)</td></tr>

<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="71929c49dadf91bbca3222317e3452a5"></a><!-- doxytag: member="csProcTexture::last_cur_time" ref="71929c49dadf91bbca3222317e3452a5" args="" -->
<a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#71929c49dadf91bbca3222317e3452a5">last_cur_time</a></td></tr>

<tr><td colspan="2"><br><h2>Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiTextureWrapper.html">iTextureWrapper</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#6093ffb9829bfad875a6750b24e84e46">Clone</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Create a clone this texture wrapper, using the same texture handle.  <a href="#6093ffb9829bfad875a6750b24e84e46"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#a3aad1582d066edc5e34ba630ca375f3">GetAlwaysAnimate</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the 'always animate' flag.  <a href="#a3aad1582d066edc5e34ba630ca375f3"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiTextureFactory.html">iTextureFactory</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#d40508ae4a0c4121bd1840549d63c6ca">GetFactory</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Returns the texturefactor that created this proctexture.  <a href="#d40508ae4a0c4121bd1840549d63c6ca"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#c59d257256e42f237e9d094dab7867f1">GetFlags</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the flags which are used to register the texture.  <a href="#c59d257256e42f237e9d094dab7867f1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiImage.html">iImage</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#7870e79c94adb1a1ed7f9c361017a6b7">GetImageFile</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the <a class="el" href="structiImage.html" title="The iImage interface is used to work with image objects.">iImage</a>.  <a href="#7870e79c94adb1a1ed7f9c361017a6b7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#0d345c071b427b5c15ebdc78970de8bf">GetKeyColor</a> (int &amp;red, int &amp;green, int &amp;blue) const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Query the transparent color.  <a href="#0d345c071b427b5c15ebdc78970de8bf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#4f3c20226d39522c14f68721847c54d5">GetTextureClass</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the "class" of this texture.  <a href="#4f3c20226d39522c14f68721847c54d5"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiTextureHandle.html">iTextureHandle</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#e02dd2d1a52783c2e624aa3ea695d219">GetTextureHandle</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the texture handle.  <a href="#e02dd2d1a52783c2e624aa3ea695d219"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <br>
<a class="el" href="structiTextureCallback.html">iTextureCallback</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#5db888c8a6fa1ad51ae4a616f513d644">GetUseCallback</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the use callback.  <a href="#5db888c8a6fa1ad51ae4a616f513d644"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#72f46cd4ca5fa83f80b08d6819e13f2a">IsVisitRequired</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return true if it is needed to call <a class="el" href="classcsProcTexture.html#2512090468fca9b7dca070037b421ef8" title="Visit this texture.">Visit()</a>.  <a href="#72f46cd4ca5fa83f80b08d6819e13f2a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#a9eed0c9687b5a12dc0533f1e7fd78df">KeepImage</a> () const </td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">If this flag is true then the image will be kept even after calling Register.  <a href="#a9eed0c9687b5a12dc0533f1e7fd78df"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="structiObject.html">iObject</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#e7fe95e577f408490f600c71b6c37051">QueryObject</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the <a class="el" href="structiObject.html" title="This interface is an SCF interface for encapsulating csObject.">iObject</a> for this texture.  <a href="#e7fe95e577f408490f600c71b6c37051"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#fe9f9fa66012dd39f021a8a3ba818b19">Register</a> (<a class="el" href="structiTextureManager.html">iTextureManager</a> *txtmng)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register the texture with the texture manager, making a texture handle available.  <a href="#fe9f9fa66012dd39f021a8a3ba818b19"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#5cbe863d8e3a21b20b54711cd5edab98">SetAlwaysAnimate</a> (bool enable)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the 'always animate' flag.  <a href="#5cbe863d8e3a21b20b54711cd5edab98"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#b49ef3b190533cf52e006a1842920ec2">SetFlags</a> (int flags)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the flags which are used to register the texture.  <a href="#b49ef3b190533cf52e006a1842920ec2"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#c8eb135f128062f1db09e827dac1ed80">SetImageFile</a> (<a class="el" href="structiImage.html">iImage</a> *Image)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the base <a class="el" href="structiImage.html" title="The iImage interface is used to work with image objects.">iImage</a>.  <a href="#c8eb135f128062f1db09e827dac1ed80"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#34ebe7ede550bf1f9dccea8e0ace0b8d">SetKeepImage</a> (bool k)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the keep image flag.  <a href="#34ebe7ede550bf1f9dccea8e0ace0b8d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#4c7203c6af49ba6b9f2ab8bb624b432e">SetTextureClass</a> (const char *className)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set the "class" of this texture.  <a href="#4c7203c6af49ba6b9f2ab8bb624b432e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#e65ea96e6ce05fe0eb092bf889c6bd9a">SetTextureHandle</a> (<a class="el" href="structiTextureHandle.html">iTextureHandle</a> *<a class="el" href="classcsProcTexture.html#7e5a89ca3b1f8e4d35230e7609639d22">tex</a>)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Change the texture handle.  <a href="#e65ea96e6ce05fe0eb092bf889c6bd9a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#504a7e24aef7e5b4b9108478141c1803">SetUseCallback</a> (<a class="el" href="structiTextureCallback.html">iTextureCallback</a> *callback)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set a callback which is called just before the texture is used.  <a href="#504a7e24aef7e5b4b9108478141c1803"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#2512090468fca9b7dca070037b421ef8">Visit</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Visit this texture.  <a href="#2512090468fca9b7dca070037b421ef8"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="765c42b8c5bc46b4543cbbb188067816"></a><!-- doxytag: member="csProcTexture::always_animate" ref="765c42b8c5bc46b4543cbbb188067816" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#765c42b8c5bc46b4543cbbb188067816">always_animate</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f2d06b15a86e2a5dff923188ca674fc8"></a><!-- doxytag: member="csProcTexture::anim_prepared" ref="f2d06b15a86e2a5dff923188ca674fc8" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#f2d06b15a86e2a5dff923188ca674fc8">anim_prepared</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f6ddb7a3444e1277ab638700c3524f75"></a><!-- doxytag: member="csProcTexture::g2d" ref="f6ddb7a3444e1277ab638700c3524f75" args="" -->
<a class="el" href="classcsRef.html">csRef</a>&lt; <a class="el" href="structiGraphics2D.html">iGraphics2D</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#f6ddb7a3444e1277ab638700c3524f75">g2d</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="34d415c0ae5b093095676a32f8037f4b"></a><!-- doxytag: member="csProcTexture::g3d" ref="34d415c0ae5b093095676a32f8037f4b" args="" -->
<a class="el" href="classcsRef.html">csRef</a>&lt; <a class="el" href="structiGraphics3D.html">iGraphics3D</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#34d415c0ae5b093095676a32f8037f4b">g3d</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c6a39f38da9679db9448914e28b8f50b"></a><!-- doxytag: member="csProcTexture::key_blue" ref="c6a39f38da9679db9448914e28b8f50b" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#c6a39f38da9679db9448914e28b8f50b">key_blue</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e79a8b01dc1d43ec7124be9ce4c1f86e"></a><!-- doxytag: member="csProcTexture::key_color" ref="e79a8b01dc1d43ec7124be9ce4c1f86e" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#e79a8b01dc1d43ec7124be9ce4c1f86e">key_color</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="56c42eb5d7abf8cd05df5017db8e165e"></a><!-- doxytag: member="csProcTexture::key_green" ref="56c42eb5d7abf8cd05df5017db8e165e" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#56c42eb5d7abf8cd05df5017db8e165e">key_green</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7056e8eb2fabefe0fe2071c804b3edd0"></a><!-- doxytag: member="csProcTexture::key_red" ref="7056e8eb2fabefe0fe2071c804b3edd0" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#7056e8eb2fabefe0fe2071c804b3edd0">key_red</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e8fbd65d23b63ae6ac8a3c0156f092a7"></a><!-- doxytag: member="csProcTexture::mat_h" ref="e8fbd65d23b63ae6ac8a3c0156f092a7" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#e8fbd65d23b63ae6ac8a3c0156f092a7">mat_h</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e299c0a58650efa0e5af59bed6454ff4"></a><!-- doxytag: member="csProcTexture::mat_w" ref="e299c0a58650efa0e5af59bed6454ff4" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#e299c0a58650efa0e5af59bed6454ff4">mat_w</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="776ff2703ead3f08a5bbe0fa565347f1"></a><!-- doxytag: member="csProcTexture::object_reg" ref="776ff2703ead3f08a5bbe0fa565347f1" args="" -->
<a class="el" href="structiObjectRegistry.html">iObjectRegistry</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#776ff2703ead3f08a5bbe0fa565347f1">object_reg</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1bd6c4922dd8d4ba2cf6b7d8540c9e05"></a><!-- doxytag: member="csProcTexture::proc_image" ref="1bd6c4922dd8d4ba2cf6b7d8540c9e05" args="" -->
<a class="el" href="classcsRef.html">csRef</a>&lt; <a class="el" href="structiImage.html">iImage</a> &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#1bd6c4922dd8d4ba2cf6b7d8540c9e05">proc_image</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ffc85505160215f04fa4749567d47966"></a><!-- doxytag: member="csProcTexture::ptReady" ref="ffc85505160215f04fa4749567d47966" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#ffc85505160215f04fa4749567d47966">ptReady</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e5a89ca3b1f8e4d35230e7609639d22"></a><!-- doxytag: member="csProcTexture::tex" ref="7e5a89ca3b1f8e4d35230e7609639d22" args="" -->
<a class="el" href="structiTextureWrapper.html">iTextureWrapper</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#7e5a89ca3b1f8e4d35230e7609639d22">tex</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="30c8136d99baa03b55365894e06ae77c"></a><!-- doxytag: member="csProcTexture::texFlags" ref="30c8136d99baa03b55365894e06ae77c" args="" -->
int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#30c8136d99baa03b55365894e06ae77c">texFlags</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="16027e1806949fcb38df706796b17d0f"></a><!-- doxytag: member="csProcTexture::use_cb" ref="16027e1806949fcb38df706796b17d0f" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#16027e1806949fcb38df706796b17d0f">use_cb</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="05fb2c1c662fcfceb675be4a0bbacdb2"></a><!-- doxytag: member="csProcTexture::visible" ref="05fb2c1c662fcfceb675be4a0bbacdb2" args="" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#05fb2c1c662fcfceb675be4a0bbacdb2">visible</a></td></tr>

<tr><td colspan="2"><br><h2>Friends</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b3bb47fabcee34925bad8177a34c0c20"></a><!-- doxytag: member="csProcTexture::csProcTexCallback" ref="b3bb47fabcee34925bad8177a34c0c20" args="" -->
struct&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#b3bb47fabcee34925bad8177a34c0c20">csProcTexCallback</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="def87d49369cc3edfbb7f62eb906a2bf"></a><!-- doxytag: member="csProcTexture::csProcTexEventHandler" ref="def87d49369cc3edfbb7f62eb906a2bf" args="" -->
class&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcsProcTexture.html#def87d49369cc3edfbb7f62eb906a2bf">csProcTexEventHandler</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Generic superclass for procedural textures. 
<p>
This class takes care of scheduling when a procedural texture needs updating. 
<p>Definition at line <a class="el" href="proctex_8h-source.html#l00061">61</a> of file <a class="el" href="proctex_8h-source.html">proctex.h</a>.</p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="f0b67ac03572dc0310a375c6abc69c5b"></a><!-- doxytag: member="csProcTexture::Animate" ref="f0b67ac03572dc0310a375c6abc69c5b" args="(csTicks current_time)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csProcTexture::Animate           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__util.html#g28e82998c4c2d1197a1d412bba7da793">csTicks</a>&nbsp;</td>
          <td class="paramname"> <em>current_time</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Animate this texture. 
<p>
Subclasses of <a class="el" href="classcsProcTexture.html" title="Generic superclass for procedural textures.">csProcTexture</a> must implement this to implement some kind of animation on the procedural texture. 
<p>Implemented in <a class="el" href="classcsProcAnimated.html#529674409f6341743f7a7df3e3c118a2">csProcAnimated</a>.</p>

</div>
</div><p>
<a class="anchor" name="6093ffb9829bfad875a6750b24e84e46"></a><!-- doxytag: member="csProcTexture::Clone" ref="6093ffb9829bfad875a6750b24e84e46" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiTextureWrapper.html">iTextureWrapper</a>* csProcTexture::Clone           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Create a clone this texture wrapper, using the same texture handle. 
<p>

<p>Implements <a class="el" href="structiTextureWrapper.html#ebc01f6640795c4980c965e38801a6b1">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="861662bb35dac2b9df9a98e788e24ee7"></a><!-- doxytag: member="csProcTexture::DisableAutoUpdate" ref="861662bb35dac2b9df9a98e788e24ee7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csProcTexture::DisableAutoUpdate           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Disable auto-update. 
<p>
By default <a class="el" href="classcsProcTexture.html" title="Generic superclass for procedural textures.">csProcTexture</a> will register a callback so that every time the texture is visible Animate will automatically be called. If you don't want this and you want to call Animate on your own then you can disable this feature. You need to call <a class="el" href="classcsProcTexture.html#861662bb35dac2b9df9a98e788e24ee7" title="Disable auto-update.">DisableAutoUpdate()</a> before calling <a class="el" href="classcsProcTexture.html#d1ec15199c713c836b557b8c026fb9fb" title="Do everything needed to initialize this texture.">Initialize()</a>. 
<p>Definition at line <a class="el" href="proctex_8h-source.html#l00153">153</a> of file <a class="el" href="proctex_8h-source.html">proctex.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="a3aad1582d066edc5e34ba630ca375f3"></a><!-- doxytag: member="csProcTexture::GetAlwaysAnimate" ref="a3aad1582d066edc5e34ba630ca375f3" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csProcTexture::GetAlwaysAnimate           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the 'always animate' flag. 
<p>

<p>Implements <a class="el" href="structiProcTexture.html#a5dfd273ad7cd62856cd70dbff35e1de">iProcTexture</a>.</p>

</div>
</div><p>
<a class="anchor" name="19b13e1e334ff1b95680e1159c6c455a"></a><!-- doxytag: member="csProcTexture::GetDimension" ref="19b13e1e334ff1b95680e1159c6c455a" args="(int &amp;w, int &amp;h) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csProcTexture::GetDimension           </td>
          <td>(</td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>w</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>h</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
get dimension 
<p>

<p>Definition at line <a class="el" href="proctex_8h-source.html#l00201">201</a> of file <a class="el" href="proctex_8h-source.html">proctex.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="d40508ae4a0c4121bd1840549d63c6ca"></a><!-- doxytag: member="csProcTexture::GetFactory" ref="d40508ae4a0c4121bd1840549d63c6ca" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiTextureFactory.html">iTextureFactory</a>* csProcTexture::GetFactory           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the texturefactor that created this proctexture. 
<p>

<p>Implements <a class="el" href="structiProcTexture.html#535192cd768900343a63b2cd7a3ef92a">iProcTexture</a>.</p>

</div>
</div><p>
<a class="anchor" name="c59d257256e42f237e9d094dab7867f1"></a><!-- doxytag: member="csProcTexture::GetFlags" ref="c59d257256e42f237e9d094dab7867f1" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual int csProcTexture::GetFlags           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return the flags which are used to register the texture. 
<p>

<p>Implements <a class="el" href="structiTextureWrapper.html#1e37840dcc2a7f4b6d79c00d5173f15b">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="7870e79c94adb1a1ed7f9c361017a6b7"></a><!-- doxytag: member="csProcTexture::GetImageFile" ref="7870e79c94adb1a1ed7f9c361017a6b7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiImage.html">iImage</a>* csProcTexture::GetImageFile           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the <a class="el" href="structiImage.html" title="The iImage interface is used to work with image objects.">iImage</a>. 
<p>

<p>Implements <a class="el" href="structiTextureWrapper.html#b8c697a9960353b745709bbe85a21e30">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="0d345c071b427b5c15ebdc78970de8bf"></a><!-- doxytag: member="csProcTexture::GetKeyColor" ref="0d345c071b427b5c15ebdc78970de8bf" args="(int &amp;red, int &amp;green, int &amp;blue) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csProcTexture::GetKeyColor           </td>
          <td>(</td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>red</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>green</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int &amp;&nbsp;</td>
          <td class="paramname"> <em>blue</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Query the transparent color. 
<p>

<p>Implements <a class="el" href="structiTextureWrapper.html#d91ee4a434fdf5e2ca580bd3422b2948">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="4f3c20226d39522c14f68721847c54d5"></a><!-- doxytag: member="csProcTexture::GetTextureClass" ref="4f3c20226d39522c14f68721847c54d5" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* csProcTexture::GetTextureClass           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the "class" of this texture. 
<p>
For more information, see <a class="el" href="structiTextureHandle.html#a97e5c07fac8363ca9d43cec4925cfe5" title="Get the &quot;class&quot; of a texture.">iTextureHandle::GetTextureClass</a>. 
<p>Implements <a class="el" href="structiTextureWrapper.html#d78f219a8de0a4ee5505120058f7464c">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="e02dd2d1a52783c2e624aa3ea695d219"></a><!-- doxytag: member="csProcTexture::GetTextureHandle" ref="e02dd2d1a52783c2e624aa3ea695d219" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiTextureHandle.html">iTextureHandle</a>* csProcTexture::GetTextureHandle           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the texture handle. 
<p>
A texture handle will be available after one of <a class="el" href="classcsProcTexture.html#fe9f9fa66012dd39f021a8a3ba818b19" title="Register the texture with the texture manager, making a texture handle available...">Register()</a> or <a class="el" href="structiEngine.html#5d090e48bc769dfea356a8c6b24f7af0" title="Prepare the engine.">iEngine::Prepare()</a> was called or a handle set manually with <a class="el" href="classcsProcTexture.html#e65ea96e6ce05fe0eb092bf889c6bd9a" title="Change the texture handle.">SetTextureHandle()</a>. 
<p>Implements <a class="el" href="structiTextureWrapper.html#ca59c07c6940a87f2e0b391301c47cc6">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="97614265b4dc72298c226d2e64911543"></a><!-- doxytag: member="csProcTexture::GetTextureWrapper" ref="97614265b4dc72298c226d2e64911543" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structiTextureWrapper.html">iTextureWrapper</a>* csProcTexture::GetTextureWrapper           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the texture corresponding with this procedural texture. 
<p>

<p>Definition at line <a class="el" href="proctex_8h-source.html#l00210">210</a> of file <a class="el" href="proctex_8h-source.html">proctex.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="5db888c8a6fa1ad51ae4a616f513d644"></a><!-- doxytag: member="csProcTexture::GetUseCallback" ref="5db888c8a6fa1ad51ae4a616f513d644" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiTextureCallback.html">iTextureCallback</a>* csProcTexture::GetUseCallback           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the use callback. 
<p>
If there are multiple use callbacks you can use this function to chain. 
<p>Implements <a class="el" href="structiTextureWrapper.html#dc7920ee050a3f8ff1988f5db95d1a4f">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="8584e37ecd9f5d717f3f1fe4568dcac8"></a><!-- doxytag: member="csProcTexture::Initialize" ref="8584e37ecd9f5d717f3f1fe4568dcac8" args="(iObjectRegistry *object_reg, iEngine *engine, iTextureManager *txtmgr, const char *name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structiMaterialWrapper.html">iMaterialWrapper</a>* csProcTexture::Initialize           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiObjectRegistry.html">iObjectRegistry</a> *&nbsp;</td>
          <td class="paramname"> <em>object_reg</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiEngine.html">iEngine</a> *&nbsp;</td>
          <td class="paramname"> <em>engine</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structiTextureManager.html">iTextureManager</a> *&nbsp;</td>
          <td class="paramname"> <em>txtmgr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize this procedural texture, create a material associated with it, properly register the texture and material and prepare them. 
<p>
This function assumes that the texture manager has already been set up. It is a convenience function that offers less flexibility but is sufficient for most cases. The texture and material will get the name that is given by this routine. 
</div>
</div><p>
<a class="anchor" name="d1ec15199c713c836b557b8c026fb9fb"></a><!-- doxytag: member="csProcTexture::Initialize" ref="d1ec15199c713c836b557b8c026fb9fb" args="(iObjectRegistry *object_reg)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csProcTexture::Initialize           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiObjectRegistry.html">iObjectRegistry</a> *&nbsp;</td>
          <td class="paramname"> <em>object_reg</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Do everything needed to initialize this texture. 
<p>
At this stage only will settings like the key color be used. The correct init sequence is:<ul>
<li><a class="el" href="classcsProcTexture.html#d1ec15199c713c836b557b8c026fb9fb" title="Do everything needed to initialize this texture.">csProcTexture::Initialize()</a></li><li><a class="el" href="structiTextureWrapper.html#1d4fd86958694b7c85a9be694b8a1ab4" title="Register the texture with the texture manager, making a texture handle available...">iTextureWrapper::Register()</a></li><li><a class="el" href="classcsProcTexture.html#47ae8841f95f4732f1e646372c2dcdd7" title="Prepare the animation for use.">csProcTexture::PrepareAnim()</a></li></ul>
<p>
Alternatively you can use Initialize(engine,name) which does all this work for you. 
</div>
</div><p>
<a class="anchor" name="72f46cd4ca5fa83f80b08d6819e13f2a"></a><!-- doxytag: member="csProcTexture::IsVisitRequired" ref="72f46cd4ca5fa83f80b08d6819e13f2a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csProcTexture::IsVisitRequired           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Return true if it is needed to call <a class="el" href="classcsProcTexture.html#2512090468fca9b7dca070037b421ef8" title="Visit this texture.">Visit()</a>. 
<p>

<p>Implements <a class="el" href="structiTextureWrapper.html#374c31c9d69abee73fd9ceaf9276843a">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="a9eed0c9687b5a12dc0533f1e7fd78df"></a><!-- doxytag: member="csProcTexture::KeepImage" ref="a9eed0c9687b5a12dc0533f1e7fd78df" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csProcTexture::KeepImage           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
If this flag is true then the image will be kept even after calling Register. 
<p>
If this flag is false then <a class="el" href="classcsProcTexture.html#fe9f9fa66012dd39f021a8a3ba818b19" title="Register the texture with the texture manager, making a texture handle available...">Register()</a> will remove the image pointer from this texture wrapper. False by default. 
<p>Implements <a class="el" href="structiTextureWrapper.html#42510e74e93538025de6091954487aa2">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="47ae8841f95f4732f1e646372c2dcdd7"></a><!-- doxytag: member="csProcTexture::PrepareAnim" ref="47ae8841f95f4732f1e646372c2dcdd7" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool csProcTexture::PrepareAnim           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Prepare the animation for use. 
<p>

<p>Reimplemented in <a class="el" href="classcsProcAnimated.html#86d9b769026702212b2d295d5cdc3dba">csProcAnimated</a>.</p>

</div>
</div><p>
<a class="anchor" name="e7fe95e577f408490f600c71b6c37051"></a><!-- doxytag: member="csProcTexture::QueryObject" ref="e7fe95e577f408490f600c71b6c37051" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structiObject.html">iObject</a>* csProcTexture::QueryObject           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the <a class="el" href="structiObject.html" title="This interface is an SCF interface for encapsulating csObject.">iObject</a> for this texture. 
<p>

<p>Implements <a class="el" href="structiTextureWrapper.html#8aa2446686b55919befc96c7a51a027e">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="fe9f9fa66012dd39f021a8a3ba818b19"></a><!-- doxytag: member="csProcTexture::Register" ref="fe9f9fa66012dd39f021a8a3ba818b19" args="(iTextureManager *txtmng)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csProcTexture::Register           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiTextureManager.html">iTextureManager</a> *&nbsp;</td>
          <td class="paramname"> <em>txtmng</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Register the texture with the texture manager, making a texture handle available. 
<p>

<p>Implements <a class="el" href="structiTextureWrapper.html#1d4fd86958694b7c85a9be694b8a1ab4">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="5cbe863d8e3a21b20b54711cd5edab98"></a><!-- doxytag: member="csProcTexture::SetAlwaysAnimate" ref="5cbe863d8e3a21b20b54711cd5edab98" args="(bool enable)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csProcTexture::SetAlwaysAnimate           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>enable</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the 'always animate' flag. 
<p>

<p>Implements <a class="el" href="structiProcTexture.html#d07ee5c90b2d6e6ea24469705ae86294">iProcTexture</a>.</p>

</div>
</div><p>
<a class="anchor" name="b49ef3b190533cf52e006a1842920ec2"></a><!-- doxytag: member="csProcTexture::SetFlags" ref="b49ef3b190533cf52e006a1842920ec2" args="(int flags)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csProcTexture::SetFlags           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>flags</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the flags which are used to register the texture. 
<p>

<p>Implements <a class="el" href="structiTextureWrapper.html#1fe83d06ab826f32e8aea5911549cd5f">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="c8eb135f128062f1db09e827dac1ed80"></a><!-- doxytag: member="csProcTexture::SetImageFile" ref="c8eb135f128062f1db09e827dac1ed80" args="(iImage *Image)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csProcTexture::SetImageFile           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiImage.html">iImage</a> *&nbsp;</td>
          <td class="paramname"> <em>Image</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Change the base <a class="el" href="structiImage.html" title="The iImage interface is used to work with image objects.">iImage</a>. 
<p>
The changes will not be visible until the texture is registered again. 
<p>Implements <a class="el" href="structiTextureWrapper.html#bf0962e18366efa58edf7acb6cd32653">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="34ebe7ede550bf1f9dccea8e0ace0b8d"></a><!-- doxytag: member="csProcTexture::SetKeepImage" ref="34ebe7ede550bf1f9dccea8e0ace0b8d" args="(bool k)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csProcTexture::SetKeepImage           </td>
          <td>(</td>
          <td class="paramtype">bool&nbsp;</td>
          <td class="paramname"> <em>k</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the keep image flag. 
<p>
See <a class="el" href="classcsProcTexture.html#a9eed0c9687b5a12dc0533f1e7fd78df" title="If this flag is true then the image will be kept even after calling Register.">KeepImage()</a> function for explanation. 
<p>Implements <a class="el" href="structiTextureWrapper.html#9d1952a383ac5634d0e56ddbfa0eeae2">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="4359f3fbbfc0536cf18c852f39ec40ed"></a><!-- doxytag: member="csProcTexture::SetKeyColor" ref="4359f3fbbfc0536cf18c852f39ec40ed" args="(int red, int green, int blue)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void csProcTexture::SetKeyColor           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>red</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>green</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>blue</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the key color to use for this texture. 
<p>

<p>Implements <a class="el" href="structiTextureWrapper.html#63a9cfd4939494c40e908b684b8242e7">iTextureWrapper</a>.</p>

<p>Definition at line <a class="el" href="proctex_8h-source.html#l00185">185</a> of file <a class="el" href="proctex_8h-source.html">proctex.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="4c7203c6af49ba6b9f2ab8bb624b432e"></a><!-- doxytag: member="csProcTexture::SetTextureClass" ref="4c7203c6af49ba6b9f2ab8bb624b432e" args="(const char *className)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csProcTexture::SetTextureClass           </td>
          <td>(</td>
          <td class="paramtype">const char *&nbsp;</td>
          <td class="paramname"> <em>className</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set the "class" of this texture. 
<p>
For more information, see <a class="el" href="structiTextureHandle.html#8483e794ab875f777c0477dbdcffc6c1" title="Set the &quot;class&quot; of this texture.">iTextureHandle::SetTextureClass</a>. 
<p>Implements <a class="el" href="structiTextureWrapper.html#1fe4b555d5aadc2d1f8be0b6dcd15ebc">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="e65ea96e6ce05fe0eb092bf889c6bd9a"></a><!-- doxytag: member="csProcTexture::SetTextureHandle" ref="e65ea96e6ce05fe0eb092bf889c6bd9a" args="(iTextureHandle *tex)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csProcTexture::SetTextureHandle           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiTextureHandle.html">iTextureHandle</a> *&nbsp;</td>
          <td class="paramname"> <em>tex</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Change the texture handle. 
<p>
The changes will immediatly be visible. This will also change the key color and registration flags to those of the new texture and the <a class="el" href="structiImage.html" title="The iImage interface is used to work with image objects.">iImage</a> to 0. 
<p>Implements <a class="el" href="structiTextureWrapper.html#d1962411c49598cd50d312bc3e6e88a4">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="504a7e24aef7e5b4b9108478141c1803"></a><!-- doxytag: member="csProcTexture::SetUseCallback" ref="504a7e24aef7e5b4b9108478141c1803" args="(iTextureCallback *callback)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csProcTexture::SetUseCallback           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structiTextureCallback.html">iTextureCallback</a> *&nbsp;</td>
          <td class="paramname"> <em>callback</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Set a callback which is called just before the texture is used. 
<p>
This is mainly useful for procedural textures which can then choose to update their image. 
<p>Implements <a class="el" href="structiTextureWrapper.html#8f27793f26952956583720ec75731a65">iTextureWrapper</a>.</p>

</div>
</div><p>
<a class="anchor" name="2512090468fca9b7dca070037b421ef8"></a><!-- doxytag: member="csProcTexture::Visit" ref="2512090468fca9b7dca070037b421ef8" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void csProcTexture::Visit           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Visit this texture. 
<p>
This should be called by the engine right before using the texture. It is responsible for calling the use callback if there is one. 
<p>Implements <a class="el" href="structiTextureWrapper.html#ac1820b7b5160323bddb9982c110eea3">iTextureWrapper</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>cstool/<a class="el" href="proctex_8h-source.html">proctex.h</a></ul>
<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>