<html> <head><title>ClanLib Reference: CL_Texture</title></head> <body text=black link=blue vlink=#800080 bgcolor=white topmargin=0 leftmargin=0> <table border=0 cellspacing=0 cellpadding=0 width=100%><tr><td><img border=0 src="../images/eyeheader-main-purple-a.gif" alt="ClanSoft logo" width=525 height=96></td></tr> <tr bgcolor=#dadada><td align=left valign=top><img border=0 src="../images/eyeheader-main-purple-b.gif" alt="ClanSoft logo" width=190 height=14></td><td align=right valign=top><img border=0 src="../images/clanlib_light.gif" width=42 height=14></td></tr></table> <table align=center border=0 cellspacing=10> <tr> <td><a href="entire_class_index.html">Entire Class Index</a></td> <td><a href="class_index.html">Main Class Index</a></td> <td><a href="cross_index.html">Cross Index</a></td> <td><a href="global_index.html">Global Index</a></td> </table><h1 align=center>Class CL_Texture</h1><p> <b> Texture loading class for OpenGL.</b><br> Contained in: <a href="global_index.html">global</a><br> Derived from: <i>none</i> <br> Derived by: <i>none</i> <br>Group: GL (OpenGL) <p> #include <ClanLib/gl.h> <p> <hr noshade> <table border=0> <tr><td colspan=3><h3>public function member index:</h3></td> <tr valign=top><td align=left><h3>Construction:</h3></td> <tr valign=top><td align=right><tt><tt>static</tt> <a href="CL_Texture.html"><tt><font color=navy><b>CL_Texture</b></font></tt></a>*</tt> </td><td align=right><a href="CL_Texture.html#25"><tt><font color=blue><b>create</b></font></tt></a></td><td><tt>(<a href="CL_SurfaceProvider.html"><tt><font color=navy><b>CL_SurfaceProvider</b></font></tt></a>* <tt><font color=blue>provider</font></tt>, <tt><font color=purple>bool</font></tt> <tt><font color=blue>delete_provider</font></tt>=false)</tt>;</td> <tr valign=top><td align=right><tt><tt>static</tt> <a href="CL_Texture.html"><tt><font color=navy><b>CL_Texture</b></font></tt></a>*</tt> </td><td align=right><a href="CL_Texture.html#26"><tt><font color=blue><b>load</b></font></tt></a></td><td><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>id</font></tt>, <a href="CL_ResourceManager.html"><tt><font color=navy><b>CL_ResourceManager</b></font></tt></a>* <tt><font color=blue>manager</font></tt>)</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> </tt> </td><td align=right><a href="CL_Texture.html#27"><tt><font color=blue><b>~CL_Texture</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=left><h3>Attributes:</h3></td> <tr valign=top><td align=right><tt><tt>virtual</tt> <a href="CL_SurfaceProvider.html"><tt><font color=navy><b>CL_SurfaceProvider</b></font></tt></a>*</tt> </td><td align=right><a href="CL_Texture.html#28"><tt><font color=blue><b>get_provider</b></font></tt></a></td><td><tt>() <tt>const</tt></tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_Texture.html#29"><tt><font color=blue><b>reload</b></font></tt></a></td><td><tt>()</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>int</font></tt></tt> </td><td align=right><a href="CL_Texture.html#30"><tt><font color=blue><b>get_width</b></font></tt></a></td><td><tt>() <tt>const</tt></tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>int</font></tt></tt> </td><td align=right><a href="CL_Texture.html#31"><tt><font color=blue><b>get_height</b></font></tt></a></td><td><tt>() <tt>const</tt></tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>int</font></tt></tt> </td><td align=right><a href="CL_Texture.html#32"><tt><font color=blue><b>get_num_frames</b></font></tt></a></td><td><tt>() <tt>const</tt></tt>;</td> <tr valign=top><td align=left><h3>Operations:</h3></td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_Texture.html#33"><tt><font color=blue><b>bind</b></font></tt></a></td><td><tt>(<tt><font color=purple>int</font></tt> <tt><font color=blue>texture_no</font></tt>=0)</tt>;</td> <tr valign=top><td align=right><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> </td><td align=right><a href="CL_Texture.html#34"><tt><font color=blue><b>flush</b></font></tt></a></td><td><tt>(<a href="CL_DisplayCard.html"><tt><font color=navy><b>CL_DisplayCard</b></font></tt></a>* <tt><font color=blue>card</font></tt> = NULL)</tt>;</td> <tr><td> </td></table> <hr noshade> <h2>Description:</h2> This class can load the image(s) from surface provider into OpenGL textures.<br><br> This class works just like a <a href="CL_Surface.html">CL_Surface</a>, except that it requires the image width to be 2^n.<br><p> <hr noshade> <h2>Function Member Descriptions:</h2> <a name="33"><font size=+1><b>CL_Texture::bind</b></font></a> - Bind the texture in OpenGL.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_Texture.html#33"><tt><font color=blue><b>bind</b></font></tt></a><tt>(<tt><font color=purple>int</font></tt> <tt><font color=blue>texture_no</font></tt>=0)</tt>;<br><blockquote> texture_no - Subframe in the provider to bind.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="25"><font size=+1><b>CL_Texture::create</b></font></a> - Creates a texture from a surface provider.<br><tt><tt>static</tt> <a href="CL_Texture.html"><tt><font color=navy><b>CL_Texture</b></font></tt></a>*</tt> <a href="CL_Texture.html#25"><tt><font color=blue><b>create</b></font></tt></a><tt>(<a href="CL_SurfaceProvider.html"><tt><font color=navy><b>CL_SurfaceProvider</b></font></tt></a>* <tt><font color=blue>provider</font></tt>, <tt><font color=purple>bool</font></tt> <tt><font color=blue>delete_provider</font></tt>=false)</tt>;<br><blockquote> provider - Surface provider to use as image source.<br> delete_provider - If true, surface provider will be deleted<br> when the texture is deleted.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="34"><font size=+1><b>CL_Texture::flush</b></font></a> - completely flushes textures (removes from video/system-memory)<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_Texture.html#34"><tt><font color=blue><b>flush</b></font></tt></a><tt>(<a href="CL_DisplayCard.html"><tt><font color=navy><b>CL_DisplayCard</b></font></tt></a>* <tt><font color=blue>card</font></tt> = NULL)</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="31"><font size=+1><b>CL_Texture::get_height</b></font></a> - Returns the height of the texture<br><tt><tt>virtual</tt> <tt><font color=purple>int</font></tt></tt> <a href="CL_Texture.html#31"><tt><font color=blue><b>get_height</b></font></tt></a><tt>() <tt>const</tt></tt>;<br><blockquote> Returns - Height of the texture.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="32"><font size=+1><b>CL_Texture::get_num_frames</b></font></a> - Returns the number of subtextures in the texture<br><tt><tt>virtual</tt> <tt><font color=purple>int</font></tt></tt> <a href="CL_Texture.html#32"><tt><font color=blue><b>get_num_frames</b></font></tt></a><tt>() <tt>const</tt></tt>;<br><blockquote> Returns - Number of subtextures in texture.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="28"><font size=+1><b>CL_Texture::get_provider</b></font></a> - Returns the surface provider.<br><tt><tt>virtual</tt> <a href="CL_SurfaceProvider.html"><tt><font color=navy><b>CL_SurfaceProvider</b></font></tt></a>*</tt> <a href="CL_Texture.html#28"><tt><font color=blue><b>get_provider</b></font></tt></a><tt>() <tt>const</tt></tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="30"><font size=+1><b>CL_Texture::get_width</b></font></a> - Returns the width of the surface<br><tt><tt>virtual</tt> <tt><font color=purple>int</font></tt></tt> <a href="CL_Texture.html#30"><tt><font color=blue><b>get_width</b></font></tt></a><tt>() <tt>const</tt></tt>;<br><blockquote> Returns - Width of the texture.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="26"><font size=+1><b>CL_Texture::load</b></font></a> - Load the texture from a surface resource.<br><tt><tt>static</tt> <a href="CL_Texture.html"><tt><font color=navy><b>CL_Texture</b></font></tt></a>*</tt> <a href="CL_Texture.html#26"><tt><font color=blue><b>load</b></font></tt></a><tt>(<tt>const</tt> <tt><font color=navy>std::string</font></tt>& <tt><font color=blue>id</font></tt>, <a href="CL_ResourceManager.html"><tt><font color=navy><b>CL_ResourceManager</b></font></tt></a>* <tt><font color=blue>manager</font></tt>)</tt>;<br><blockquote> id - Resource ID of the surface resource.<br> manager - Resource manager used to load the resource from.</blockquote> <hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="29"><font size=+1><b>CL_Texture::reload</b></font></a> - Forces surface to reload texture data from provider.<br><tt><tt>virtual</tt> <tt><font color=purple>void</font></tt></tt> <a href="CL_Texture.html#29"><tt><font color=blue><b>reload</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <a name="27"><font size=+1><b>CL_Texture::~CL_Texture</b></font></a> - Texture Destructor<br><tt><tt>virtual</tt> </tt> <a href="CL_Texture.html#27"><tt><font color=blue><b>~CL_Texture</b></font></tt></a><tt>()</tt>;<hr size="1" width="70%" align="left" noshade="noshade"><br><br> <hr noshade> </body> </html>