<!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>FTGL: FTLayout 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.6.2-20100208 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> </div> <div class="contents"> <h1>FTLayout Class Reference</h1><!-- doxytag: class="FTLayout" --> <p><a class="el" href="classFTLayout.html" title="FTLayout is the interface for layout managers that render text.">FTLayout</a> is the interface for layout managers that render text. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="FTLayout_8h_source.html">FTLayout.h</a>></code></p> <div class="dynheader"> Inheritance diagram for FTLayout:</div> <div class="dynsection"> <div class="center"> <img src="classFTLayout.png" usemap="#FTLayout_map" alt=""/> <map id="FTLayout_map" name="FTLayout_map"> <area href="classFTSimpleLayout.html" alt="FTSimpleLayout" shape="rect" coords="0,56,102,80"/> </map> </div> </div> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTLayout.html#aee0787f8975a809261fb49813f0baac4">~FTLayout</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destructor. <a href="#aee0787f8975a809261fb49813f0baac4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classFTBBox.html">FTBBox</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTLayout.html#ae79561f22ee39e69ce27d84b1d47fe2e">BBox</a> (const char *string, const int len=-1, <a class="el" href="classFTPoint.html">FTPoint</a> position=<a class="el" href="classFTPoint.html">FTPoint</a>())=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the bounding box for a formatted string. <a href="#ae79561f22ee39e69ce27d84b1d47fe2e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classFTBBox.html">FTBBox</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTLayout.html#abf64582771a2281d901af1e074535c2a">BBox</a> (const wchar_t *string, const int len=-1, <a class="el" href="classFTPoint.html">FTPoint</a> position=<a class="el" href="classFTPoint.html">FTPoint</a>())=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the bounding box for a formatted string. <a href="#abf64582771a2281d901af1e074535c2a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTLayout.html#a0e18bf877bbfe871e93ec0ebf1437a0f">Render</a> (const char *string, const int len=-1, <a class="el" href="classFTPoint.html">FTPoint</a> position=<a class="el" href="classFTPoint.html">FTPoint</a>(), int renderMode=FTGL::RENDER_ALL)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Render a string of characters. <a href="#a0e18bf877bbfe871e93ec0ebf1437a0f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTLayout.html#a793a7b371c885420d73acc56a667d53a">Render</a> (const wchar_t *string, const int len=-1, <a class="el" href="classFTPoint.html">FTPoint</a> position=<a class="el" href="classFTPoint.html">FTPoint</a>(), int renderMode=FTGL::RENDER_ALL)=0</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Render a string of characters. <a href="#a793a7b371c885420d73acc56a667d53a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual FT_Error </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTLayout.html#a83cf3e7565bf9d9d2aec6d0614d1e6fc">Error</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Queries the Layout for errors. <a href="#a83cf3e7565bf9d9d2aec6d0614d1e6fc"></a><br/></td></tr> <tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTLayout.html#a7b51099482c3f3171337915d42c9cd2b">FTLayout</a> ()</td></tr> <tr><td colspan="2"><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="classFTLayout.html#ae27eaa779922d14c8eb0f476456c7099">FTSimpleLayout</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p><a class="el" href="classFTLayout.html" title="FTLayout is the interface for layout managers that render text.">FTLayout</a> is the interface for layout managers that render text. </p> <p>Specific layout manager classes are derived from this class. This class is abstract and deriving classes must implement the protected <code>Render</code> methods to render formatted text and <code>BBox</code> methods to determine the bounding box of output text.</p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classFTFont.html" title="FTFont is the public interface for the FTGL library.">FTFont</a> </dd> <dd> <a class="el" href="classFTBBox.html" title="FTBBox is a convenience class for handling bounding boxes.">FTBBox</a> </dd></dl> <p>Definition at line <a class="el" href="FTLayout_8h_source.html#l00052">52</a> of file <a class="el" href="FTLayout_8h_source.html">FTLayout.h</a>.</p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a7b51099482c3f3171337915d42c9cd2b"></a><!-- doxytag: member="FTLayout::FTLayout" ref="a7b51099482c3f3171337915d42c9cd2b" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">FTLayout::FTLayout </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [protected]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <a class="anchor" id="aee0787f8975a809261fb49813f0baac4"></a><!-- doxytag: member="FTLayout::~FTLayout" ref="aee0787f8975a809261fb49813f0baac4" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual FTLayout::~FTLayout </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Destructor. </p> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="abf64582771a2281d901af1e074535c2a"></a><!-- doxytag: member="FTLayout::BBox" ref="abf64582771a2281d901af1e074535c2a" args="(const wchar_t *string, const int len=-1, FTPoint position=FTPoint())=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classFTBBox.html">FTBBox</a> FTLayout::BBox </td> <td>(</td> <td class="paramtype">const wchar_t * </td> <td class="paramname"> <em>string</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int </td> <td class="paramname"> <em>len</em> = <code>-1</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classFTPoint.html">FTPoint</a> </td> <td class="paramname"> <em>position</em> = <code><a class="el" href="classFTPoint.html">FTPoint</a>()</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the bounding box for a formatted string. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td>A wchar_t string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>The length of the string. If < 0 then all characters will be checked until a null character is encountered (optional). </td></tr> <tr><td valign="top"></td><td valign="top"><em>position</em> </td><td>The pen position of the first character (optional). </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>The corresponding bounding box. </dd></dl> <p>Implemented in <a class="el" href="classFTSimpleLayout.html#afdec41319af9fbeec0316e38d0661107">FTSimpleLayout</a>.</p> </div> </div> <a class="anchor" id="ae79561f22ee39e69ce27d84b1d47fe2e"></a><!-- doxytag: member="FTLayout::BBox" ref="ae79561f22ee39e69ce27d84b1d47fe2e" args="(const char *string, const int len=-1, FTPoint position=FTPoint())=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="classFTBBox.html">FTBBox</a> FTLayout::BBox </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>string</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int </td> <td class="paramname"> <em>len</em> = <code>-1</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classFTPoint.html">FTPoint</a> </td> <td class="paramname"> <em>position</em> = <code><a class="el" href="classFTPoint.html">FTPoint</a>()</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Get the bounding box for a formatted string. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td>A char string. </td></tr> <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>The length of the string. If < 0 then all characters will be checked until a null character is encountered (optional). </td></tr> <tr><td valign="top"></td><td valign="top"><em>position</em> </td><td>The pen position of the first character (optional). </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>The corresponding bounding box. </dd></dl> <p>Implemented in <a class="el" href="classFTSimpleLayout.html#a132c938c66912fe0b2360152349f887c">FTSimpleLayout</a>.</p> </div> </div> <a class="anchor" id="a83cf3e7565bf9d9d2aec6d0614d1e6fc"></a><!-- doxytag: member="FTLayout::Error" ref="a83cf3e7565bf9d9d2aec6d0614d1e6fc" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual FT_Error FTLayout::Error </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Queries the Layout for errors. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>The current error code. </dd></dl> </div> </div> <a class="anchor" id="a793a7b371c885420d73acc56a667d53a"></a><!-- doxytag: member="FTLayout::Render" ref="a793a7b371c885420d73acc56a667d53a" args="(const wchar_t *string, const int len=-1, FTPoint position=FTPoint(), int renderMode=FTGL::RENDER_ALL)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void FTLayout::Render </td> <td>(</td> <td class="paramtype">const wchar_t * </td> <td class="paramname"> <em>string</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int </td> <td class="paramname"> <em>len</em> = <code>-1</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classFTPoint.html">FTPoint</a> </td> <td class="paramname"> <em>position</em> = <code><a class="el" href="classFTPoint.html">FTPoint</a>()</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>renderMode</em> = <code>FTGL::RENDER_ALL</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Render a string of characters. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td>wchar_t string to be output. </td></tr> <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>The length of the string. If < 0 then all characters will be displayed until a null character is encountered (optional). </td></tr> <tr><td valign="top"></td><td valign="top"><em>position</em> </td><td>The pen position of the first character (optional). </td></tr> <tr><td valign="top"></td><td valign="top"><em>renderMode</em> </td><td>Render mode to display (optional) </td></tr> </table> </dd> </dl> <p>Implemented in <a class="el" href="classFTSimpleLayout.html#aeea681385258bf9cd20c355555c9dbaf">FTSimpleLayout</a>.</p> </div> </div> <a class="anchor" id="a0e18bf877bbfe871e93ec0ebf1437a0f"></a><!-- doxytag: member="FTLayout::Render" ref="a0e18bf877bbfe871e93ec0ebf1437a0f" args="(const char *string, const int len=-1, FTPoint position=FTPoint(), int renderMode=FTGL::RENDER_ALL)=0" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void FTLayout::Render </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"> <em>string</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const int </td> <td class="paramname"> <em>len</em> = <code>-1</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="classFTPoint.html">FTPoint</a> </td> <td class="paramname"> <em>position</em> = <code><a class="el" href="classFTPoint.html">FTPoint</a>()</code>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"> <em>renderMode</em> = <code>FTGL::RENDER_ALL</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [pure virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Render a string of characters. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td>'C' style string to be output. </td></tr> <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>The length of the string. If < 0 then all characters will be displayed until a null character is encountered (optional). </td></tr> <tr><td valign="top"></td><td valign="top"><em>position</em> </td><td>The pen position of the first character (optional). </td></tr> <tr><td valign="top"></td><td valign="top"><em>renderMode</em> </td><td>Render mode to display (optional) </td></tr> </table> </dd> </dl> <p>Implemented in <a class="el" href="classFTSimpleLayout.html#afc122918b71e571155ca714eeb5c4888">FTSimpleLayout</a>.</p> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="ae27eaa779922d14c8eb0f476456c7099"></a><!-- doxytag: member="FTLayout::FTSimpleLayout" ref="ae27eaa779922d14c8eb0f476456c7099" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">friend class <a class="el" href="classFTSimpleLayout.html">FTSimpleLayout</a><code> [friend]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Definition at line <a class="el" href="FTLayout_8h_source.html#l00067">67</a> of file <a class="el" href="FTLayout_8h_source.html">FTLayout.h</a>.</p> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="FTLayout_8h_source.html">FTLayout.h</a></li> </ul> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address> </body> </html>