<!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>Documentation overview</title> <link href="quesoglc.css" rel="stylesheet" type="text/css"> </head><body> <table> <tr valign="top"> <td width="190" align="center"> <table class="qmenu" cellspacing="0"> <tr> <td class="qglobal"> <ul class="qmenu"> <li class="mainmenu"><a href="index.html" >Main</a></li> </ul> </td> </tr> <tr> <td class="qtitle">Tutorials</td> </tr> <tr> <td class="qglobal"> <ul class="qmenu"> <li class="mainmenu"><a href="tutorial.html">First Steps</a></li> <li class="mainmenu"><a href="tutorial2.html">Measurement</a></li> </ul> </td> </tr> <tr> <td class="qtitle">Documentation</td> </tr> <tr> <td class="qglobal"> <ul class="qmenu"> <li class="mainmenu"><a href="overview.html">Overview</a></li> <li class="mainmenu"><a href="glyph.html">Glyph conventions</a></li> <li class="mainmenu"><a href="machinedef.html">Machine definition</a></li> <li class="mainmenu"><a href="group__context.html">Context State</a></li> <li class="mainmenu"><a href="group__font.html">Fonts</a></li> <li class="mainmenu"><a href="group__global.html">Global</a></li> <li class="mainmenu"><a href="group__master.html">Master</a></li> <li class="mainmenu"><a href="group__transform.html">Transformation</a></li> <li class="mainmenu"><a href="group__render.html">Render</a></li> <li class="mainmenu"><a href="group__measure.html">Measurement</a></li> </ul> </td> </tr> </table> </td> <td> <table> <tr> <td class="main"> <!-- Generated by Doxygen 1.8.3 --> </div><!-- top --> <div class="header"> <div class="headertitle"> <div class="title">Documentation overview </div> </div> </div><!--header--> <div class="contents"> <div class="textblock"><h1><a class="anchor" id="preamble"></a> Preamble</h1> <p>The documentation of QuesoGLC is based on the <a href="http://www.opengl.org/documentation/spec.html">GLC specs</a>. Therefore, the principles, functions, and generally speaking the API described hereafter apply to every implementation of GLC.</p> <p>If you are new to GLC, may be you should begin with the <a class="el" href="tutorial.html">First Steps</a> tutorial ?</p> <h1><a class="anchor" id="theoverview"></a> Overview</h1> <p>A GLC <em>client</em> is a program that uses OpenGL (henceforth, "GL") and GLC. A GLC <em>library</em> is a subroutine library that implements GLC. Like the GL Utilities (GLU), GLC is implemented on the client side of the GL client-server connection and performs all of its rendering by issuing GL commands.</p> <p>A GLC <em>context</em> is an instantiation of GLC. When a client thread issues a GLC command, the thread's <em>current</em> GLC context executes the command.</p> <p>A client can render a character by issuing the command <a class="el" href="group__render.html#gaa638920e1dedb09ef4085cffa86d0643" title="This command renders the character that inCode is mapped to.">glcRenderChar()</a>. GLC finds a <em>font</em> that <em>maps</em> the character code to a character such as LATIN CAPITAL LETTER A, then uses one or more glyphs from the font to create a graphical <em>layout</em> that represents the character. Finally, GLC issues a sequence of GL commands to draw the layout. Glyph coordinates are defined in <em>em</em> <em>units</em> and are transformed during rendering to produce the desired mapping of the glyph state into the GL window coordinate system.</p> <p>In addition to commands for rendering, the GLC API includes measurement commands that return certain <em>metrics</em> (e.g. bounding box) for a layout. Since the focus of GLC is on <em>rendering</em> and not <em>modeling</em>, the GLC API does not provide access to glyph shape data.</p> <p>A font is a stylistically consistent set of glyphs that can be used to render some set of characters. Each font has a <em>family</em> name (e.g. Palatino) and a state variable that selects one of the <em>faces</em> (e.g. Regular, Italic, Bold, Bold Italic) that the font contains. A <em>typeface</em> is the combination of a family and a face (e.g. Palatino Bold).</p> <p>A font is an instantiation of a <em>master</em>, which is a representation of the font that is stored outside of GLC in a standard format such as <em>TrueType</em> or <em>Type1</em>. A <em>catalog</em> is a named list of masters, which may be implemented as a file system directory containing master files. A list of catalog names defines the list of masters that can be instantiated in a GLC context.</p> <p>Before issuing a GLC rendering command a client must issue GL commands directly to establish a GL state such that the GL commands issued by GLC produce the desired result. For example, before issuing a <a class="el" href="group__render.html#gaa638920e1dedb09ef4085cffa86d0643" title="This command renders the character that inCode is mapped to.">glcRenderChar()</a> command a client may issue <code>glColor()</code> and <code>glRasterPos()</code> commands to establish the color and origin of the resulting layout. </p> </div></div><!-- contents --> </td> </tr> <tr> <td align="center" class="main"> <hr> <small> <font color="#cccccc">Generated on Sun Jan 13 2013 22:53:23 for QuesoGLC by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border=0></a> 1.8.3 written by Dimitri van Heesch © 1997-2005</font> </small> </td> </tr> </table> </td> </tr> </table> </body> </html>