<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>FTGL: FTGlyph.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.2-20100208 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> </div> <div class="contents"> <h1>FTGlyph.h File Reference</h1><code>#include <<a class="el" href="ftgl_8h_source.html">FTGL/ftgl.h</a>></code><br/> <p><a href="FTGlyph_8h_source.html">Go to the source code of this file.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Data Structures</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTGlyph.html">FTGlyph</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="classFTGlyph.html" title="FTGlyph is the base class for FTGL glyphs.">FTGlyph</a> is the base class for <a class="el" href="namespaceFTGL.html">FTGL</a> glyphs. <a href="classFTGlyph.html#_details">More...</a><br/></td></tr> <tr><td colspan="2"><h2>Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">typedef struct _FTGLglyph </td><td class="memItemRight" valign="bottom"><a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a></td></tr> <tr><td colspan="2"><h2>Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="FTGlyph_8h.html#a3bb5a45829e31dc34e053998e671c829">ftglCreateCustomGlyph</a> (<a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> *base, void *data, void(*renderCallback)(<a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> *, void *, <a class="el" href="ftgl_8h.html#ae792fb2619b3890381a8b68babbdac74">FTGL_DOUBLE</a>, <a class="el" href="ftgl_8h.html#ae792fb2619b3890381a8b68babbdac74">FTGL_DOUBLE</a>, int, <a class="el" href="ftgl_8h.html#ae792fb2619b3890381a8b68babbdac74">FTGL_DOUBLE</a> *, <a class="el" href="ftgl_8h.html#ae792fb2619b3890381a8b68babbdac74">FTGL_DOUBLE</a> *), void(*destroyCallback)(<a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> *, void *))</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create a custom <a class="el" href="namespaceFTGL.html">FTGL</a> glyph object. <a href="#a3bb5a45829e31dc34e053998e671c829"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="FTGlyph_8h.html#ac877f6b37bdd0d711b5a64aefcb14edb">ftglDestroyGlyph</a> (<a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> *glyph)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy an <a class="el" href="namespaceFTGL.html">FTGL</a> glyph object. <a href="#ac877f6b37bdd0d711b5a64aefcb14edb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="FTGlyph_8h.html#a12f6eaf22f7d3e0e11831315c5945d8c">ftglRenderGlyph</a> (<a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> *glyph, <a class="el" href="ftgl_8h.html#ae792fb2619b3890381a8b68babbdac74">FTGL_DOUBLE</a> penx, <a class="el" href="ftgl_8h.html#ae792fb2619b3890381a8b68babbdac74">FTGL_DOUBLE</a> peny, int renderMode, <a class="el" href="ftgl_8h.html#ae792fb2619b3890381a8b68babbdac74">FTGL_DOUBLE</a> *advancex, <a class="el" href="ftgl_8h.html#ae792fb2619b3890381a8b68babbdac74">FTGL_DOUBLE</a> *advancey)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Render a glyph at the current pen position and compute the corresponding advance. <a href="#a12f6eaf22f7d3e0e11831315c5945d8c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">float </td><td class="memItemRight" valign="bottom"><a class="el" href="FTGlyph_8h.html#a245d2f30cd138488d9a9078c56926acc">ftglGetGlyphAdvance</a> (<a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> *glyph)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the advance for a glyph. <a href="#a245d2f30cd138488d9a9078c56926acc"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="FTGlyph_8h.html#a0808eac7b90dc8cf99a34b5d4efffec8">ftglGetGlyphBBox</a> (<a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> *glyph, float bounds[6])</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Return the bounding box for a glyph. <a href="#a0808eac7b90dc8cf99a34b5d4efffec8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">FT_Error </td><td class="memItemRight" valign="bottom"><a class="el" href="FTGlyph_8h.html#a37333224310648a159a8f507d1bb10d7">ftglGetGlyphError</a> (<a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> *glyph)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Query a glyph for errors. <a href="#a37333224310648a159a8f507d1bb10d7"></a><br/></td></tr> </table> <hr/><h2>Typedef Documentation</h2> <a class="anchor" id="a155b37e19e0844502e473bb32c31a558"></a><!-- doxytag: member="FTGlyph.h::FTGLglyph" ref="a155b37e19e0844502e473bb32c31a558" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">typedef struct _FTGLglyph <a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="FTGlyph_8h_source.html#l00133">133</a> of file <a class="el" href="FTGlyph_8h_source.html">FTGlyph.h</a>.</p> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="a3bb5a45829e31dc34e053998e671c829"></a><!-- doxytag: member="FTGlyph.h::ftglCreateCustomGlyph" ref="a3bb5a45829e31dc34e053998e671c829" args="(FTGLglyph *base, void *data, void(*renderCallback)(FTGLglyph *, void *, FTGL_DOUBLE, FTGL_DOUBLE, int, FTGL_DOUBLE *, FTGL_DOUBLE *), void(*destroyCallback)(FTGLglyph *, void *))" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a>* ftglCreateCustomGlyph </td> <td>(</td> <td class="paramtype"><a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> * </td> <td class="paramname"> <em>base</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void(*)(<a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> *, void *, <a class="el" href="ftgl_8h.html#ae792fb2619b3890381a8b68babbdac74">FTGL_DOUBLE</a>, <a class="el" href="ftgl_8h.html#ae792fb2619b3890381a8b68babbdac74">FTGL_DOUBLE</a>, int, <a class="el" href="ftgl_8h.html#ae792fb2619b3890381a8b68babbdac74">FTGL_DOUBLE</a> *, <a class="el" href="ftgl_8h.html#ae792fb2619b3890381a8b68babbdac74">FTGL_DOUBLE</a> *) </td> <td class="paramname"> <em>renderCallback</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void(*)(<a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> *, void *) </td> <td class="paramname"> <em>destroyCallback</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Create a custom <a class="el" href="namespaceFTGL.html">FTGL</a> glyph object. </p> <p>FIXME: maybe get rid of "base" and have advanceCallback etc. functions</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>base</em> </td><td>The base FTGLglyph* to subclass. </td></tr> <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>A pointer to private data that will be passed to callbacks. </td></tr> <tr><td valign="top"></td><td valign="top"><em>renderCallback</em> </td><td>A rendering callback function. </td></tr> <tr><td valign="top"></td><td valign="top"><em>destroyCallback</em> </td><td>A callback function to be called upon destruction. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>An FTGLglyph* object. </dd></dl> </div> </div> <a class="anchor" id="ac877f6b37bdd0d711b5a64aefcb14edb"></a><!-- doxytag: member="FTGlyph.h::ftglDestroyGlyph" ref="ac877f6b37bdd0d711b5a64aefcb14edb" args="(FTGLglyph *glyph)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ftglDestroyGlyph </td> <td>(</td> <td class="paramtype"><a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> * </td> <td class="paramname"> <em>glyph</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Destroy an <a class="el" href="namespaceFTGL.html">FTGL</a> glyph object. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyph</em> </td><td>An FTGLglyph* object. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a245d2f30cd138488d9a9078c56926acc"></a><!-- doxytag: member="FTGlyph.h::ftglGetGlyphAdvance" ref="a245d2f30cd138488d9a9078c56926acc" args="(FTGLglyph *glyph)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">float ftglGetGlyphAdvance </td> <td>(</td> <td class="paramtype"><a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> * </td> <td class="paramname"> <em>glyph</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Return the advance for a glyph. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyph</em> </td><td>An FTGLglyph* object. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>The advance's X component. </dd></dl> </div> </div> <a class="anchor" id="a0808eac7b90dc8cf99a34b5d4efffec8"></a><!-- doxytag: member="FTGlyph.h::ftglGetGlyphBBox" ref="a0808eac7b90dc8cf99a34b5d4efffec8" args="(FTGLglyph *glyph, float bounds[6])" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ftglGetGlyphBBox </td> <td>(</td> <td class="paramtype"><a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> * </td> <td class="paramname"> <em>glyph</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>bounds</em>[6]</td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Return the bounding box for a glyph. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyph</em> </td><td>An FTGLglyph* object. </td></tr> <tr><td valign="top"></td><td valign="top"><em>bounds</em> </td><td>An array of 6 float values where the bounding box's lower left near and upper right far 3D coordinates will be stored. </td></tr> </table> </dd> </dl> </div> </div> <a class="anchor" id="a37333224310648a159a8f507d1bb10d7"></a><!-- doxytag: member="FTGlyph.h::ftglGetGlyphError" ref="a37333224310648a159a8f507d1bb10d7" args="(FTGLglyph *glyph)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FT_Error ftglGetGlyphError </td> <td>(</td> <td class="paramtype"><a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> * </td> <td class="paramname"> <em>glyph</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Query a glyph for errors. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyph</em> </td><td>An FTGLglyph* object. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>The current error code. </dd></dl> </div> </div> <a class="anchor" id="a12f6eaf22f7d3e0e11831315c5945d8c"></a><!-- doxytag: member="FTGlyph.h::ftglRenderGlyph" ref="a12f6eaf22f7d3e0e11831315c5945d8c" args="(FTGLglyph *glyph, FTGL_DOUBLE penx, FTGL_DOUBLE peny, int renderMode, FTGL_DOUBLE *advancex, FTGL_DOUBLE *advancey)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void ftglRenderGlyph </td> <td>(</td> <td class="paramtype"><a class="el" href="FTGlyph_8h.html#a155b37e19e0844502e473bb32c31a558">FTGLglyph</a> * </td> <td class="paramname"> <em>glyph</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="ftgl_8h.html#ae792fb2619b3890381a8b68babbdac74">FTGL_DOUBLE</a> </td> <td class="paramname"> <em>penx</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="ftgl_8h.html#ae792fb2619b3890381a8b68babbdac74">FTGL_DOUBLE</a> </td> <td class="paramname"> <em>peny</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>renderMode</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="ftgl_8h.html#ae792fb2619b3890381a8b68babbdac74">FTGL_DOUBLE</a> * </td> <td class="paramname"> <em>advancex</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="ftgl_8h.html#ae792fb2619b3890381a8b68babbdac74">FTGL_DOUBLE</a> * </td> <td class="paramname"> <em>advancey</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Render a glyph at the current pen position and compute the corresponding advance. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyph</em> </td><td>An FTGLglyph* object. </td></tr> <tr><td valign="top"></td><td valign="top"><em>penx</em> </td><td>The current pen's X position. </td></tr> <tr><td valign="top"></td><td valign="top"><em>peny</em> </td><td>The current pen's Y position. </td></tr> <tr><td valign="top"></td><td valign="top"><em>renderMode</em> </td><td>Render mode to display </td></tr> <tr><td valign="top"></td><td valign="top"><em>advancex</em> </td><td>A pointer to an FTGL_DOUBLE where to write the advance's X component. </td></tr> <tr><td valign="top"></td><td valign="top"><em>advancey</em> </td><td>A pointer to an FTGL_DOUBLE where to write the advance's Y component. </td></tr> </table> </dd> </dl> </div> </div> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address> </body> </html>