<!-- This comment will put IE 6, 7 and 8 in quirks mode --> <!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>ICU 4.4: ParagraphLayout::Line Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javaScript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body onload='searchBox.OnSelectItem(0);'> <!-- Generated by Doxygen 1.6.1 --> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search'); --></script> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</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> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <img id="MSearchSelect" src="search/search.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </div> </li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="classes.html"><span>Data Structure Index</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 class="navpath"><a class="el" href="classParagraphLayout.html">ParagraphLayout</a>::<a class="el" href="classParagraphLayout_1_1Line.html">Line</a> </div> </div> <div class="contents"> <h1>ParagraphLayout::Line Class Reference</h1><!-- doxytag: class="ParagraphLayout::Line" --><!-- doxytag: inherits="UObject" --> <p>This class represents a single line of text in a <code><a class="el" href="classParagraphLayout.html" title="ParagraphLayout.">ParagraphLayout</a></code>. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="ParagraphLayout_8h_source.html">ParagraphLayout.h</a>></code></p> <div class="dynheader"> Inheritance diagram for ParagraphLayout::Line:</div> <div class="dynsection"> <div class="center"> <img src="classParagraphLayout_1_1Line.gif" usemap="#ParagraphLayout::Line_map" alt=""/> <map id="ParagraphLayout::Line_map" name="ParagraphLayout::Line_map"> <area href="classUObject.html" alt="UObject" shape="rect" coords="0,56,140,80"/> <area href="classUMemory.html" alt="UMemory" shape="rect" coords="0,0,140,24"/> </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"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classParagraphLayout_1_1Line.html#a0d44cc615972afc6611eae13a05f01e7">~Line</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The constructor is private since these objects can only be created by <code><a class="el" href="classParagraphLayout.html" title="ParagraphLayout.">ParagraphLayout</a></code>. <a href="#a0d44cc615972afc6611eae13a05f01e7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classParagraphLayout_1_1Line.html#a55f4bdd7d980820d736ea0df45139191">countRuns</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Count the number of visual runs in the line. <a href="#a55f4bdd7d980820d736ea0df45139191"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classParagraphLayout_1_1Line.html#a86119a122140231718bbafa299f54e55">getAscent</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the ascent of the line. <a href="#a86119a122140231718bbafa299f54e55"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classParagraphLayout_1_1Line.html#a8bca3a3bacdb387b8c05f7fc747579b9">getDescent</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the descent of the line. <a href="#a8bca3a3bacdb387b8c05f7fc747579b9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classParagraphLayout_1_1Line.html#af98bbe604913aaa8d1d2970a8dccbeb8">getLeading</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the leading of the line. <a href="#af98bbe604913aaa8d1d2970a8dccbeb8"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classParagraphLayout_1_1Line.html#af381d7670302ed8545dcaf511e19a62f">getWidth</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the width of the line. <a href="#af381d7670302ed8545dcaf511e19a62f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classParagraphLayout_1_1VisualRun.html">VisualRun</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classParagraphLayout_1_1Line.html#abe77172dc82899a42186f39cea2e3124">getVisualRun</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> runIndex) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get a <code><a class="el" href="classParagraphLayout_1_1VisualRun.html" title="This object represents a single visual run in a line of text in a paragraph.">ParagraphLayout::VisualRun</a></code> object for a given visual run in the line. <a href="#abe77172dc82899a42186f39cea2e3124"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classParagraphLayout_1_1Line.html#ab85cdebcf42a0b5ddbce39ef9cd964c2">getDynamicClassID</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">ICU "poor man's RTTI", returns a UClassID for the actual class. <a href="#ab85cdebcf42a0b5ddbce39ef9cd964c2"></a><br/></td></tr> <tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classParagraphLayout_1_1Line.html#a7133cf4733116c9200c02941d6ca0b9e">getStaticClassID</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">ICU "poor man's RTTI", returns a UClassID for this class. <a href="#a7133cf4733116c9200c02941d6ca0b9e"></a><br/></td></tr> <tr><td colspan="2"><h2>Friends</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aefa8892424f624336802e05074701eeb"></a><!-- doxytag: member="ParagraphLayout::Line::ParagraphLayout" ref="aefa8892424f624336802e05074701eeb" args="" --> class </td><td class="memItemRight" valign="bottom"><a class="el" href="classParagraphLayout_1_1Line.html#aefa8892424f624336802e05074701eeb">ParagraphLayout</a></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>This class represents a single line of text in a <code><a class="el" href="classParagraphLayout.html" title="ParagraphLayout.">ParagraphLayout</a></code>. </p> <p>They can only be created by calling <code><a class="el" href="classParagraphLayout.html#a232b40ef6d0a565c026bec85890d7b50" title="Return a ParagraphLayout::Line object which represents next line in the paragraph...">ParagraphLayout::nextLine()</a></code>. Each line consists of multiple visual runs, represented by <code><a class="el" href="classParagraphLayout_1_1VisualRun.html" title="This object represents a single visual run in a line of text in a paragraph.">ParagraphLayout::VisualRun</a></code> objects.</p> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classParagraphLayout.html" title="ParagraphLayout.">ParagraphLayout</a> </dd> <dd> <a class="el" href="classParagraphLayout_1_1VisualRun.html" title="This object represents a single visual run in a line of text in a paragraph.">ParagraphLayout::VisualRun</a></dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004148">Stable:</a></b></dt><dd>ICU 3.2 </dd></dl> <p>Definition at line <a class="el" href="ParagraphLayout_8h_source.html#l00060">60</a> of file <a class="el" href="ParagraphLayout_8h_source.html">ParagraphLayout.h</a>.</p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a0d44cc615972afc6611eae13a05f01e7"></a><!-- doxytag: member="ParagraphLayout::Line::~Line" ref="a0d44cc615972afc6611eae13a05f01e7" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">ParagraphLayout::Line::~Line </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>The constructor is private since these objects can only be created by <code><a class="el" href="classParagraphLayout.html" title="ParagraphLayout.">ParagraphLayout</a></code>. </p> <p>However, it is the clients responsibility to destroy the objects, so the destructor is public.</p> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004162">Stable:</a></b></dt><dd>ICU 3.2 </dd></dl> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a55f4bdd7d980820d736ea0df45139191"></a><!-- doxytag: member="ParagraphLayout::Line::countRuns" ref="a55f4bdd7d980820d736ea0df45139191" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> ParagraphLayout::Line::countRuns </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Count the number of visual runs in the line. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>the number of visual runs.</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004163">Stable:</a></b></dt><dd>ICU 3.2 </dd></dl> <p>Definition at line <a class="el" href="ParagraphLayout_8h_source.html#l00665">665</a> of file <a class="el" href="ParagraphLayout_8h_source.html">ParagraphLayout.h</a>.</p> </div> </div> <a class="anchor" id="a86119a122140231718bbafa299f54e55"></a><!-- doxytag: member="ParagraphLayout::Line::getAscent" ref="a86119a122140231718bbafa299f54e55" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> ParagraphLayout::Line::getAscent </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Get the ascent of the line. </p> <p>This is the maximum ascent of all the fonts on the line.</p> <dl class="return"><dt><b>Returns:</b></dt><dd>the ascent of the line.</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004164">Stable:</a></b></dt><dd>ICU 3.2 </dd></dl> </div> </div> <a class="anchor" id="a8bca3a3bacdb387b8c05f7fc747579b9"></a><!-- doxytag: member="ParagraphLayout::Line::getDescent" ref="a8bca3a3bacdb387b8c05f7fc747579b9" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> ParagraphLayout::Line::getDescent </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Get the descent of the line. </p> <p>This is the maximum descent of all the fonts on the line.</p> <dl class="return"><dt><b>Returns:</b></dt><dd>the descent of the line.</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004165">Stable:</a></b></dt><dd>ICU 3.2 </dd></dl> </div> </div> <a class="anchor" id="ab85cdebcf42a0b5ddbce39ef9cd964c2"></a><!-- doxytag: member="ParagraphLayout::Line::getDynamicClassID" ref="ab85cdebcf42a0b5ddbce39ef9cd964c2" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> ParagraphLayout::Line::getDynamicClassID </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>ICU "poor man's RTTI", returns a UClassID for the actual class. </p> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004170">Stable:</a></b></dt><dd>ICU 3.2 </dd></dl> <p>Implements <a class="el" href="classUObject.html#a9b1acc95efd89cb86ec31f2dc947a262">UObject</a>.</p> <p>Definition at line <a class="el" href="ParagraphLayout_8h_source.html#l00152">152</a> of file <a class="el" href="ParagraphLayout_8h_source.html">ParagraphLayout.h</a>.</p> </div> </div> <a class="anchor" id="af98bbe604913aaa8d1d2970a8dccbeb8"></a><!-- doxytag: member="ParagraphLayout::Line::getLeading" ref="af98bbe604913aaa8d1d2970a8dccbeb8" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> ParagraphLayout::Line::getLeading </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Get the leading of the line. </p> <p>This is the maximum leading of all the fonts on the line.</p> <dl class="return"><dt><b>Returns:</b></dt><dd>the leading of the line.</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004166">Stable:</a></b></dt><dd>ICU 3.2 </dd></dl> </div> </div> <a class="anchor" id="a7133cf4733116c9200c02941d6ca0b9e"></a><!-- doxytag: member="ParagraphLayout::Line::getStaticClassID" ref="a7133cf4733116c9200c02941d6ca0b9e" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> ParagraphLayout::Line::getStaticClassID </td> <td>(</td> <td class="paramtype">void </td> <td class="paramname"></td> <td> ) </td> <td><code> [inline, static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>ICU "poor man's RTTI", returns a UClassID for this class. </p> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004169">Stable:</a></b></dt><dd>ICU 3.2 </dd></dl> <p>Definition at line <a class="el" href="ParagraphLayout_8h_source.html#l00145">145</a> of file <a class="el" href="ParagraphLayout_8h_source.html">ParagraphLayout.h</a>.</p> </div> </div> <a class="anchor" id="abe77172dc82899a42186f39cea2e3124"></a><!-- doxytag: member="ParagraphLayout::Line::getVisualRun" ref="abe77172dc82899a42186f39cea2e3124" args="(le_int32 runIndex) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="classParagraphLayout_1_1VisualRun.html">VisualRun</a>* ParagraphLayout::Line::getVisualRun </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>runIndex</em></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Get a <code><a class="el" href="classParagraphLayout_1_1VisualRun.html" title="This object represents a single visual run in a line of text in a paragraph.">ParagraphLayout::VisualRun</a></code> object for a given visual run in the line. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>runIndex</em> </td><td>is the index of the run, in visual order.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the <code><a class="el" href="classParagraphLayout_1_1VisualRun.html" title="This object represents a single visual run in a line of text in a paragraph.">ParagraphLayout::VisualRun</a></code> object representing the visual run. This object is owned by the <code><a class="el" href="classParagraphLayout_1_1Line.html" title="This class represents a single line of text in a ParagraphLayout.">Line</a></code> object which created it, and will remain valid for as long as the <code><a class="el" href="classParagraphLayout_1_1Line.html" title="This class represents a single line of text in a ParagraphLayout.">Line</a></code> object is valid.</dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classParagraphLayout_1_1VisualRun.html" title="This object represents a single visual run in a line of text in a paragraph.">ParagraphLayout::VisualRun</a></dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004168">Stable:</a></b></dt><dd>ICU 3.2 </dd></dl> </div> </div> <a class="anchor" id="af381d7670302ed8545dcaf511e19a62f"></a><!-- doxytag: member="ParagraphLayout::Line::getWidth" ref="af381d7670302ed8545dcaf511e19a62f" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> ParagraphLayout::Line::getWidth </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Get the width of the line. </p> <p>This is a convenience method which returns the last X position of the last visual run in the line.</p> <dl class="return"><dt><b>Returns:</b></dt><dd>the width of the line.</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004167">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="ParagraphLayout_8h_source.html">ParagraphLayout.h</a></li> </ul> </div> <!--- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Defines</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <hr size="1"/><address style="text-align: right;"><small>Generated on 16 Mar 2010 for ICU 4.4 by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> </body> </html>