<!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/html; charset=UTF-8" /><title>Graphics.UI.GLUT.Fonts</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[ window.onload = function () {pageLoad();setSynopsis("mini_Graphics-UI-GLUT-Fonts.html");}; //]]> </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="src/Graphics-UI-GLUT-Fonts.html">Source</a></li><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption">GLUT-2.1.2.1: A binding for the OpenGL Utility Toolkit</p></div><div id="content"><div id="module-header"><table class="info"><tr><th>Portability</th><td>portable</td></tr><tr><th>Stability</th><td>stable</td></tr><tr><th>Maintainer</th><td>sven.panne@aedion.de</td></tr></table><p class="caption">Graphics.UI.GLUT.Fonts</p></div><div id="description"><p class="caption">Description</p><div class="doc"><p>GLUT supports two types of font rendering: stroke fonts, meaning each character is rendered as a set of line segments; and bitmap fonts, where each character is a bitmap generated with <code>Graphics.Rendering.OpenGL.GL.Bitmaps.bitmap</code>. Stroke fonts have the advantage that because they are geometry, they can be arbitrarily scale and rendered. Bitmap fonts are less flexible since they are rendered as bitmaps but are usually faster than stroke fonts. </p></div></div><div id="synopsis"><p id="control.syn" class="caption expander" onclick="toggleSection('syn')">Synopsis</p><ul id="section.syn" class="hide" onclick="toggleSection('syn')"><li class="src short"><span class="keyword">class</span> <a href="#t:Font">Font</a> a <span class="keyword">where</span><ul class="subs"><li><a href="#v:renderString">renderString</a> :: a -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a></li><li><a href="#v:stringWidth">stringWidth</a> :: a -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/OpenGL-2.2.3.0/Graphics-Rendering-OpenGL-GL-BasicTypes.html#t:GLint">GLint</a></li><li><a href="#v:fontHeight">fontHeight</a> :: a -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/OpenGL-2.2.3.0/Graphics-Rendering-OpenGL-GL-BasicTypes.html#t:GLfloat">GLfloat</a></li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:BitmapFont">BitmapFont</a> <ul class="subs"><li>= <a href="#v:Fixed8By13">Fixed8By13</a> </li><li>| <a href="#v:Fixed9By15">Fixed9By15</a> </li><li>| <a href="#v:TimesRoman10">TimesRoman10</a> </li><li>| <a href="#v:TimesRoman24">TimesRoman24</a> </li><li>| <a href="#v:Helvetica10">Helvetica10</a> </li><li>| <a href="#v:Helvetica12">Helvetica12</a> </li><li>| <a href="#v:Helvetica18">Helvetica18</a> </li></ul></li><li class="src short"><span class="keyword">data</span> <a href="#t:StrokeFont">StrokeFont</a> <ul class="subs"><li>= <a href="#v:Roman">Roman</a> </li><li>| <a href="#v:MonoRoman">MonoRoman</a> </li></ul></li></ul></div><div id="interface"><h1>Documentation</h1><div class="top"><p class="src"><span class="keyword">class</span> <a name="t:Font" class="def">Font</a> a <span class="keyword">where</span><a href="src/Graphics-UI-GLUT-Fonts.html#Font" class="link">Source</a></p><div class="subs methods"><p class="caption">Methods</p><p class="src"><a name="v:renderString" class="def">renderString</a> :: a -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html#t:-40--41-">()</a><a href="src/Graphics-UI-GLUT-Fonts.html#renderString" class="link">Source</a></p><div class="doc"><p>Render the string in the named font, without using any display lists. Rendering a nonexistent character has no effect. </p><p>If the font is a bitmap font, <code><a href="Graphics-UI-GLUT-Fonts.html#v:renderString">renderString</a></code> automatically sets the OpenGL unpack pixel storage modes it needs appropriately and saves and restores the previous modes before returning. The generated call to <code>Graphics.Rendering.OpenGL.GL.bitmap</code> will adjust the current raster position based on the width of the string. If the font is a stroke font, <code>Graphics.Rendering.OpenGL.GL.CoordTrans.translate</code> is used to translate the current model view matrix to advance the width of the string. </p></div><p class="src"><a name="v:stringWidth" class="def">stringWidth</a> :: a -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Char.html#t:String">String</a> -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/OpenGL-2.2.3.0/Graphics-Rendering-OpenGL-GL-BasicTypes.html#t:GLint">GLint</a><a href="src/Graphics-UI-GLUT-Fonts.html#stringWidth" class="link">Source</a></p><div class="doc"><p>For a bitmap font, return the width in pixels of a string. For a stroke font, return the width in units. While the width of characters in a font may vary (though fixed width fonts do not vary), the maximum height characteristics of a particular font are fixed. </p></div><p class="src"><a name="v:fontHeight" class="def">fontHeight</a> :: a -> <a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/System-IO.html#t:IO">IO</a> <a href="/usr/share/doc/ghc/html/libraries/OpenGL-2.2.3.0/Graphics-Rendering-OpenGL-GL-BasicTypes.html#t:GLfloat">GLfloat</a><a href="src/Graphics-UI-GLUT-Fonts.html#fontHeight" class="link">Source</a></p><div class="doc"><p>(<em>freeglut only</em>) For a bitmap font, return the maximum height of the characters in the given font measured in pixels. For a stroke font, return the width in units. </p></div></div><div class="subs instances"><p id="control.i:Font" class="caption collapser" onclick="toggleSection('i:Font')">Instances</p><div id="section.i:Font" class="show"><table><tr><td class="src"><a href="Graphics-UI-GLUT-Fonts.html#t:Font">Font</a> <a href="Graphics-UI-GLUT-Fonts.html#t:StrokeFont">StrokeFont</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Graphics-UI-GLUT-Fonts.html#t:Font">Font</a> <a href="Graphics-UI-GLUT-Fonts.html#t:BitmapFont">BitmapFont</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:BitmapFont" class="def">BitmapFont</a> <a href="src/Graphics-UI-GLUT-Fonts.html#BitmapFont" class="link">Source</a></p><div class="doc"><p>The bitmap fonts available in GLUT. The exact bitmap to be used is defined by the standard X glyph bitmaps for the X font with the given name. </p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Fixed8By13" class="def">Fixed8By13</a></td><td class="doc"><p>A fixed width font with every character fitting in an 8 by 13 pixel rectangle. (<code>-misc-fixed-medium-r-normal--13-120-75-75-C-80-iso8859-1</code>) </p></td></tr><tr><td class="src"><a name="v:Fixed9By15" class="def">Fixed9By15</a></td><td class="doc"><p>A fixed width font with every character fitting in an 9 by 15 pixel rectangle. (<code>-misc-fixed-medium-r-normal--15-140-75-75-C-90-iso8859-1</code>) </p></td></tr><tr><td class="src"><a name="v:TimesRoman10" class="def">TimesRoman10</a></td><td class="doc"><p>A 10-point proportional spaced Times Roman font. (<code>-adobe-times-medium-r-normal--10-100-75-75-p-54-iso8859-1</code>) </p></td></tr><tr><td class="src"><a name="v:TimesRoman24" class="def">TimesRoman24</a></td><td class="doc"><p>A 24-point proportional spaced Times Roman font. (<code>-adobe-times-medium-r-normal--24-240-75-75-p-124-iso8859-1</code>) </p></td></tr><tr><td class="src"><a name="v:Helvetica10" class="def">Helvetica10</a></td><td class="doc"><p>A 10-point proportional spaced Helvetica font. (<code>-adobe-helvetica-medium-r-normal--10-100-75-75-p-56-iso8859-1</code>) </p></td></tr><tr><td class="src"><a name="v:Helvetica12" class="def">Helvetica12</a></td><td class="doc"><p>A 12-point proportional spaced Helvetica font. (<code>-adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1</code>) </p></td></tr><tr><td class="src"><a name="v:Helvetica18" class="def">Helvetica18</a></td><td class="doc"><p>A 18-point proportional spaced Helvetica font. (<code>-adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1</code>) </p></td></tr></table></div><div class="subs instances"><p id="control.i:BitmapFont" class="caption collapser" onclick="toggleSection('i:BitmapFont')">Instances</p><div id="section.i:BitmapFont" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-UI-GLUT-Fonts.html#t:BitmapFont">BitmapFont</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Graphics-UI-GLUT-Fonts.html#t:BitmapFont">BitmapFont</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-UI-GLUT-Fonts.html#t:BitmapFont">BitmapFont</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Graphics-UI-GLUT-Fonts.html#t:Font">Font</a> <a href="Graphics-UI-GLUT-Fonts.html#t:BitmapFont">BitmapFont</a></td><td class="doc empty"> </td></tr></table></div></div></div><div class="top"><p class="src"><span class="keyword">data</span> <a name="t:StrokeFont" class="def">StrokeFont</a> <a href="src/Graphics-UI-GLUT-Fonts.html#StrokeFont" class="link">Source</a></p><div class="doc"><p>The stroke fonts available in GLUT. </p></div><div class="subs constructors"><p class="caption">Constructors</p><table><tr><td class="src"><a name="v:Roman" class="def">Roman</a></td><td class="doc"><p>A proportionally spaced Roman Simplex font for ASCII characters 32 through 127. The maximum top character in the font is 119.05 units; the bottom descends 33.33 units. </p></td></tr><tr><td class="src"><a name="v:MonoRoman" class="def">MonoRoman</a></td><td class="doc"><p>A mono-spaced spaced Roman Simplex font (same characters as <code><a href="Graphics-UI-GLUT-Fonts.html#v:Roman">Roman</a></code>) for ASCII characters 32 through 127. The maximum top character in the font is 119.05 units; the bottom descends 33.33 units. Each character is 104.76 units wide. </p></td></tr></table></div><div class="subs instances"><p id="control.i:StrokeFont" class="caption collapser" onclick="toggleSection('i:StrokeFont')">Instances</p><div id="section.i:StrokeFont" class="show"><table><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Eq.html#t:Eq">Eq</a> <a href="Graphics-UI-GLUT-Fonts.html#t:StrokeFont">StrokeFont</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Data-Ord.html#t:Ord">Ord</a> <a href="Graphics-UI-GLUT-Fonts.html#t:StrokeFont">StrokeFont</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="/usr/share/doc/ghc/html/libraries/base-4.3.1.0/Text-Show.html#t:Show">Show</a> <a href="Graphics-UI-GLUT-Fonts.html#t:StrokeFont">StrokeFont</a></td><td class="doc empty"> </td></tr><tr><td class="src"><a href="Graphics-UI-GLUT-Fonts.html#t:Font">Font</a> <a href="Graphics-UI-GLUT-Fonts.html#t:StrokeFont">StrokeFont</a></td><td class="doc empty"> </td></tr></table></div></div></div></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.9.2</p></div></body></html>