File: classCEGUI_1_1FreeTypeFont.html

package info (click to toggle)
cegui-mk2 0.7.6-3.3
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 105,388 kB
  • ctags: 82,178
  • sloc: cpp: 142,729; ansic: 27,984; sh: 11,010; makefile: 2,275; python: 916; xml: 17
file content (390 lines) | stat: -rw-r--r-- 28,299 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
<!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>Crazy Eddies GUI System: CEGUI::FreeTypeFont 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 -->
<script type="text/javascript">
function hasClass(ele,cls) {
  return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(ele,cls) {
  if (!this.hasClass(ele,cls)) ele.className += " "+cls;
}

function removeClass(ele,cls) {
  if (hasClass(ele,cls)) {
    var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
    ele.className=ele.className.replace(reg,' ');
  }
}

function toggleVisibility(linkObj) {
 var base = linkObj.getAttribute('id');
 var summary = document.getElementById(base + '-summary');
 var content = document.getElementById(base + '-content');
 var trigger = document.getElementById(base + '-trigger');
 if ( hasClass(linkObj,'closed') ) {
   summary.style.display = 'none';
   content.style.display = 'block';
   trigger.src = 'open.png';
   removeClass(linkObj,'closed');
   addClass(linkObj,'opened');
 } else if ( hasClass(linkObj,'opened') ) {
   summary.style.display = 'block';
   content.style.display = 'none';
   trigger.src = 'closed.png';
   removeClass(linkObj,'opened');
   addClass(linkObj,'closed');
 }
 return false;
}
</script>
<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">Crazy Eddies GUI System&#160;<span id="projectnumber">0.7.6</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>
    </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="namespaceCEGUI.html">CEGUI</a>      </li>
      <li class="navelem"><a class="el" href="classCEGUI_1_1FreeTypeFont.html">FreeTypeFont</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<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>  </div>
  <div class="headertitle">
<div class="title">CEGUI::FreeTypeFont Class Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="CEGUI::FreeTypeFont" --><!-- doxytag: inherits="CEGUI::Font" -->
<p>Implementation of the <a class="el" href="classCEGUI_1_1Font.html" title="Class that encapsulates a typeface.">Font</a> class interface using the FreeType library.  
 <a href="classCEGUI_1_1FreeTypeFont.html#details">More...</a></p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png"/> Inheritance diagram for CEGUI::FreeTypeFont:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classCEGUI_1_1FreeTypeFont__inherit__graph.gif" border="0" usemap="#CEGUI_1_1FreeTypeFont_inherit__map" alt="Inheritance graph"/></div>
<map name="CEGUI_1_1FreeTypeFont_inherit__map" id="CEGUI_1_1FreeTypeFont_inherit__map">
<area shape="rect" id="node2" href="classCEGUI_1_1Font.html" title="Class that encapsulates a typeface." alt="" coords="33,83,132,112"/><area shape="rect" id="node4" href="classCEGUI_1_1PropertySet.html" title="Class that contains a collection of Property objects." alt="" coords="12,5,153,35"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-1-trigger" src="closed.png"/> Collaboration diagram for CEGUI::FreeTypeFont:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><img src="classCEGUI_1_1FreeTypeFont__coll__graph.gif" border="0" usemap="#CEGUI_1_1FreeTypeFont_coll__map" alt="Collaboration graph"/></div>
<map name="CEGUI_1_1FreeTypeFont_coll__map" id="CEGUI_1_1FreeTypeFont_coll__map">
<area shape="rect" id="node2" href="classCEGUI_1_1Font.html" title="Class that encapsulates a typeface." alt="" coords="27,85,125,115"/><area shape="rect" id="node4" href="classCEGUI_1_1PropertySet.html" title="Class that contains a collection of Property objects." alt="" coords="5,5,147,35"/><area shape="rect" id="node6" href="classCEGUI_1_1RawDataContainer.html" title="Class used as the databuffer for loading files throughout the library." alt="" coords="149,85,333,115"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classCEGUI_1_1FreeTypeFont-members.html">List of all members.</a></p>
<table class="memberdecls">
<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="classCEGUI_1_1FreeTypeFont.html#abc57d0786371a6d80965895f8ab78579">FreeTypeFont</a> (const <a class="el" href="classCEGUI_1_1String.html">String</a> &amp;font_name, const float point_size, const bool anti_aliased, const <a class="el" href="classCEGUI_1_1String.html">String</a> &amp;font_filename, const <a class="el" href="classCEGUI_1_1String.html">String</a> &amp;resource_group=&quot;&quot;, const bool auto_scaled=false, const float native_horz_res=640.0f, const float native_vert_res=480.0f, const float specific_line_spacing=0.0f)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for <a class="el" href="classCEGUI_1_1FreeTypeFont.html" title="Implementation of the Font class interface using the FreeType library.">FreeTypeFont</a> based fonts.  <a href="#abc57d0786371a6d80965895f8ab78579"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8a49b467d35f518714432a4f261f8aef"></a><!-- doxytag: member="CEGUI::FreeTypeFont::~FreeTypeFont" ref="a8a49b467d35f518714432a4f261f8aef" args="()" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a8a49b467d35f518714432a4f261f8aef">~FreeTypeFont</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87c39fef65d5309a9d9b806cff2a2a8e"></a><!-- doxytag: member="CEGUI::FreeTypeFont::getPointSize" ref="a87c39fef65d5309a9d9b806cff2a2a8e" args="() const " -->
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a87c39fef65d5309a9d9b806cff2a2a8e">getPointSize</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the point size of the freetype font. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2892609601948b2bc8fc0bf701ba92c4"></a><!-- doxytag: member="CEGUI::FreeTypeFont::isAntiAliased" ref="a2892609601948b2bc8fc0bf701ba92c4" args="() const " -->
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a2892609601948b2bc8fc0bf701ba92c4">isAntiAliased</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return whether the freetype font is rendered anti-aliased. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a12ef04a9aad0b7a821da094751fdb710"></a><!-- doxytag: member="CEGUI::FreeTypeFont::setPointSize" ref="a12ef04a9aad0b7a821da094751fdb710" args="(const float point_size)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a12ef04a9aad0b7a821da094751fdb710">setPointSize</a> (const float point_size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return the point size of the freetype font. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5ab7ad3404e64ef29fc3a9fe341a8aa4"></a><!-- doxytag: member="CEGUI::FreeTypeFont::setAntiAliased" ref="a5ab7ad3404e64ef29fc3a9fe341a8aa4" args="(const bool anti_alaised)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a5ab7ad3404e64ef29fc3a9fe341a8aa4">setAntiAliased</a> (const bool anti_alaised)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">return whether the freetype font is rendered anti-aliased. <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"><a class="anchor" id="a19fafe6862e3540c287e00448959f395"></a><!-- doxytag: member="CEGUI::FreeTypeFont::ImagesetVector" ref="a19fafe6862e3540c287e00448959f395" args="" -->
typedef std::vector&lt; <a class="el" href="classCEGUI_1_1Imageset.html">Imageset</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a19fafe6862e3540c287e00448959f395">ImagesetVector</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Type definition for ImagesetVector. <br/></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">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a25cb51ec405870b57eb18759b9ba8514">drawGlyphToBuffer</a> (<a class="el" href="namespaceCEGUI.html#a67e3e55e2e397221393cda1efd0d7c7e">argb_t</a> *buffer, uint buf_width) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy the current glyph data into <em>buffer</em>, which has a width of <em>buf_width</em> pixels (not bytes).  <a href="#a25cb51ec405870b57eb18759b9ba8514"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a2e5d07fb43015c7c811e6b3d23382ed6">getTextureSize</a> (CodepointMap::const_iterator s, CodepointMap::const_iterator e) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the required texture size required to store imagery for the glyphs from s to e.  <a href="#a2e5d07fb43015c7c811e6b3d23382ed6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae497c20305907d7bd0daf16ae9e310e2"></a><!-- doxytag: member="CEGUI::FreeTypeFont::addFreeTypeFontProperties" ref="ae497c20305907d7bd0daf16ae9e310e2" args="()" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#ae497c20305907d7bd0daf16ae9e310e2">addFreeTypeFontProperties</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Register all properties of this class. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a067432c1041d12dd2b0a45438d99ca2f"></a><!-- doxytag: member="CEGUI::FreeTypeFont::free" ref="a067432c1041d12dd2b0a45438d99ca2f" args="()" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a067432c1041d12dd2b0a45438d99ca2f">free</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Free all allocated font data. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a4f7169bf962ba04b906afe02d74dae5c">rasterise</a> (utf32 start_codepoint, utf32 end_codepoint) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This function prepares a certain range of glyphs to be ready for displaying. This means that after returning from this function glyphs from d_cp_map[start_codepoint] to d_cp_map[end_codepoint] should have their d_image member set. If there is an error during rasterisation of some glyph, it's okay to leave the d_image field set to NULL, in which case such glyphs will be skipped from display.  <a href="#a4f7169bf962ba04b906afe02d74dae5c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a90a0017d58da3faedb9f8b90ac3f3578"></a><!-- doxytag: member="CEGUI::FreeTypeFont::updateFont" ref="a90a0017d58da3faedb9f8b90ac3f3578" args="()" -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a90a0017d58da3faedb9f8b90ac3f3578">updateFont</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Update the font as needed, according to the current parameters. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a538924476177a86574bacfa78e15d7b9"></a><!-- doxytag: member="CEGUI::FreeTypeFont::writeXMLToStream_impl" ref="a538924476177a86574bacfa78e15d7b9" args="(XMLSerializer &amp;xml_stream) const " -->
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a538924476177a86574bacfa78e15d7b9">writeXMLToStream_impl</a> (<a class="el" href="classCEGUI_1_1XMLSerializer.html">XMLSerializer</a> &amp;xml_stream) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">implementaion version of writeXMLToStream. <br/></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"><a class="anchor" id="a17da83f154e9338ea0fff47dfa6a6059"></a><!-- doxytag: member="CEGUI::FreeTypeFont::d_specificLineSpacing" ref="a17da83f154e9338ea0fff47dfa6a6059" args="" -->
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a17da83f154e9338ea0fff47dfa6a6059">d_specificLineSpacing</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">If non-zero, the overridden line spacing that we're to report. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b2c2f0e8272776e501bf1f7ecdd9172"></a><!-- doxytag: member="CEGUI::FreeTypeFont::d_ptSize" ref="a7b2c2f0e8272776e501bf1f7ecdd9172" args="" -->
float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a7b2c2f0e8272776e501bf1f7ecdd9172">d_ptSize</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Point size of font. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1234fc62eb63921b5f304804b9b02951"></a><!-- doxytag: member="CEGUI::FreeTypeFont::d_antiAliased" ref="a1234fc62eb63921b5f304804b9b02951" args="" -->
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a1234fc62eb63921b5f304804b9b02951">d_antiAliased</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the font should be rendered as anti-alaised by freeType. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6cb86ef6911476c0474b4a5a1913e08c"></a><!-- doxytag: member="CEGUI::FreeTypeFont::d_fontFace" ref="a6cb86ef6911476c0474b4a5a1913e08c" args="" -->
FT_Face&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a6cb86ef6911476c0474b4a5a1913e08c">d_fontFace</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">FreeType-specific font handle. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abbbd46b16a9c8b985a2d1d09ba92f28e"></a><!-- doxytag: member="CEGUI::FreeTypeFont::d_fontData" ref="abbbd46b16a9c8b985a2d1d09ba92f28e" args="" -->
<a class="el" href="classCEGUI_1_1RawDataContainer.html">RawDataContainer</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#abbbd46b16a9c8b985a2d1d09ba92f28e">d_fontData</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classCEGUI_1_1Font.html" title="Class that encapsulates a typeface.">Font</a> file data. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d4cfa0343f3229c450e2363082afaea"></a><!-- doxytag: member="CEGUI::FreeTypeFont::d_glyphImages" ref="a6d4cfa0343f3229c450e2363082afaea" args="" -->
<a class="el" href="classCEGUI_1_1FreeTypeFont.html#a19fafe6862e3540c287e00448959f395">ImagesetVector</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classCEGUI_1_1FreeTypeFont.html#a6d4cfa0343f3229c450e2363082afaea">d_glyphImages</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Imagesets that holds the glyphs for this font. <br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Implementation of the <a class="el" href="classCEGUI_1_1Font.html" title="Class that encapsulates a typeface.">Font</a> class interface using the FreeType library. </p>
<p>This implementation tries to provide maximal support for any kind of fonts supported by FreeType. It has been tested on outline font formats like TTF and PS as well as on bitmap font formats like PCF and FON.</p>
<p>Glyphs are rendered dynamically on demand, so a large font with lots of glyphs won't slow application startup time. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="abc57d0786371a6d80965895f8ab78579"></a><!-- doxytag: member="CEGUI::FreeTypeFont::FreeTypeFont" ref="abc57d0786371a6d80965895f8ab78579" args="(const String &amp;font_name, const float point_size, const bool anti_aliased, const String &amp;font_filename, const String &amp;resource_group=&quot;&quot;, const bool auto_scaled=false, const float native_horz_res=640.0f, const float native_vert_res=480.0f, const float specific_line_spacing=0.0f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">CEGUI::FreeTypeFont::FreeTypeFont </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classCEGUI_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>font_name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&#160;</td>
          <td class="paramname"><em>point_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"><em>anti_aliased</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCEGUI_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>font_filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classCEGUI_1_1String.html">String</a> &amp;&#160;</td>
          <td class="paramname"><em>resource_group</em> = <code>&quot;&quot;</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const bool&#160;</td>
          <td class="paramname"><em>auto_scaled</em> = <code>false</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&#160;</td>
          <td class="paramname"><em>native_horz_res</em> = <code>640.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&#160;</td>
          <td class="paramname"><em>native_vert_res</em> = <code>480.0f</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const float&#160;</td>
          <td class="paramname"><em>specific_line_spacing</em> = <code>0.0f</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Constructor for <a class="el" href="classCEGUI_1_1FreeTypeFont.html" title="Implementation of the Font class interface using the FreeType library.">FreeTypeFont</a> based fonts. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">font_name</td><td>The name that the font will use within the <a class="el" href="namespaceCEGUI.html" title="Main namespace for Crazy Eddie&#39;s GUI Library.">CEGUI</a> system.</td></tr>
    <tr><td class="paramname">point_size</td><td>Specifies the point size that the font is to be rendered at.</td></tr>
    <tr><td class="paramname">anti_aliased</td><td>Specifies whether the font should be rendered using anti aliasing.</td></tr>
    <tr><td class="paramname">font_filename</td><td>The filename of an font file that will be used as the source for glyph images for this font.</td></tr>
    <tr><td class="paramname">resource_group</td><td>The resource group identifier to use when loading the font file specified by <em>font_filename</em>.</td></tr>
    <tr><td class="paramname">auto_scaled</td><td>Specifies whether the font imagery should be automatically scaled to maintain the same physical size (which is calculated by using the native resolution setting).</td></tr>
    <tr><td class="paramname">native_horz_res</td><td>The horizontal native resolution value. This is only significant when auto scaling is enabled.</td></tr>
    <tr><td class="paramname">native_vert_res</td><td>The vertical native resolution value. This is only significant when auto scaling is enabled.</td></tr>
    <tr><td class="paramname">specific_line_spacing</td><td>If specified (non-zero), this will be the line spacing that we will report for this font, regardless of what is mentioned in the font file itself. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a25cb51ec405870b57eb18759b9ba8514"></a><!-- doxytag: member="CEGUI::FreeTypeFont::drawGlyphToBuffer" ref="a25cb51ec405870b57eb18759b9ba8514" args="(argb_t *buffer, uint buf_width) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CEGUI::FreeTypeFont::drawGlyphToBuffer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespaceCEGUI.html#a67e3e55e2e397221393cda1efd0d7c7e">argb_t</a> *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint&#160;</td>
          <td class="paramname"><em>buf_width</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Copy the current glyph data into <em>buffer</em>, which has a width of <em>buf_width</em> pixels (not bytes). </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">buffer</td><td>Memory buffer large enough to receive the imagery for the currently loaded glyph.</td></tr>
    <tr><td class="paramname">buf_width</td><td>Width of <em>buffer</em> in pixels (where each pixel is a argb_t).</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Nothing. </dd></dl>

</div>
</div>
<a class="anchor" id="a2e5d07fb43015c7c811e6b3d23382ed6"></a><!-- doxytag: member="CEGUI::FreeTypeFont::getTextureSize" ref="a2e5d07fb43015c7c811e6b3d23382ed6" args="(CodepointMap::const_iterator s, CodepointMap::const_iterator e) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint CEGUI::FreeTypeFont::getTextureSize </td>
          <td>(</td>
          <td class="paramtype">CodepointMap::const_iterator&#160;</td>
          <td class="paramname"><em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">CodepointMap::const_iterator&#160;</td>
          <td class="paramname"><em>e</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the required texture size required to store imagery for the glyphs from s to e. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">s</td><td>The first glyph in set </td></tr>
    <tr><td class="paramname">e</td><td>The last glyph in set </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4f7169bf962ba04b906afe02d74dae5c"></a><!-- doxytag: member="CEGUI::FreeTypeFont::rasterise" ref="a4f7169bf962ba04b906afe02d74dae5c" args="(utf32 start_codepoint, utf32 end_codepoint) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CEGUI::FreeTypeFont::rasterise </td>
          <td>(</td>
          <td class="paramtype">utf32&#160;</td>
          <td class="paramname"><em>start_codepoint</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">utf32&#160;</td>
          <td class="paramname"><em>end_codepoint</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>This function prepares a certain range of glyphs to be ready for displaying. This means that after returning from this function glyphs from d_cp_map[start_codepoint] to d_cp_map[end_codepoint] should have their d_image member set. If there is an error during rasterisation of some glyph, it's okay to leave the d_image field set to NULL, in which case such glyphs will be skipped from display. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">start_codepoint</td><td>The lowest codepoint that should be rasterised </td></tr>
    <tr><td class="paramname">end_codepoint</td><td>The highest codepoint that should be rasterised </td></tr>
  </table>
  </dd>
</dl>

<p>Reimplemented from <a class="el" href="classCEGUI_1_1Font.html#ab5c070e4e19850578c3fb557c732764e">CEGUI::Font</a>.</p>

</div>
</div>
</div>
<hr class="footer"/><address class="footer"><small>Generated on Sun Jan 22 2012 16:07:40 for Crazy Eddies GUI System by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>