<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>AllegroGL: fontconv.c File Reference</title> <link href="alleggl.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.2 --> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <h1>fontconv.c File Reference</h1>Allegro FONT conversion routines. <a href="#_details">More...</a> <p> <code>#include <math.h></code><br> <code>#include <string.h></code><br> <code>#include <stdio.h></code><br> <code>#include <allegro.h></code><br> <code>#include <allegro/internal/aintern.h></code><br> <code>#include "<a class="el" href="alleggl_8h-source.html">alleggl.h</a>"</code><br> <code>#include "allglint.h"</code><br> <code>#include <GL/glu.h></code><br> <p> <a href="fontconv_8c-source.html">Go to the source code of this file.</a><h2>Data Structures</h2> <ul> <li>union <a class="el" href="unionmixed__ptr.html">mixed_ptr</a> <li>struct <a class="el" href="structtexture__size.html">texture_size</a> </ul> <h2>Defines</h2> <ul> <li><a class="anchor" name="09462782acac95f9a6da67adf659ed6e"></a><!-- doxytag: member="fontconv.c::PREFIX_I" ref="09462782acac95f9a6da67adf659ed6e" args="" --> #define <a class="el" href="fontconv_8c.html#09462782acac95f9a6da67adf659ed6e">PREFIX_I</a> "agl-font INFO: " <li><a class="anchor" name="d8bfd440530d371de892a20efd3bbc2a"></a><!-- doxytag: member="fontconv.c::PREFIX_W" ref="d8bfd440530d371de892a20efd3bbc2a" args="" --> #define <a class="el" href="fontconv_8c.html#d8bfd440530d371de892a20efd3bbc2a">PREFIX_W</a> "agl-font WARNING: " <li><a class="anchor" name="8c04b6ea901068c5cc4020e9a18c0cbe"></a><!-- doxytag: member="fontconv.c::PREFIX_E" ref="8c04b6ea901068c5cc4020e9a18c0cbe" args="" --> #define <a class="el" href="fontconv_8c.html#8c04b6ea901068c5cc4020e9a18c0cbe">PREFIX_E</a> "agl-font ERROR: " <li><a class="anchor" name="e1bb43a44b73e97ebeb31e58c54571c3"></a><!-- doxytag: member="fontconv.c::FONT_CHARACTER_SPACING" ref="e1bb43a44b73e97ebeb31e58c54571c3" args="" --> #define <a class="el" href="fontconv_8c.html#e1bb43a44b73e97ebeb31e58c54571c3">FONT_CHARACTER_SPACING</a> 2 <li><a class="anchor" name="f64acedbf0cce356cfd2c02117866f98"></a><!-- doxytag: member="fontconv.c::MIN_TEXTURE_SIZE" ref="f64acedbf0cce356cfd2c02117866f98" args="" --> #define <b>MIN_TEXTURE_SIZE</b> 2 <li><a class="anchor" name="b9b4a0bc6e67dd57e9f391734e1bb586"></a><!-- doxytag: member="fontconv.c::NUM_TEXTURE_SIZE" ref="b9b4a0bc6e67dd57e9f391734e1bb586" args="" --> #define <b>NUM_TEXTURE_SIZE</b> 13 </ul> <h2>Functions</h2> <ul> <li><a class="anchor" name="a15c1548e54e4e50f3263213b0b229db"></a><!-- doxytag: member="fontconv.c::agl_get_font_height" ref="a15c1548e54e4e50f3263213b0b229db" args="(AL_CONST FONT *f)" --> static int <a class="el" href="fontconv_8c.html#a15c1548e54e4e50f3263213b0b229db">agl_get_font_height</a> (AL_CONST FONT *f) <li><a class="anchor" name="629fd684092573c2697fcaff416f4346"></a><!-- doxytag: member="fontconv.c::agl_char_length" ref="629fd684092573c2697fcaff416f4346" args="(const FONT *f, int ch)" --> static int <a class="el" href="fontconv_8c.html#629fd684092573c2697fcaff416f4346">agl_char_length</a> (const FONT *f, int ch) <li><a class="anchor" name="7a3fa16dbc64481648bca78845115877"></a><!-- doxytag: member="fontconv.c::agl_text_length" ref="7a3fa16dbc64481648bca78845115877" args="(const FONT *f, const char *str)" --> static int <a class="el" href="fontconv_8c.html#7a3fa16dbc64481648bca78845115877">agl_text_length</a> (const FONT *f, const char *str) <li><a class="anchor" name="a82e4a568af2311ec0c49f1f56aa5616"></a><!-- doxytag: member="fontconv.c::agl_get_font_ranges" ref="a82e4a568af2311ec0c49f1f56aa5616" args="(FONT *f)" --> static int <a class="el" href="fontconv_8c.html#a82e4a568af2311ec0c49f1f56aa5616">agl_get_font_ranges</a> (FONT *f) <li><a class="anchor" name="c9ba5027911c93eab24f968909354410"></a><!-- doxytag: member="fontconv.c::agl_get_font_range_begin" ref="c9ba5027911c93eab24f968909354410" args="(FONT *f, int range)" --> static int <a class="el" href="fontconv_8c.html#c9ba5027911c93eab24f968909354410">agl_get_font_range_begin</a> (FONT *f, int range) <li><a class="anchor" name="88a4997cb342e2fa287edc6094e5298b"></a><!-- doxytag: member="fontconv.c::agl_get_font_range_end" ref="88a4997cb342e2fa287edc6094e5298b" args="(FONT *f, int range)" --> static int <a class="el" href="fontconv_8c.html#88a4997cb342e2fa287edc6094e5298b">agl_get_font_range_end</a> (FONT *f, int range) <li><a class="anchor" name="422957a01e23de62aa3f69829b8df0d2"></a><!-- doxytag: member="fontconv.c::agl_extract_font_range" ref="422957a01e23de62aa3f69829b8df0d2" args="(FONT *f, int start, int end)" --> static FONT * <a class="el" href="fontconv_8c.html#422957a01e23de62aa3f69829b8df0d2">agl_extract_font_range</a> (FONT *f, int start, int end) <li><a class="anchor" name="6b61e9412580c11a885852c142f189be"></a><!-- doxytag: member="fontconv.c::agl_merge_fonts" ref="6b61e9412580c11a885852c142f189be" args="(FONT *f1, FONT *f2)" --> static FONT * <a class="el" href="fontconv_8c.html#6b61e9412580c11a885852c142f189be">agl_merge_fonts</a> (FONT *f1, FONT *f2) <li><a class="anchor" name="1fb5c0b2b75e70c145ddc381665c0857"></a><!-- doxytag: member="fontconv.c::aglf_convert_allegro_font_to_bitmap" ref="1fb5c0b2b75e70c145ddc381665c0857" args="(FONT_AGL_DATA *dest, FONT *f, void *src, int *height)" --> static void <a class="el" href="fontconv_8c.html#1fb5c0b2b75e70c145ddc381665c0857">aglf_convert_allegro_font_to_bitmap</a> (<a class="el" href="structFONT__AGL__DATA.html">FONT_AGL_DATA</a> *dest, FONT *f, void *src, int *<a class="el" href="gui_8c.html#d12fc34ce789bce6c8a05d8a17138534">height</a>) <li><a class="anchor" name="bbf4fa765bd07d4dd9684ea7a28af379"></a><!-- doxytag: member="fontconv.c::aglf_convert_allegro_font_to_texture" ref="bbf4fa765bd07d4dd9684ea7a28af379" args="(FONT_AGL_DATA **dest, FONT *f, void *src, int *height, float scale, GLint format)" --> static void <a class="el" href="fontconv_8c.html#bbf4fa765bd07d4dd9684ea7a28af379">aglf_convert_allegro_font_to_texture</a> (<a class="el" href="structFONT__AGL__DATA.html">FONT_AGL_DATA</a> **dest, FONT *f, void *src, int *<a class="el" href="gui_8c.html#d12fc34ce789bce6c8a05d8a17138534">height</a>, float scale, GLint format) <li><a class="anchor" name="f31c943e03054737bd19c04b10ca9828"></a><!-- doxytag: member="fontconv.c::aglf_upload_texture" ref="f31c943e03054737bd19c04b10ca9828" args="(BITMAP *bmp, GLint format, int has_alpha)" --> static GLuint <a class="el" href="fontconv_8c.html#f31c943e03054737bd19c04b10ca9828">aglf_upload_texture</a> (BITMAP *bmp, GLint format, int has_alpha) <li><a class="anchor" name="7f0a461482a8291e8842adc3e79a290b"></a><!-- doxytag: member="fontconv.c::aglf_check_texture" ref="7f0a461482a8291e8842adc3e79a290b" args="(BITMAP *bmp, GLint format, int has_alpha)" --> static int <a class="el" href="fontconv_8c.html#7f0a461482a8291e8842adc3e79a290b">aglf_check_texture</a> (BITMAP *bmp, GLint format, int has_alpha) <li><a class="anchor" name="08b49ec5fa60bdbf621c3486915361be"></a><!-- doxytag: member="fontconv.c::look_for_texture" ref="08b49ec5fa60bdbf621c3486915361be" args="(int beg, int end, AGL_GLYPH *glyphs, int max_w, int max_h, int total_area, GLint format, int has_alpha)" --> static BITMAP * <a class="el" href="fontconv_8c.html#08b49ec5fa60bdbf621c3486915361be">look_for_texture</a> (int beg, int end, <a class="el" href="structAGL__GLYPH.html">AGL_GLYPH</a> *glyphs, int max_w, int max_h, int total_area, GLint format, int has_alpha) <li><a class="anchor" name="aa4c166e687a92f215e0ab7095e27aac"></a><!-- doxytag: member="fontconv.c::iroundf" ref="aa4c166e687a92f215e0ab7095e27aac" args="(float v)" --> static int <a class="el" href="fontconv_8c.html#aa4c166e687a92f215e0ab7095e27aac">iroundf</a> (float v) <li><a class="anchor" name="474b448488f4701514fd6f754b672b1a"></a><!-- doxytag: member="fontconv.c::agl_char_length_fractional" ref="474b448488f4701514fd6f754b672b1a" args="(const FONT *f, int ch)" --> static float <a class="el" href="fontconv_8c.html#474b448488f4701514fd6f754b672b1a">agl_char_length_fractional</a> (const FONT *f, int ch) <li><a class="anchor" name="dfff29753a63507f93c45bd24f79bbc6"></a><!-- doxytag: member="fontconv.c::create_textured_font_call_lists" ref="dfff29753a63507f93c45bd24f79bbc6" args="(AGL_GLYPH *coords, int max, BITMAP *bmp, float scale, int *height)" --> static int <a class="el" href="fontconv_8c.html#dfff29753a63507f93c45bd24f79bbc6">create_textured_font_call_lists</a> (<a class="el" href="structAGL__GLYPH.html">AGL_GLYPH</a> *coords, int max, BITMAP *bmp, float scale, int *<a class="el" href="gui_8c.html#d12fc34ce789bce6c8a05d8a17138534">height</a>) <li><a class="anchor" name="dad249ceaa35db1cd403e0a8cfa5dc8d"></a><!-- doxytag: member="fontconv.c::copy_glyph_range" ref="dad249ceaa35db1cd403e0a8cfa5dc8d" args="(FONT_AGL_DATA *fad, int start, int end, int *height)" --> static <a class="el" href="structFONT__AGL__DATA.html">FONT_AGL_DATA</a> * <a class="el" href="fontconv_8c.html#dad249ceaa35db1cd403e0a8cfa5dc8d">copy_glyph_range</a> (<a class="el" href="structFONT__AGL__DATA.html">FONT_AGL_DATA</a> *fad, int start, int end, int *<a class="el" href="gui_8c.html#d12fc34ce789bce6c8a05d8a17138534">height</a>) <li>FONT * <a class="el" href="group__Text.html#gd01388c5188ae09628284aa2425acae9">allegro_gl_convert_allegro_font</a> (FONT *f, int type, float scale) <dl class="el"><dd class="mdescRight">Equivalent to:. <a href="group__Text.html#gd01388c5188ae09628284aa2425acae9"></a><br></dl><li>FONT * <a class="el" href="group__Text.html#g4986ec80f1a3362e47f7669461fef414">allegro_gl_convert_allegro_font_ex</a> (FONT *f, int type, float scale, GLint format) <dl class="el"><dd class="mdescRight">Converts a regular Allegro FONT to the AGL format for 3D display. <a href="group__Text.html#g4986ec80f1a3362e47f7669461fef414"></a><br></dl><li><a class="anchor" name="4537fb9c1ec2237c4d490fa85eab5ce4"></a><!-- doxytag: member="fontconv.c::sort_glyphs" ref="4537fb9c1ec2237c4d490fa85eab5ce4" args="(const void *c1, const void *c2)" --> static int <a class="el" href="fontconv_8c.html#4537fb9c1ec2237c4d490fa85eab5ce4">sort_glyphs</a> (const void *c1, const void *c2) <li><a class="anchor" name="f93f61e1684426ced5628c640ea3ed35"></a><!-- doxytag: member="fontconv.c::unsort_glyphs" ref="f93f61e1684426ced5628c640ea3ed35" args="(const void *c1, const void *c2)" --> static int <a class="el" href="fontconv_8c.html#f93f61e1684426ced5628c640ea3ed35">unsort_glyphs</a> (const void *c1, const void *c2) <li><a class="anchor" name="335b98405cb2c496b38e0eebdc0af23f"></a><!-- doxytag: member="fontconv.c::sort_textures" ref="335b98405cb2c496b38e0eebdc0af23f" args="(const void *c1, const void *c2)" --> static int <a class="el" href="fontconv_8c.html#335b98405cb2c496b38e0eebdc0af23f">sort_textures</a> (const void *c1, const void *c2) <li><a class="anchor" name="a11b923a92e0416c689110a0c3b14c60"></a><!-- doxytag: member="fontconv.c::aglf_sort_out_glyphs" ref="a11b923a92e0416c689110a0c3b14c60" args="(BITMAP *bmp, AGL_GLYPH *glyphs, const int beg, const int end)" --> static int <a class="el" href="fontconv_8c.html#a11b923a92e0416c689110a0c3b14c60">aglf_sort_out_glyphs</a> (BITMAP *bmp, <a class="el" href="structAGL__GLYPH.html">AGL_GLYPH</a> *glyphs, const int beg, const int end) <li><a class="anchor" name="8560c09b64a9f8278c012cab130bc81a"></a><!-- doxytag: member="fontconv.c::split_font" ref="8560c09b64a9f8278c012cab130bc81a" args="(FONT *f, void *source, void **dest1, void **dest2)" --> static int <a class="el" href="fontconv_8c.html#8560c09b64a9f8278c012cab130bc81a">split_font</a> (FONT *f, void *source, void **dest1, void **dest2) <li><a class="anchor" name="c3b845779133af8ea9927b9cd49e7b1c"></a><!-- doxytag: member="fontconv.c::destroy_split_font" ref="c3b845779133af8ea9927b9cd49e7b1c" args="(FONT *f, union mixed_ptr range1, union mixed_ptr range2)" --> static void <a class="el" href="fontconv_8c.html#c3b845779133af8ea9927b9cd49e7b1c">destroy_split_font</a> (FONT *f, union <a class="el" href="unionmixed__ptr.html">mixed_ptr</a> range1, union <a class="el" href="unionmixed__ptr.html">mixed_ptr</a> range2) <li><a class="anchor" name="3a67de20985510babecf44d317a50c83"></a><!-- doxytag: member="fontconv.c::do_crop_font_range" ref="3a67de20985510babecf44d317a50c83" args="(FONT *f, AGL_GLYPH *glyphs, int beg, int end)" --> static int <a class="el" href="fontconv_8c.html#3a67de20985510babecf44d317a50c83">do_crop_font_range</a> (FONT *f, <a class="el" href="structAGL__GLYPH.html">AGL_GLYPH</a> *glyphs, int beg, int end) <li><a class="anchor" name="f0d26dfdc5cb9055136b3bbbc708c73d"></a><!-- doxytag: member="fontconv.c::crop_font_range" ref="f0d26dfdc5cb9055136b3bbbc708c73d" args="(FONT *f, void *src, int beg, int end, AGL_GLYPH *glyphs, int *net_area, int *gross_area, int *max_w, int *max_h)" --> static int <a class="el" href="fontconv_8c.html#f0d26dfdc5cb9055136b3bbbc708c73d">crop_font_range</a> (FONT *f, void *src, int beg, int end, <a class="el" href="structAGL__GLYPH.html">AGL_GLYPH</a> *glyphs, int *net_area, int *gross_area, int *max_w, int *max_h) <li><a class="anchor" name="bf8002d012eb4e8d2870c069479257b5"></a><!-- doxytag: member="fontconv.c::draw_glyphs" ref="bf8002d012eb4e8d2870c069479257b5" args="(BITMAP *bmp, FONT *f, GLint format, int beg, int end, AGL_GLYPH *glyphs)" --> static int <a class="el" href="fontconv_8c.html#bf8002d012eb4e8d2870c069479257b5">draw_glyphs</a> (BITMAP *bmp, FONT *f, GLint format, int beg, int end, <a class="el" href="structAGL__GLYPH.html">AGL_GLYPH</a> *glyphs) </ul> <h2>Variables</h2> <ul> <li>FONT_VTABLE <a class="el" href="fontconv_8c.html#a4f15f892f647d55ff3e0c6c67ef95eb">_agl_font_vtable</a> <li><a class="anchor" name="639ff5b4222f196b5b82a388b80139ba"></a><!-- doxytag: member="fontconv.c::font_vtable_agl" ref="639ff5b4222f196b5b82a388b80139ba" args="" --> FONT_VTABLE * <a class="el" href="fontconv_8c.html#639ff5b4222f196b5b82a388b80139ba">font_vtable_agl</a> = &<a class="el" href="fontconv_8c.html#a4f15f892f647d55ff3e0c6c67ef95eb">_agl_font_vtable</a> </ul> <hr><a name="_details"></a><h2>Detailed Description</h2> Allegro FONT conversion routines. <p> Notes: - Depends on the Allegro's FONT structure remaining intact. Bugs: - Bitmapped font support is flakey at best. <p> Definition in file <a class="el" href="fontconv_8c-source.html">fontconv.c</a>.<hr><h2>Variable Documentation</h2> <a class="anchor" name="a4f15f892f647d55ff3e0c6c67ef95eb"></a><!-- doxytag: member="fontconv.c::_agl_font_vtable" ref="a4f15f892f647d55ff3e0c6c67ef95eb" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FONT_VTABLE <a class="el" href="fontconv_8c.html#a4f15f892f647d55ff3e0c6c67ef95eb">_agl_font_vtable</a> </td> </tr> </table> </div> <div class="memdoc"> <p> <b>Initial value:</b><div class="fragment"><pre class="fragment"> { <a class="code" href="fontconv_8c.html#a15c1548e54e4e50f3263213b0b229db">agl_get_font_height</a>, <a class="code" href="fontconv_8c.html#629fd684092573c2697fcaff416f4346">agl_char_length</a>, <a class="code" href="fontconv_8c.html#7a3fa16dbc64481648bca78845115877">agl_text_length</a>, NULL, NULL, <a class="code" href="group__Text.html#gbcbdd9810f7254cdb105f987ae1e557f" title="Destroys the font.">allegro_gl_destroy_font</a>, <a class="code" href="fontconv_8c.html#a82e4a568af2311ec0c49f1f56aa5616">agl_get_font_ranges</a>, <a class="code" href="fontconv_8c.html#c9ba5027911c93eab24f968909354410">agl_get_font_range_begin</a>, <a class="code" href="fontconv_8c.html#88a4997cb342e2fa287edc6094e5298b">agl_get_font_range_end</a>, <a class="code" href="fontconv_8c.html#422957a01e23de62aa3f69829b8df0d2">agl_extract_font_range</a>, <a class="code" href="fontconv_8c.html#6b61e9412580c11a885852c142f189be">agl_merge_fonts</a>, } </pre></div> <p> Definition at line <a class="el" href="fontconv_8c-source.html#l00064">64</a> of file <a class="el" href="fontconv_8c-source.html">fontconv.c</a>. </div> </div><p> <hr size="1"><address style="text-align: right;"><small>Generated on Mon Nov 12 11:05:32 2007 for AllegroGL by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address> </body> </html>