<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>FTGL: FTFace.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.3.6 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="hierarchy.html">Class&nbsp;Hierarchy</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a></div>
<h1>FTFace.h</h1><a href="FTFace_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="preprocessor">#ifndef     __FTFace__</span>
00002 <span class="preprocessor"></span><span class="preprocessor">#define     __FTFace__</span>
00003 <span class="preprocessor"></span>
00004 <span class="preprocessor">#include &lt;ft2build.h&gt;</span>
00005 <span class="preprocessor">#include FT_FREETYPE_H</span>
00006 <span class="preprocessor"></span><span class="preprocessor">#include FT_GLYPH_H</span>
00007 <span class="preprocessor"></span>
00008 <span class="preprocessor">#include "<a class="code" href="FTGL_8h.html">FTGL.h</a>"</span>
00009 <span class="preprocessor">#include "<a class="code" href="FTPoint_8h.html">FTPoint.h</a>"</span>
00010 <span class="preprocessor">#include "<a class="code" href="FTSize_8h.html">FTSize.h</a>"</span>
00011 
<a name="l00018"></a><a class="code" href="classFTFace.html">00018</a> <span class="keyword">class </span><a class="code" href="FTGL_8h.html#a3">FTGL_EXPORT</a> FTFace
00019 {
00020     <span class="keyword">public</span>:
00026         FTFace( <span class="keyword">const</span> <span class="keywordtype">char</span>* fontFilePath);
00027 
00034         FTFace( <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pBufferBytes, size_t bufferSizeInBytes );
00035 
00041         <span class="keyword">virtual</span> ~FTFace();
00042 
00050         <span class="keywordtype">bool</span> Attach( <span class="keyword">const</span> <span class="keywordtype">char</span>* fontFilePath);
00051 
00060         <span class="keywordtype">bool</span> Attach( <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *pBufferBytes, size_t bufferSizeInBytes);
00061 
<a name="l00067"></a><a class="code" href="classFTFace.html#a5">00067</a>         FT_Face* Face()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> ftFace;}
00068         
00079         <span class="keyword">const</span> <a class="code" href="classFTSize.html">FTSize</a>&amp; Size( <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> size, <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> res);
00080 
00086         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> CharMapCount();
00087 
00093         FT_Encoding* CharMapList();
00094         
00098         <a class="code" href="classFTPoint.html">FTPoint</a> KernAdvance( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index1, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index2);
00099 
00103         FT_GlyphSlot Glyph( <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> index, FT_Int load_flags);
00104 
<a name="l00108"></a><a class="code" href="classFTFace.html#a11">00108</a>         <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> GlyphCount()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> numGlyphs;}
00109 
<a name="l00115"></a><a class="code" href="classFTFace.html#a12">00115</a>         FT_Error Error()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> err; }
00116         
00117     <span class="keyword">private</span>:
00121         FT_Face* ftFace;
00122 
00126         <a class="code" href="classFTSize.html">FTSize</a>  charSize;
00127         
00131         <span class="keywordtype">int</span> numGlyphs;
00132         
00133         FT_Encoding* fontEncodingList;
00134 
00138          <span class="keywordtype">bool</span> hasKerningTable;
00139 
00143         FT_Error err;
00144 };
00145 
00146 
00147 <span class="preprocessor">#endif  //  __FTFace__</span>
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Sun Dec 5 22:24:05 2004 for FTGL by
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border=0 > 
</a>1.3.6 </small></address>
</body>
</html>
