Sophie

Sophie

distrib > Fedora > 14 > x86_64 > by-pkgid > 807a538c0f4abf81467b8a86879881d9 > files > 839

OpenSceneGraph-devel-2.8.4-2.fc14.i686.rpm

<!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>OpenSceneGraph: osgText::Font Class 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.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">OpenSceneGraph&#160;<span id="projectnumber">2.8.4</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="a01639.html">osgText</a>      </li>
      <li class="navelem"><a class="el" href="a00297.html">Font</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">osgText::Font Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="osgText::Font" --><!-- doxytag: inherits="osg::Object" -->
<p>Pure virtual base class for fonts.  
 <a href="a00297.html#details">More...</a></p>
<div class="dynheader">
Inheritance diagram for osgText::Font:</div>
<div class="dyncontent">
<div class="center"><img src="a03294.png" border="0" usemap="#osgText_1_1Font_inherit__map" alt="Inheritance graph"/></div>
<map name="osgText_1_1Font_inherit__map" id="osgText_1_1Font_inherit__map">
<area shape="rect" id="node2" href="a00500.html" title="Base class/standard interface for objects which require IO support, cloning and reference counting..." alt="" coords="21,83,123,112"/><area shape="rect" id="node4" href="a00627.html" title="Base class from providing referencing counted objects." alt="" coords="5,5,139,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="a03295.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00300.html">FontImplementation</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00323.html">Glyph</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00327.html">GlyphTexture</a></td></tr>
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef OpenThreads::Mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ae003aac575a36959d490933ba7e4125b">FontMutex</a></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#adbb93cbfbe935933e73d9c854a829077">Font</a> (<a class="el" href="a00300.html">FontImplementation</a> *implementation=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00500.html">osg::Object</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a4e8fd3455a316de701773a503d2b1b3f">cloneType</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Clone the type of an object, with Object* return type.  <a href="#a4e8fd3455a316de701773a503d2b1b3f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00500.html">osg::Object</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ac1ce657a521e1b7a294b6ddbcb746a26">clone</a> (const <a class="el" href="a00169.html">osg::CopyOp</a> &amp;) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Clone an object, with Object* return type.  <a href="#ac1ce657a521e1b7a294b6ddbcb746a26"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a1328b3b9201cb0450f23ae3314503750">isSameKindAs</a> (const <a class="el" href="a00500.html">osg::Object</a> *obj) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#afe28ca7ed19784f3ffdfd491aab4fb63">className</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the name of the object's class type.  <a href="#afe28ca7ed19784f3ffdfd491aab4fb63"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a6b4f130833f8a3d71e50b148eaec5ad0">libraryName</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the name of the object's library.  <a href="#a6b4f130833f8a3d71e50b148eaec5ad0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a0e8e2d88cca9cc6509c328f706a9b184">getFileName</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a0a525be781568b2d80f33b3aac4d19f4">setTexEnv</a> (<a class="el" href="a00886.html">osg::TexEnv</a> *texenv)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00886.html">osg::TexEnv</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#afadedc38f90e88a538058daa8a63a03c">getTexEnv</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00886.html">osg::TexEnv</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ab83ed7958126865a66158f0346634c37">getTexEnv</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ae60a6d01d0f00d004862acd2b1b94921">setStateSet</a> (<a class="el" href="a00746.html">osg::StateSet</a> *stateset)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00746.html">osg::StateSet</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a32b26e3079396445eb3f0e42d05c667a">getStateSet</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00746.html">osg::StateSet</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#aa227b549a5d169e948436bae56723774">getStateSet</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a01062.html">osg::Vec2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a3d252d68842ca8c5aba053ce8128ffe6">getKerning</a> (const <a class="el" href="a01639.html#a496a0972c2c8deacdd834f27b8b0a032">FontResolution</a> &amp;fontSize, unsigned int leftcharcode, unsigned int rightcharcode, <a class="el" href="a01639.html#a92859cb5d7d316eb6d2b6ac2f5cdf9c1">KerningType</a> kerningType)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a kerning (adjustment of spacing of two adjacent character) for specified charcodes, w.r.t the current font size hint.  <a href="#a3d252d68842ca8c5aba053ce8128ffe6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="a00323.html">Glyph</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a09062c2c76c6d1ff308d23f9c43172af">getGlyph</a> (const <a class="el" href="a01639.html#a496a0972c2c8deacdd834f27b8b0a032">FontResolution</a> &amp;fontSize, unsigned int charcode)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a <a class="el" href="a00323.html">Glyph</a> for specified charcode, and the font size nearest to the current font size hint.  <a href="#a09062c2c76c6d1ff308d23f9c43172af"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a9ac3f112e1a23516de4daf4b0a5b927a">hasVertical</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return true if this font provides vertical alignments and spacing or glyphs.  <a href="#a9ac3f112e1a23516de4daf4b0a5b927a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a5b240520acbfb82464ee677e83e2833d">setGlyphImageMargin</a> (unsigned int margin)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the margin around each glyph, to ensure that texture filtering doesn't bleed adjacent glyph's into each other.  <a href="#a5b240520acbfb82464ee677e83e2833d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a68b50e4bfe24097e11e80d9be972cf8a">getGlyphImageMargin</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ae31061bd1b9f1ad26f9a17a52a718129">setGlyphImageMarginRatio</a> (float margin)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the margin ratio around each glyph, relative to the glyph's size.  <a href="#ae31061bd1b9f1ad26f9a17a52a718129"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#affac74a28739588b3296056440701307">getGlyphImageMarginRatio</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#aef1cd9cb32caf81a964027c5bcb9f635">setTextureSizeHint</a> (unsigned int width, unsigned int height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the size of texture to create to store the glyph images when rendering.  <a href="#aef1cd9cb32caf81a964027c5bcb9f635"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a893db83d6620944bed421749e15bacbd">getTextureWidthHint</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ae31ff5398cecb2826310446c45128a04">getTextureHeightHint</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a20f14f6b777ef021f1f823d73636ab9b">setMinFilterHint</a> (<a class="el" href="a00896.html#a734150eb97a527a49b627e07568c7bc1">osg::Texture::FilterMode</a> mode)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the minification texture filter to use when creating the texture to store the glyph images when rendering.  <a href="#a20f14f6b777ef021f1f823d73636ab9b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00896.html#a734150eb97a527a49b627e07568c7bc1">osg::Texture::FilterMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a8c9226c87a893eef59a4872cb0b06df5">getMinFilterHint</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a9d57dca38457a9618ee790f8f38243a0">setMagFilterHint</a> (<a class="el" href="a00896.html#a734150eb97a527a49b627e07568c7bc1">osg::Texture::FilterMode</a> mode)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the magnification texture filter to use when creating the texture to store the glyph images when rendering.  <a href="#a9d57dca38457a9618ee790f8f38243a0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00896.html#a734150eb97a527a49b627e07568c7bc1">osg::Texture::FilterMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#abb76854bdedd4b33d17afe818b544c9a">getMagFilterHint</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a31625f25994e0a55a75e0f7f4ae900a6">setImplementation</a> (<a class="el" href="a00300.html">FontImplementation</a> *implementation)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00300.html">FontImplementation</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a3e50e5848ea7159f03d849c44462e672">getImplementation</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="a00300.html">FontImplementation</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a2eb894dea977cabff8cad01862815b62">getImplementation</a> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#aca7af8e53deae2d9e7aebeb217d3f3cf">setThreadSafeRefUnref</a> (bool threadSafe)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Set whether to use a mutex to ensure <a class="el" href="a00627.html#acafcbbae9e9d8bfcbc811cc6c36d1cf4" title="Increment the reference count by one, indicating that this object has another pointer which is refere...">ref()</a> and <a class="el" href="a00627.html#a0ee3c1293cceac54bfaabe7c541bcb68" title="Decrement the reference count by one, indicating that a pointer to this object is referencing it...">unref()</a> are thread safe.  <a href="#aca7af8e53deae2d9e7aebeb217d3f3cf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a4040ab42a19639debebe2e960df079a2">resizeGLObjectBuffers</a> (unsigned int maxSize)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Resize any per context GLObject buffers to specified size.  <a href="#a4040ab42a19639debebe2e960df079a2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a24f3df5ae30929b4096b68a1736855b9">releaseGLObjects</a> (<a class="el" href="a00742.html">osg::State</a> *state=0) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If State is non-zero, this function releases OpenGL objects for the specified graphics context.  <a href="#a24f3df5ae30929b4096b68a1736855b9"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/>
&lt; <a class="el" href="a00624.html">osg::ref_ptr</a>&lt; <a class="el" href="a00327.html">GlyphTexture</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#accbf38528f322ee3b1cb903615037950">GlyphTextureList</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::vector<br class="typebreak"/>
&lt; <a class="el" href="a00624.html">osg::ref_ptr</a>&lt; <a class="el" href="a00746.html">osg::StateSet</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a5fdd17e9b9d3dd30d024bfeb7f683b24">StateSetList</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::map&lt; unsigned int, <br class="typebreak"/>
<a class="el" href="a00624.html">osg::ref_ptr</a>&lt; <a class="el" href="a00323.html">Glyph</a> &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ad89c8bdf343162fecc487a1018c21cba">GlyphMap</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef std::map<br class="typebreak"/>
&lt; <a class="el" href="a01639.html#a496a0972c2c8deacdd834f27b8b0a032">FontResolution</a>, <a class="el" href="a00297.html#ad89c8bdf343162fecc487a1018c21cba">GlyphMap</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a7daa47d22c94b501fa0fd12497c14c83">FontSizeGlyphMap</a></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a8e6b00e4a5598bb088dcf44e2f6b5008">~Font</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ae29cf93d10c4b55a459b95e41b3aea1c">addGlyph</a> (const <a class="el" href="a01639.html#a496a0972c2c8deacdd834f27b8b0a032">FontResolution</a> &amp;fontRes, unsigned int charcode, <a class="el" href="a00323.html">Glyph</a> *glyph)</td></tr>
<tr><td colspan="2"><h2><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">OpenThreads::Mutex&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ae422a29a1d61c7fb83b27ec736eda307">_glyphMapMutex</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt; <a class="el" href="a00886.html">osg::TexEnv</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a5ad19eedad8279f97064753d97104893">_texenv</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt; <a class="el" href="a00746.html">osg::StateSet</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a6641f429cef9355a68faeeed3731807d">_stateset</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00297.html#a7daa47d22c94b501fa0fd12497c14c83">FontSizeGlyphMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a57999676656dbbc69c828c86cef36510">_sizeGlyphMap</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00297.html#accbf38528f322ee3b1cb903615037950">GlyphTextureList</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a51575781fe8bb6300e1195514bbcc301">_glyphTextureList</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a01639.html#a496a0972c2c8deacdd834f27b8b0a032">FontResolution</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a51898982769673f06a4387898f651e6a">_fontSize</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a19a38d006b4513594aa0495488735560">_margin</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a152d34ec44f30931aef12e100fb3e00d">_marginRatio</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a99662e4b5156aa1cd4f3fbbd3b2f3f02">_textureWidthHint</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">unsigned int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a7f48f099a9f51ef66383f24de13509e7">_textureHeightHint</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00896.html#a734150eb97a527a49b627e07568c7bc1">osg::Texture::FilterMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#abaf3deb5408e4fa54d6327c1db7fc97a">_minFilterHint</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00896.html#a734150eb97a527a49b627e07568c7bc1">osg::Texture::FilterMode</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#ab37e62551734c0269a10c2261cd4efac">_magFilterHint</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt; <a class="el" href="a00300.html">FontImplementation</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a3c34c01472049120d842c87f35e38d96">_implementation</a></td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a00297.html#a4fbab7fe322eeb3f7f22fe23ef5408f1">FontImplementation</a></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Pure virtual base class for fonts. </p>
<p>Concrete implementation are the DefaultFont found in src/osgText/DefaultFont.cpp and FreeTypeFont found in src/osgPlugins/freetype/FreeTypeFont.cpp </p>
</div><hr/><h2>Member Typedef Documentation</h2>
<a class="anchor" id="ae003aac575a36959d490933ba7e4125b"></a><!-- doxytag: member="osgText::Font::FontMutex" ref="ae003aac575a36959d490933ba7e4125b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef OpenThreads::Mutex <a class="el" href="a00297.html#ae003aac575a36959d490933ba7e4125b">osgText::Font::FontMutex</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a7daa47d22c94b501fa0fd12497c14c83"></a><!-- doxytag: member="osgText::Font::FontSizeGlyphMap" ref="a7daa47d22c94b501fa0fd12497c14c83" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt; <a class="el" href="a01639.html#a496a0972c2c8deacdd834f27b8b0a032">FontResolution</a>, <a class="el" href="a00297.html#ad89c8bdf343162fecc487a1018c21cba">GlyphMap</a> &gt; <a class="el" href="a00297.html#a7daa47d22c94b501fa0fd12497c14c83">osgText::Font::FontSizeGlyphMap</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ad89c8bdf343162fecc487a1018c21cba"></a><!-- doxytag: member="osgText::Font::GlyphMap" ref="ad89c8bdf343162fecc487a1018c21cba" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::map&lt; unsigned int, <a class="el" href="a00624.html">osg::ref_ptr</a>&lt;<a class="el" href="a00323.html">Glyph</a>&gt; &gt; <a class="el" href="a00297.html#ad89c8bdf343162fecc487a1018c21cba">osgText::Font::GlyphMap</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="accbf38528f322ee3b1cb903615037950"></a><!-- doxytag: member="osgText::Font::GlyphTextureList" ref="accbf38528f322ee3b1cb903615037950" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt; <a class="el" href="a00624.html">osg::ref_ptr</a>&lt;<a class="el" href="a00327.html">GlyphTexture</a>&gt; &gt; <a class="el" href="a00297.html#accbf38528f322ee3b1cb903615037950">osgText::Font::GlyphTextureList</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5fdd17e9b9d3dd30d024bfeb7f683b24"></a><!-- doxytag: member="osgText::Font::StateSetList" ref="a5fdd17e9b9d3dd30d024bfeb7f683b24" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef std::vector&lt; <a class="el" href="a00624.html">osg::ref_ptr</a>&lt;<a class="el" href="a00746.html">osg::StateSet</a>&gt; &gt; <a class="el" href="a00297.html#a5fdd17e9b9d3dd30d024bfeb7f683b24">osgText::Font::StateSetList</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="adbb93cbfbe935933e73d9c854a829077"></a><!-- doxytag: member="osgText::Font::Font" ref="adbb93cbfbe935933e73d9c854a829077" args="(FontImplementation *implementation=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">osgText::Font::Font </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00300.html">FontImplementation</a> *&#160;</td>
          <td class="paramname"><em>implementation</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a8e6b00e4a5598bb088dcf44e2f6b5008"></a><!-- doxytag: member="osgText::Font::~Font" ref="a8e6b00e4a5598bb088dcf44e2f6b5008" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual osgText::Font::~Font </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ae29cf93d10c4b55a459b95e41b3aea1c"></a><!-- doxytag: member="osgText::Font::addGlyph" ref="ae29cf93d10c4b55a459b95e41b3aea1c" args="(const FontResolution &amp;fontRes, unsigned int charcode, Glyph *glyph)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgText::Font::addGlyph </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a01639.html#a496a0972c2c8deacdd834f27b8b0a032">FontResolution</a> &amp;&#160;</td>
          <td class="paramname"><em>fontRes</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>charcode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a00323.html">Glyph</a> *&#160;</td>
          <td class="paramname"><em>glyph</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="afe28ca7ed19784f3ffdfd491aab4fb63"></a><!-- doxytag: member="osgText::Font::className" ref="afe28ca7ed19784f3ffdfd491aab4fb63" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* osgText::Font::className </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the name of the object's class type. </p>
<p>Must be defined by derived classes. </p>

<p>Implements <a class="el" href="a00500.html#a0a2c199f26fdd9ca9fc60d6c79827187">osg::Object</a>.</p>

</div>
</div>
<a class="anchor" id="ac1ce657a521e1b7a294b6ddbcb746a26"></a><!-- doxytag: member="osgText::Font::clone" ref="ac1ce657a521e1b7a294b6ddbcb746a26" args="(const osg::CopyOp &amp;) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00500.html">osg::Object</a>* osgText::Font::clone </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00169.html">osg::CopyOp</a> &amp;&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clone an object, with Object* return type. </p>
<p>Must be defined by derived classes. </p>

<p>Implements <a class="el" href="a00500.html#ac20abff68448b9fcd20ab59e5d7a0030">osg::Object</a>.</p>

</div>
</div>
<a class="anchor" id="a4e8fd3455a316de701773a503d2b1b3f"></a><!-- doxytag: member="osgText::Font::cloneType" ref="a4e8fd3455a316de701773a503d2b1b3f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00500.html">osg::Object</a>* osgText::Font::cloneType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Clone the type of an object, with Object* return type. </p>
<p>Must be defined by derived classes. </p>

<p>Implements <a class="el" href="a00500.html#a837c584d77ae710bb5565f7895f80dbb">osg::Object</a>.</p>

</div>
</div>
<a class="anchor" id="a0e8e2d88cca9cc6509c328f706a9b184"></a><!-- doxytag: member="osgText::Font::getFileName" ref="a0e8e2d88cca9cc6509c328f706a9b184" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual std::string osgText::Font::getFileName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a09062c2c76c6d1ff308d23f9c43172af"></a><!-- doxytag: member="osgText::Font::getGlyph" ref="a09062c2c76c6d1ff308d23f9c43172af" args="(const FontResolution &amp;fontSize, unsigned int charcode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a00323.html">Glyph</a>* osgText::Font::getGlyph </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a01639.html#a496a0972c2c8deacdd834f27b8b0a032">FontResolution</a> &amp;&#160;</td>
          <td class="paramname"><em>fontSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>charcode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a <a class="el" href="a00323.html">Glyph</a> for specified charcode, and the font size nearest to the current font size hint. </p>

</div>
</div>
<a class="anchor" id="a68b50e4bfe24097e11e80d9be972cf8a"></a><!-- doxytag: member="osgText::Font::getGlyphImageMargin" ref="a68b50e4bfe24097e11e80d9be972cf8a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int osgText::Font::getGlyphImageMargin </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="affac74a28739588b3296056440701307"></a><!-- doxytag: member="osgText::Font::getGlyphImageMarginRatio" ref="affac74a28739588b3296056440701307" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float osgText::Font::getGlyphImageMarginRatio </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a3e50e5848ea7159f03d849c44462e672"></a><!-- doxytag: member="osgText::Font::getImplementation" ref="a3e50e5848ea7159f03d849c44462e672" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00300.html">FontImplementation</a>* osgText::Font::getImplementation </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a2eb894dea977cabff8cad01862815b62"></a><!-- doxytag: member="osgText::Font::getImplementation" ref="a2eb894dea977cabff8cad01862815b62" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00300.html">FontImplementation</a>* osgText::Font::getImplementation </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a3d252d68842ca8c5aba053ce8128ffe6"></a><!-- doxytag: member="osgText::Font::getKerning" ref="a3d252d68842ca8c5aba053ce8128ffe6" args="(const FontResolution &amp;fontSize, unsigned int leftcharcode, unsigned int rightcharcode, KerningType kerningType)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="a01062.html">osg::Vec2</a> osgText::Font::getKerning </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a01639.html#a496a0972c2c8deacdd834f27b8b0a032">FontResolution</a> &amp;&#160;</td>
          <td class="paramname"><em>fontSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>leftcharcode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>rightcharcode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="a01639.html#a92859cb5d7d316eb6d2b6ac2f5cdf9c1">KerningType</a>&#160;</td>
          <td class="paramname"><em>kerningType</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get a kerning (adjustment of spacing of two adjacent character) for specified charcodes, w.r.t the current font size hint. </p>

</div>
</div>
<a class="anchor" id="abb76854bdedd4b33d17afe818b544c9a"></a><!-- doxytag: member="osgText::Font::getMagFilterHint" ref="abb76854bdedd4b33d17afe818b544c9a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00896.html#a734150eb97a527a49b627e07568c7bc1">osg::Texture::FilterMode</a> osgText::Font::getMagFilterHint </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a8c9226c87a893eef59a4872cb0b06df5"></a><!-- doxytag: member="osgText::Font::getMinFilterHint" ref="a8c9226c87a893eef59a4872cb0b06df5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00896.html#a734150eb97a527a49b627e07568c7bc1">osg::Texture::FilterMode</a> osgText::Font::getMinFilterHint </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a32b26e3079396445eb3f0e42d05c667a"></a><!-- doxytag: member="osgText::Font::getStateSet" ref="a32b26e3079396445eb3f0e42d05c667a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00746.html">osg::StateSet</a>* osgText::Font::getStateSet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aa227b549a5d169e948436bae56723774"></a><!-- doxytag: member="osgText::Font::getStateSet" ref="aa227b549a5d169e948436bae56723774" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00746.html">osg::StateSet</a>* osgText::Font::getStateSet </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="afadedc38f90e88a538058daa8a63a03c"></a><!-- doxytag: member="osgText::Font::getTexEnv" ref="afadedc38f90e88a538058daa8a63a03c" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00886.html">osg::TexEnv</a>* osgText::Font::getTexEnv </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ab83ed7958126865a66158f0346634c37"></a><!-- doxytag: member="osgText::Font::getTexEnv" ref="ab83ed7958126865a66158f0346634c37" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="a00886.html">osg::TexEnv</a>* osgText::Font::getTexEnv </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae31ff5398cecb2826310446c45128a04"></a><!-- doxytag: member="osgText::Font::getTextureHeightHint" ref="ae31ff5398cecb2826310446c45128a04" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int osgText::Font::getTextureHeightHint </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a893db83d6620944bed421749e15bacbd"></a><!-- doxytag: member="osgText::Font::getTextureWidthHint" ref="a893db83d6620944bed421749e15bacbd" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int osgText::Font::getTextureWidthHint </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a9ac3f112e1a23516de4daf4b0a5b927a"></a><!-- doxytag: member="osgText::Font::hasVertical" ref="a9ac3f112e1a23516de4daf4b0a5b927a" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool osgText::Font::hasVertical </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return true if this font provides vertical alignments and spacing or glyphs. </p>

</div>
</div>
<a class="anchor" id="a1328b3b9201cb0450f23ae3314503750"></a><!-- doxytag: member="osgText::Font::isSameKindAs" ref="a1328b3b9201cb0450f23ae3314503750" args="(const osg::Object *obj) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool osgText::Font::isSameKindAs </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="a00500.html">osg::Object</a> *&#160;</td>
          <td class="paramname"><em>obj</em></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reimplemented from <a class="el" href="a00500.html#ac3b05ac28940dda755014a821b699f3a">osg::Object</a>.</p>

<p>References <a class="el" href="a01157.html#a070d2ce7b6bb7e5c05602aa8c308d0c4">NULL</a>.</p>

</div>
</div>
<a class="anchor" id="a6b4f130833f8a3d71e50b148eaec5ad0"></a><!-- doxytag: member="osgText::Font::libraryName" ref="a6b4f130833f8a3d71e50b148eaec5ad0" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual const char* osgText::Font::libraryName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>return the name of the object's library. </p>
<p>Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name. </p>

<p>Implements <a class="el" href="a00500.html#adac3709b960df44030d682dd1336413e">osg::Object</a>.</p>

</div>
</div>
<a class="anchor" id="a24f3df5ae30929b4096b68a1736855b9"></a><!-- doxytag: member="osgText::Font::releaseGLObjects" ref="a24f3df5ae30929b4096b68a1736855b9" args="(osg::State *state=0) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgText::Font::releaseGLObjects </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00742.html">osg::State</a> *&#160;</td>
          <td class="paramname"><em>state</em> = <code>0</code></td><td>)</td>
          <td> const<code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>If State is non-zero, this function releases OpenGL objects for the specified graphics context. </p>
<p>Otherwise, releases OpenGL objexts for all graphics contexts. </p>

<p>Reimplemented from <a class="el" href="a00500.html#a9a372b2d2ccedae228f526d8409cda66">osg::Object</a>.</p>

</div>
</div>
<a class="anchor" id="a4040ab42a19639debebe2e960df079a2"></a><!-- doxytag: member="osgText::Font::resizeGLObjectBuffers" ref="a4040ab42a19639debebe2e960df079a2" args="(unsigned int maxSize)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgText::Font::resizeGLObjectBuffers </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>maxSize</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Resize any per context GLObject buffers to specified size. </p>

<p>Reimplemented from <a class="el" href="a00500.html#aad5292689187427551b90ae7ef40b9a8">osg::Object</a>.</p>

</div>
</div>
<a class="anchor" id="a5b240520acbfb82464ee677e83e2833d"></a><!-- doxytag: member="osgText::Font::setGlyphImageMargin" ref="a5b240520acbfb82464ee677e83e2833d" args="(unsigned int margin)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgText::Font::setGlyphImageMargin </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>margin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the margin around each glyph, to ensure that texture filtering doesn't bleed adjacent glyph's into each other. </p>
<p>Default margin is 1 texels. </p>

</div>
</div>
<a class="anchor" id="ae31061bd1b9f1ad26f9a17a52a718129"></a><!-- doxytag: member="osgText::Font::setGlyphImageMarginRatio" ref="ae31061bd1b9f1ad26f9a17a52a718129" args="(float margin)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgText::Font::setGlyphImageMarginRatio </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>margin</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the margin ratio around each glyph, relative to the glyph's size. </p>
<p>to ensure that texture filtering doesn't bleed adjacent glyph's into each other. Default margin is 0.05. </p>

</div>
</div>
<a class="anchor" id="a31625f25994e0a55a75e0f7f4ae900a6"></a><!-- doxytag: member="osgText::Font::setImplementation" ref="a31625f25994e0a55a75e0f7f4ae900a6" args="(FontImplementation *implementation)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgText::Font::setImplementation </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00300.html">FontImplementation</a> *&#160;</td>
          <td class="paramname"><em>implementation</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a9d57dca38457a9618ee790f8f38243a0"></a><!-- doxytag: member="osgText::Font::setMagFilterHint" ref="a9d57dca38457a9618ee790f8f38243a0" args="(osg::Texture::FilterMode mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgText::Font::setMagFilterHint </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00896.html#a734150eb97a527a49b627e07568c7bc1">osg::Texture::FilterMode</a>&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the magnification texture filter to use when creating the texture to store the glyph images when rendering. </p>
<p>Note, this doesn't affect already created Texture Glhph's. </p>

</div>
</div>
<a class="anchor" id="a20f14f6b777ef021f1f823d73636ab9b"></a><!-- doxytag: member="osgText::Font::setMinFilterHint" ref="a20f14f6b777ef021f1f823d73636ab9b" args="(osg::Texture::FilterMode mode)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgText::Font::setMinFilterHint </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00896.html#a734150eb97a527a49b627e07568c7bc1">osg::Texture::FilterMode</a>&#160;</td>
          <td class="paramname"><em>mode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the minification texture filter to use when creating the texture to store the glyph images when rendering. </p>
<p>Note, this doesn't affect already created Texture Glhph's. </p>

</div>
</div>
<a class="anchor" id="ae60a6d01d0f00d004862acd2b1b94921"></a><!-- doxytag: member="osgText::Font::setStateSet" ref="ae60a6d01d0f00d004862acd2b1b94921" args="(osg::StateSet *stateset)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgText::Font::setStateSet </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00746.html">osg::StateSet</a> *&#160;</td>
          <td class="paramname"><em>stateset</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a0a525be781568b2d80f33b3aac4d19f4"></a><!-- doxytag: member="osgText::Font::setTexEnv" ref="a0a525be781568b2d80f33b3aac4d19f4" args="(osg::TexEnv *texenv)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgText::Font::setTexEnv </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="a00886.html">osg::TexEnv</a> *&#160;</td>
          <td class="paramname"><em>texenv</em></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="aef1cd9cb32caf81a964027c5bcb9f635"></a><!-- doxytag: member="osgText::Font::setTextureSizeHint" ref="aef1cd9cb32caf81a964027c5bcb9f635" args="(unsigned int width, unsigned int height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void osgText::Font::setTextureSizeHint </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set the size of texture to create to store the glyph images when rendering. </p>
<p>Note, this doesn't affect already created Texture Glhph's. </p>

</div>
</div>
<a class="anchor" id="aca7af8e53deae2d9e7aebeb217d3f3cf"></a><!-- doxytag: member="osgText::Font::setThreadSafeRefUnref" ref="aca7af8e53deae2d9e7aebeb217d3f3cf" args="(bool threadSafe)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void osgText::Font::setThreadSafeRefUnref </td>
          <td>(</td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>threadSafe</em></td><td>)</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Set whether to use a mutex to ensure <a class="el" href="a00627.html#acafcbbae9e9d8bfcbc811cc6c36d1cf4" title="Increment the reference count by one, indicating that this object has another pointer which is refere...">ref()</a> and <a class="el" href="a00627.html#a0ee3c1293cceac54bfaabe7c541bcb68" title="Decrement the reference count by one, indicating that a pointer to this object is referencing it...">unref()</a> are thread safe. </p>

<p>Reimplemented from <a class="el" href="a00627.html#aafc0e0779a54c6fbd46bdade701d7fa2">osg::Referenced</a>.</p>

</div>
</div>
<hr/><h2>Friends And Related Function Documentation</h2>
<a class="anchor" id="a4fbab7fe322eeb3f7f22fe23ef5408f1"></a><!-- doxytag: member="osgText::Font::FontImplementation" ref="a4fbab7fe322eeb3f7f22fe23ef5408f1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">friend class <a class="el" href="a00300.html">FontImplementation</a><code> [friend]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a51898982769673f06a4387898f651e6a"></a><!-- doxytag: member="osgText::Font::_fontSize" ref="a51898982769673f06a4387898f651e6a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a01639.html#a496a0972c2c8deacdd834f27b8b0a032">FontResolution</a> <a class="el" href="a00297.html#a51898982769673f06a4387898f651e6a">osgText::Font::_fontSize</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ae422a29a1d61c7fb83b27ec736eda307"></a><!-- doxytag: member="osgText::Font::_glyphMapMutex" ref="ae422a29a1d61c7fb83b27ec736eda307" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">OpenThreads::Mutex <a class="el" href="a00297.html#ae422a29a1d61c7fb83b27ec736eda307">osgText::Font::_glyphMapMutex</a><code> [mutable, protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a51575781fe8bb6300e1195514bbcc301"></a><!-- doxytag: member="osgText::Font::_glyphTextureList" ref="a51575781fe8bb6300e1195514bbcc301" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00297.html#accbf38528f322ee3b1cb903615037950">GlyphTextureList</a> <a class="el" href="a00297.html#a51575781fe8bb6300e1195514bbcc301">osgText::Font::_glyphTextureList</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a3c34c01472049120d842c87f35e38d96"></a><!-- doxytag: member="osgText::Font::_implementation" ref="a3c34c01472049120d842c87f35e38d96" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt;<a class="el" href="a00300.html">FontImplementation</a>&gt; <a class="el" href="a00297.html#a3c34c01472049120d842c87f35e38d96">osgText::Font::_implementation</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="ab37e62551734c0269a10c2261cd4efac"></a><!-- doxytag: member="osgText::Font::_magFilterHint" ref="ab37e62551734c0269a10c2261cd4efac" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00896.html#a734150eb97a527a49b627e07568c7bc1">osg::Texture::FilterMode</a> <a class="el" href="a00297.html#ab37e62551734c0269a10c2261cd4efac">osgText::Font::_magFilterHint</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a19a38d006b4513594aa0495488735560"></a><!-- doxytag: member="osgText::Font::_margin" ref="a19a38d006b4513594aa0495488735560" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="a00297.html#a19a38d006b4513594aa0495488735560">osgText::Font::_margin</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a152d34ec44f30931aef12e100fb3e00d"></a><!-- doxytag: member="osgText::Font::_marginRatio" ref="a152d34ec44f30931aef12e100fb3e00d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float <a class="el" href="a00297.html#a152d34ec44f30931aef12e100fb3e00d">osgText::Font::_marginRatio</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="abaf3deb5408e4fa54d6327c1db7fc97a"></a><!-- doxytag: member="osgText::Font::_minFilterHint" ref="abaf3deb5408e4fa54d6327c1db7fc97a" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00896.html#a734150eb97a527a49b627e07568c7bc1">osg::Texture::FilterMode</a> <a class="el" href="a00297.html#abaf3deb5408e4fa54d6327c1db7fc97a">osgText::Font::_minFilterHint</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a57999676656dbbc69c828c86cef36510"></a><!-- doxytag: member="osgText::Font::_sizeGlyphMap" ref="a57999676656dbbc69c828c86cef36510" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00297.html#a7daa47d22c94b501fa0fd12497c14c83">FontSizeGlyphMap</a> <a class="el" href="a00297.html#a57999676656dbbc69c828c86cef36510">osgText::Font::_sizeGlyphMap</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a6641f429cef9355a68faeeed3731807d"></a><!-- doxytag: member="osgText::Font::_stateset" ref="a6641f429cef9355a68faeeed3731807d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt;<a class="el" href="a00746.html">osg::StateSet</a>&gt; <a class="el" href="a00297.html#a6641f429cef9355a68faeeed3731807d">osgText::Font::_stateset</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a5ad19eedad8279f97064753d97104893"></a><!-- doxytag: member="osgText::Font::_texenv" ref="a5ad19eedad8279f97064753d97104893" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00624.html">osg::ref_ptr</a>&lt;<a class="el" href="a00886.html">osg::TexEnv</a>&gt; <a class="el" href="a00297.html#a5ad19eedad8279f97064753d97104893">osgText::Font::_texenv</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a7f48f099a9f51ef66383f24de13509e7"></a><!-- doxytag: member="osgText::Font::_textureHeightHint" ref="a7f48f099a9f51ef66383f24de13509e7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="a00297.html#a7f48f099a9f51ef66383f24de13509e7">osgText::Font::_textureHeightHint</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a99662e4b5156aa1cd4f3fbbd3b2f3f02"></a><!-- doxytag: member="osgText::Font::_textureWidthHint" ref="a99662e4b5156aa1cd4f3fbbd3b2f3f02" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="a00297.html#a99662e4b5156aa1cd4f3fbbd3b2f3f02">osgText::Font::_textureWidthHint</a><code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>osgText/<a class="el" href="a01543.html">Font</a></li>
</ul>
</div>
<hr>
<table border="0"><tr><td>
  <img src="osg32-32.png" alt="osg logo" />
</td><td>
  <address><small>Generated at Tue May 31 2011 04:19:37 for the <a href="http://www.openscenegraph.org/">OpenSceneGraph</a>
by <a href="http://www.doxygen.org">doxygen</a> 1.7.4.</small></address>
<!-- Dimitri van Heesch's e-mail address removed, lest he get messages on the OpenSceneGraph -->
</td></tr></table>
</body>
</html>