Sophie

Sophie

distrib > Mandriva > current > i586 > media > main-updates > by-pkgid > f51238514e2abe817779ad2fe01b0759 > files > 431

icu-doc-4.4-2.1mdv2010.2.i586.rpm

<!-- 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: playout.h File 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&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><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="files.html"><span>File&nbsp;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>playout.h File Reference</h1>
<p>C API for paragraph layout.  
<a href="#_details">More...</a></p>
<code>#include &quot;<a class="el" href="ubidi_8h_source.html">unicode/ubidi.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="LETypes_8h_source.html">layout/LETypes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="plruns_8h_source.html">plruns.h</a>&quot;</code><br/>

<p><a href="playout_8h_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The opaque type for a paragraph layout.  <a href="#a1906d8b1227129a7717a45b98eb47e20"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The opaque type for a line in a paragraph layout.  <a href="#aa0299717d429526413f527ecb3627d82"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The opaque type for a visual run in a line.  <a href="#a82426ed114f524fa6a398faea9901377"></a><br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a4195eb2ddfa32c7219ebaed3d4875122">pl_create</a> (const <a class="el" href="LETypes_8h.html#a903cb689308cdef41500411d096a2c2d">LEUnicode</a> chars[], <a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> count, const <a class="el" href="plruns_8h.html#a79af9ea9fda0905fa7f4c3af58855f97">pl_fontRuns</a> *fontRuns, const <a class="el" href="plruns_8h.html#a23e5c60496775eecf676b3eb19a577a5">pl_valueRuns</a> *levelRuns, const <a class="el" href="plruns_8h.html#a23e5c60496775eecf676b3eb19a577a5">pl_valueRuns</a> *scriptRuns, const <a class="el" href="plruns_8h.html#a22705ccd0260b47ed7c5ee361857bb23">pl_localeRuns</a> *localeRuns, <a class="el" href="ubidi_8h.html#ab2460a19f323ab9787a79a95db91a606">UBiDiLevel</a> paragraphLevel, <a class="el" href="LETypes_8h.html#a4b77bc254d0e88fdabffde9c03e6728f">le_bool</a> vertical, <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> *status)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Construct a <code><a class="el" href="classParagraphLayout.html" title="ParagraphLayout.">ParagraphLayout</a></code> object for a styled paragraph.  <a href="#a4195eb2ddfa32c7219ebaed3d4875122"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a90e50608ad6e47f5a83c1ec0611a025c">pl_close</a> (<a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *paragraph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close the given paragraph layout object.  <a href="#a90e50608ad6e47f5a83c1ec0611a025c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a4b77bc254d0e88fdabffde9c03e6728f">le_bool</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a816f537e2657d704050ff520b87a6d4b">pl_isComplex</a> (const <a class="el" href="LETypes_8h.html#a903cb689308cdef41500411d096a2c2d">LEUnicode</a> chars[], <a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> count)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Examine the given text and determine if it contains characters in any script which requires complex processing to be rendered correctly.  <a href="#a816f537e2657d704050ff520b87a6d4b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="ubidi_8h.html#ab2460a19f323ab9787a79a95db91a606">UBiDiLevel</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a5ee8d68a8f564eff4b8f0bd42fb35d99">pl_getParagraphLevel</a> (<a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *paragraph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the resolved paragraph level.  <a href="#a5ee8d68a8f564eff4b8f0bd42fb35d99"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="ubidi_8h.html#a68a6b5fdcbf80aaa51b5bd39f7f31102">UBiDiDirection</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#add47cbf4a408161d9c7ac2aba113dc0e">pl_getTextDirection</a> (<a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *paragraph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the directionality of the text in the paragraph.  <a href="#add47cbf4a408161d9c7ac2aba113dc0e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a60b7db040812caf999affa47a64c8654">pl_getAscent</a> (const <a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *paragraph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the max ascent value for all the fonts in the paragraph.  <a href="#a60b7db040812caf999affa47a64c8654"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#acb99fd0b7613a1b70ef15607cc17503f">pl_getDescent</a> (const <a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *paragraph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the max descent value for all the fonts in the paragraph.  <a href="#acb99fd0b7613a1b70ef15607cc17503f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#ad29d243c96551da13e46dea7762be767">pl_getLeading</a> (const <a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *paragraph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return the max leading value for all the fonts in the paragraph.  <a href="#ad29d243c96551da13e46dea7762be767"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a89b26f7697f7c793171572c3c27e6097">pl_reflow</a> (<a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *paragraph)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reset line breaking to start from the beginning of the paragraph.  <a href="#a89b26f7697f7c793171572c3c27e6097"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#ab3b43c93c0f7012eb6cc1cfd59fb9f82">pl_nextLine</a> (<a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *paragraph, float width)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Return a <code>pl_line</code> object which represents next line in the paragraph.  <a href="#ab3b43c93c0f7012eb6cc1cfd59fb9f82"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a3853bf7172907c3751025f5c9231ce50">pl_closeLine</a> (<a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *line)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Close the given line object.  <a href="#a3853bf7172907c3751025f5c9231ce50"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#ab04ab230f5a60e45416311deecbe290f">pl_countLineRuns</a> (const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *line)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Count the number of visual runs in the line.  <a href="#ab04ab230f5a60e45416311deecbe290f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#aba43a634d954754c39a394406f491cb1">pl_getLineAscent</a> (const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *line)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the ascent of the line.  <a href="#aba43a634d954754c39a394406f491cb1"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a811e06ac49f814c85e1e46a60a9f8ae2">pl_getLineDescent</a> (const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *line)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the descent of the line.  <a href="#a811e06ac49f814c85e1e46a60a9f8ae2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#aedc3176b255cc9869c53543fe144a600">pl_getLineLeading</a> (const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *line)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the leading of the line.  <a href="#aedc3176b255cc9869c53543fe144a600"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a9a6ed76f934db6f5c4c4576587585300">pl_getLineWidth</a> (const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *line)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the width of the line.  <a href="#a9a6ed76f934db6f5c4c4576587585300"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#ab024a4df5031ed6d0093ae95dc7c898d">pl_getLineVisualRun</a> (const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *line, <a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> runIndex)</td></tr>
<tr><td class="mdescLeft">&nbsp;</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="#ab024a4df5031ed6d0093ae95dc7c898d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const le_font *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#afe16471321543e7bc6a131860226e6be">pl_getVisualRunFont</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the <code>le_font</code> object which represents the font of the visual run.  <a href="#afe16471321543e7bc6a131860226e6be"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="ubidi_8h.html#a68a6b5fdcbf80aaa51b5bd39f7f31102">UBiDiDirection</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#afaa30e93bacb05bfda79cedf07c526e9">pl_getVisualRunDirection</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the direction of the visual run.  <a href="#afaa30e93bacb05bfda79cedf07c526e9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#ac54dfb21ae665198a9b2f07a6f410678">pl_getVisualRunGlyphCount</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the number of glyphs in the visual run.  <a href="#ac54dfb21ae665198a9b2f07a6f410678"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="LETypes_8h.html#ae440e077586bced1a0d1c534643ffc23">LEGlyphID</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a15e2cf7dec87ffa3053b30caef690810">pl_getVisualRunGlyphs</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the glyphs in the visual run.  <a href="#a15e2cf7dec87ffa3053b30caef690810"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const float *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#aa00ee1dc95e46c926932ed9542d7e770">pl_getVisualRunPositions</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the (x, y) positions of the glyphs in the visual run.  <a href="#aa00ee1dc95e46c926932ed9542d7e770"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const <a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#ac37b522b9755fbe1771e90c36cf34946">pl_getVisualRunGlyphToCharMap</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the glyph-to-character map for this visual run.  <a href="#ac37b522b9755fbe1771e90c36cf34946"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a16872ad2ccab8c3f410355b881bb6bbd">pl_getVisualRunAscent</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience method which returns the ascent value for the font associated with this run.  <a href="#a16872ad2ccab8c3f410355b881bb6bbd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a0470a240eec7407d7ee691b67417e89d">pl_getVisualRunDescent</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience method which returns the descent value for the font associated with this run.  <a href="#a0470a240eec7407d7ee691b67417e89d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#af50f9e03efeee3382536ac4a7f73abbe">pl_getVisualRunLeading</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A convenience method which returns the leading value for the font associated with this run.  <a href="#af50f9e03efeee3382536ac4a7f73abbe"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>C API for paragraph layout. </p>
<p>This is a technology preview. The API may change significantly. </p>

<p>Definition in file <a class="el" href="playout_8h_source.html">playout.h</a>.</p>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="aa0299717d429526413f527ecb3627d82"></a><!-- doxytag: member="playout.h::pl_line" ref="aa0299717d429526413f527ecb3627d82" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The opaque type for a line in a paragraph layout. </p>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000434">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

<p>Definition at line <a class="el" href="playout_8h_source.html#l00041">41</a> of file <a class="el" href="playout_8h_source.html">playout.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1906d8b1227129a7717a45b98eb47e20"></a><!-- doxytag: member="playout.h::pl_paragraph" ref="a1906d8b1227129a7717a45b98eb47e20" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void <a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The opaque type for a paragraph layout. </p>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000433">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

<p>Definition at line <a class="el" href="playout_8h_source.html#l00034">34</a> of file <a class="el" href="playout_8h_source.html">playout.h</a>.</p>

</div>
</div>
<a class="anchor" id="a82426ed114f524fa6a398faea9901377"></a><!-- doxytag: member="playout.h::pl_visualRun" ref="a82426ed114f524fa6a398faea9901377" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The opaque type for a visual run in a line. </p>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000435">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

<p>Definition at line <a class="el" href="playout_8h_source.html#l00048">48</a> of file <a class="el" href="playout_8h_source.html">playout.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a90e50608ad6e47f5a83c1ec0611a025c"></a><!-- doxytag: member="playout.h::pl_close" ref="a90e50608ad6e47f5a83c1ec0611a025c" args="(pl_paragraph *paragraph)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pl_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *&nbsp;</td>
          <td class="paramname"> <em>paragraph</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Close the given paragraph layout object. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>paragraph</em>&nbsp;</td><td>the <code>pl_paragraph</code> object to be closed. Once this routine returns the object can no longer be referenced</td></tr>
  </table>
  </dd>
</dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000437">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="a3853bf7172907c3751025f5c9231ce50"></a><!-- doxytag: member="playout.h::pl_closeLine" ref="a3853bf7172907c3751025f5c9231ce50" args="(pl_line *line)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pl_closeLine </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *&nbsp;</td>
          <td class="paramname"> <em>line</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Close the given line object. </p>
<p>Line objects are created by <code>pl_nextLine</code> but it is the client's responsibility to close them by calling this routine.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>line</em>&nbsp;</td><td>the <code>pl_line</code> object to close.</td></tr>
  </table>
  </dd>
</dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000446">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="ab04ab230f5a60e45416311deecbe290f"></a><!-- doxytag: member="playout.h::pl_countLineRuns" ref="ab04ab230f5a60e45416311deecbe290f" args="(const pl_line *line)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> pl_countLineRuns </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *&nbsp;</td>
          <td class="paramname"> <em>line</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Count the number of visual runs 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>line</em>&nbsp;</td><td>the <code>pl_line</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of visual runs.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000447">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="a4195eb2ddfa32c7219ebaed3d4875122"></a><!-- doxytag: member="playout.h::pl_create" ref="a4195eb2ddfa32c7219ebaed3d4875122" args="(const LEUnicode chars[], le_int32 count, const pl_fontRuns *fontRuns, const pl_valueRuns *levelRuns, const pl_valueRuns *scriptRuns, const pl_localeRuns *localeRuns, UBiDiLevel paragraphLevel, le_bool vertical, LEErrorCode *status)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a>* pl_create </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="LETypes_8h.html#a903cb689308cdef41500411d096a2c2d">LEUnicode</a>&nbsp;</td>
          <td class="paramname"> <em>chars</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a>&nbsp;</td>
          <td class="paramname"> <em>count</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="plruns_8h.html#a79af9ea9fda0905fa7f4c3af58855f97">pl_fontRuns</a> *&nbsp;</td>
          <td class="paramname"> <em>fontRuns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="plruns_8h.html#a23e5c60496775eecf676b3eb19a577a5">pl_valueRuns</a> *&nbsp;</td>
          <td class="paramname"> <em>levelRuns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="plruns_8h.html#a23e5c60496775eecf676b3eb19a577a5">pl_valueRuns</a> *&nbsp;</td>
          <td class="paramname"> <em>scriptRuns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="plruns_8h.html#a22705ccd0260b47ed7c5ee361857bb23">pl_localeRuns</a> *&nbsp;</td>
          <td class="paramname"> <em>localeRuns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ubidi_8h.html#ab2460a19f323ab9787a79a95db91a606">UBiDiLevel</a>&nbsp;</td>
          <td class="paramname"> <em>paragraphLevel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="LETypes_8h.html#a4b77bc254d0e88fdabffde9c03e6728f">le_bool</a>&nbsp;</td>
          <td class="paramname"> <em>vertical</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> *&nbsp;</td>
          <td class="paramname"> <em>status</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Construct a <code><a class="el" href="classParagraphLayout.html" title="ParagraphLayout.">ParagraphLayout</a></code> object for a styled paragraph. </p>
<p>The paragraph is specified as runs of text all in the same font. An <code><a class="el" href="classLEFontInstance.html" title="This is a virtual base class that serves as the interface between a LayoutEngine...">LEFontInstance</a></code> object and a limit offset are specified for each font run. The limit offset is the offset of the character immediately after the font run.</p>
<p>Clients can optionally specify directional runs and / or script runs. If these aren't specified they will be computed.</p>
<p>If any errors are encountered during construction, <code>status</code> will be set, and the object will be set to be empty.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>chars</em>&nbsp;</td><td>is an array of the characters in the paragraph</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>is the number of characters in the paragraph.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>fontRuns</em>&nbsp;</td><td>a pointer to a <code>pl_fontRuns</code> object representing the font runs.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>levelRuns</em>&nbsp;</td><td>is a pointer to a <code>pl_valueRuns</code> object representing the directional levels. If this pointer in <code>NULL</code> the levels will be determined by running the Unicde Bidi algorithm.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>scriptRuns</em>&nbsp;</td><td>is a pointer to a <code>pl_valueRuns</code> object representing script runs. If this pointer in <code>NULL</code> the script runs will be determined using the Unicode code points.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>localeRuns</em>&nbsp;</td><td>is a pointer to a <code>pl_localeRuns</code> object representing locale runs. The <code><a class="el" href="classLocale.html" title="A Locale object represents a specific geographical, political, or cultural region...">Locale</a></code> objects are used to determind the language of the text. If this pointer is <code>NULL</code> the default locale will be used for all of the text.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>paragraphLevel</em>&nbsp;</td><td>is the directionality of the paragraph, as in the UBiDi object.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vertical</em>&nbsp;</td><td>is <code>TRUE</code> if the paragraph should be set vertically.</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>status</em>&nbsp;</td><td>will be set to any error code encountered during construction.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a pointer to the newly created <code>pl_paragraph</code> object. The object will remain valid until <code>pl_close</code> is called.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="ubidi_8h.html" title="C API: Bidi algorithm.">ubidi.h</a> </dd>
<dd>
longine.h </dd>
<dd>
<a class="el" href="plruns_8h.html" title="C API for run arrays.">plruns.h</a></dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000436">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="a60b7db040812caf999affa47a64c8654"></a><!-- doxytag: member="playout.h::pl_getAscent" ref="a60b7db040812caf999affa47a64c8654" args="(const pl_paragraph *paragraph)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> pl_getAscent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *&nbsp;</td>
          <td class="paramname"> <em>paragraph</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the max ascent value for all the fonts in the paragraph. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>paragraph</em>&nbsp;</td><td>the <code>pl_paragraph</code></td></tr>
  </table>
  </dd>
</dl>
<p>Return the max ascent value for all the fonts in the paragraph.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>paragraph</em>&nbsp;</td><td>the <code>pl_paragraph</code></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the ascent value.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000441">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="acb99fd0b7613a1b70ef15607cc17503f"></a><!-- doxytag: member="playout.h::pl_getDescent" ref="acb99fd0b7613a1b70ef15607cc17503f" args="(const pl_paragraph *paragraph)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> pl_getDescent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *&nbsp;</td>
          <td class="paramname"> <em>paragraph</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the max descent value for all the fonts in the paragraph. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>paragraph</em>&nbsp;</td><td>the <code>pl_paragraph</code></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the decent value.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000442">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="ad29d243c96551da13e46dea7762be767"></a><!-- doxytag: member="playout.h::pl_getLeading" ref="ad29d243c96551da13e46dea7762be767" args="(const pl_paragraph *paragraph)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> pl_getLeading </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *&nbsp;</td>
          <td class="paramname"> <em>paragraph</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the max leading value for all the fonts in the paragraph. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>paragraph</em>&nbsp;</td><td>the <code>pl_paragraph</code></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the leading value.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000443">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="aba43a634d954754c39a394406f491cb1"></a><!-- doxytag: member="playout.h::pl_getLineAscent" ref="aba43a634d954754c39a394406f491cb1" args="(const pl_line *line)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> pl_getLineAscent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *&nbsp;</td>
          <td class="paramname"> <em>line</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>line</em>&nbsp;</td><td>the <code>pl_line</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the ascent of the line.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000448">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="a811e06ac49f814c85e1e46a60a9f8ae2"></a><!-- doxytag: member="playout.h::pl_getLineDescent" ref="a811e06ac49f814c85e1e46a60a9f8ae2" args="(const pl_line *line)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> pl_getLineDescent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *&nbsp;</td>
          <td class="paramname"> <em>line</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>line</em>&nbsp;</td><td>the <code>pl_line</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the descent of the line.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000449">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="aedc3176b255cc9869c53543fe144a600"></a><!-- doxytag: member="playout.h::pl_getLineLeading" ref="aedc3176b255cc9869c53543fe144a600" args="(const pl_line *line)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> pl_getLineLeading </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *&nbsp;</td>
          <td class="paramname"> <em>line</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>line</em>&nbsp;</td><td>the <code>pl_line</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the leading of the line.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000450">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="ab024a4df5031ed6d0093ae95dc7c898d"></a><!-- doxytag: member="playout.h::pl_getLineVisualRun" ref="ab024a4df5031ed6d0093ae95dc7c898d" args="(const pl_line *line, le_int32 runIndex)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a>* pl_getLineVisualRun </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *&nbsp;</td>
          <td class="paramname"> <em>line</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a>&nbsp;</td>
          <td class="paramname"> <em>runIndex</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></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>line</em>&nbsp;</td><td>the <code>pl_line</code> object. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>runIndex</em>&nbsp;</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>pl_visualRun</code> object representing the visual run. This object is owned by the <code>pl_line</code> object which created it, and will remain valid for as long as the <code>pl_line</code> object is valid.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377" title="The opaque type for a visual run in a line.">pl_visualRun</a></dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000452">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="a9a6ed76f934db6f5c4c4576587585300"></a><!-- doxytag: member="playout.h::pl_getLineWidth" ref="a9a6ed76f934db6f5c4c4576587585300" args="(const pl_line *line)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> pl_getLineWidth </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *&nbsp;</td>
          <td class="paramname"> <em>line</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></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><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>line</em>&nbsp;</td><td>the <code>pl_line</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the width of the line.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000451">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="a5ee8d68a8f564eff4b8f0bd42fb35d99"></a><!-- doxytag: member="playout.h::pl_getParagraphLevel" ref="a5ee8d68a8f564eff4b8f0bd42fb35d99" args="(pl_paragraph *paragraph)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ubidi_8h.html#ab2460a19f323ab9787a79a95db91a606">UBiDiLevel</a> pl_getParagraphLevel </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *&nbsp;</td>
          <td class="paramname"> <em>paragraph</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the resolved paragraph level. </p>
<p>This is useful for those cases where the bidi analysis has determined the level based on the first strong character in the paragraph.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>paragraph</em>&nbsp;</td><td>the <code>pl_paragraph</code></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the resolved paragraph level.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000439">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="add47cbf4a408161d9c7ac2aba113dc0e"></a><!-- doxytag: member="playout.h::pl_getTextDirection" ref="add47cbf4a408161d9c7ac2aba113dc0e" args="(pl_paragraph *paragraph)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ubidi_8h.html#a68a6b5fdcbf80aaa51b5bd39f7f31102">UBiDiDirection</a> pl_getTextDirection </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *&nbsp;</td>
          <td class="paramname"> <em>paragraph</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the directionality of the text in the paragraph. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>paragraph</em>&nbsp;</td><td>the <code>pl_paragraph</code></td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>UBIDI_LTR</code> if the text is all left to right, <code>UBIDI_RTL</code> if the text is all right to left, or <code>UBIDI_MIXED</code> if the text has mixed direction.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000440">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="a16872ad2ccab8c3f410355b881bb6bbd"></a><!-- doxytag: member="playout.h::pl_getVisualRunAscent" ref="a16872ad2ccab8c3f410355b881bb6bbd" args="(const pl_visualRun *run)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> pl_getVisualRunAscent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&nbsp;</td>
          <td class="paramname"> <em>run</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A convenience method which returns the ascent value for the font associated with this run. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>run</em>&nbsp;</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the ascent value of this run's font.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000459">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="a0470a240eec7407d7ee691b67417e89d"></a><!-- doxytag: member="playout.h::pl_getVisualRunDescent" ref="a0470a240eec7407d7ee691b67417e89d" args="(const pl_visualRun *run)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> pl_getVisualRunDescent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&nbsp;</td>
          <td class="paramname"> <em>run</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A convenience method which returns the descent value for the font associated with this run. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>run</em>&nbsp;</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the descent value of this run's font.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000460">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="afaa30e93bacb05bfda79cedf07c526e9"></a><!-- doxytag: member="playout.h::pl_getVisualRunDirection" ref="afaa30e93bacb05bfda79cedf07c526e9" args="(const pl_visualRun *run)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ubidi_8h.html#a68a6b5fdcbf80aaa51b5bd39f7f31102">UBiDiDirection</a> pl_getVisualRunDirection </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&nbsp;</td>
          <td class="paramname"> <em>run</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the direction of the visual run. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>run</em>&nbsp;</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the direction of the run. This will be <code>UBIDI_LTR</code> if the run is left-to-right and <code>UBIDI_RTL</code> if the line is right-to-left.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000454">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="afe16471321543e7bc6a131860226e6be"></a><!-- doxytag: member="playout.h::pl_getVisualRunFont" ref="afe16471321543e7bc6a131860226e6be" args="(const pl_visualRun *run)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const le_font* pl_getVisualRunFont </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&nbsp;</td>
          <td class="paramname"> <em>run</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the <code>le_font</code> object which represents the font of the visual run. </p>
<p>This will always be a non-composite font.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>run</em>&nbsp;</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the <code>le_font</code> object which represents the font of the visual run.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd>le_font</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000453">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="ac54dfb21ae665198a9b2f07a6f410678"></a><!-- doxytag: member="playout.h::pl_getVisualRunGlyphCount" ref="ac54dfb21ae665198a9b2f07a6f410678" args="(const pl_visualRun *run)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> pl_getVisualRunGlyphCount </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&nbsp;</td>
          <td class="paramname"> <em>run</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the number of glyphs in the visual run. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>run</em>&nbsp;</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the number of glyphs.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000455">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="a15e2cf7dec87ffa3053b30caef690810"></a><!-- doxytag: member="playout.h::pl_getVisualRunGlyphs" ref="a15e2cf7dec87ffa3053b30caef690810" args="(const pl_visualRun *run)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="LETypes_8h.html#ae440e077586bced1a0d1c534643ffc23">LEGlyphID</a>* pl_getVisualRunGlyphs </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&nbsp;</td>
          <td class="paramname"> <em>run</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the glyphs in the visual run. </p>
<p>Glyphs with the values <code>0xFFFE</code> and <code>0xFFFF</code> should be ignored.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>run</em>&nbsp;</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the address of the array of glyphs for this visual run. The storage is owned by the <code>pl_visualRun</code> object and must not be deleted. It will remain valid as long as the <code>pl_visualRun</code> object is valid.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000456">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="ac37b522b9755fbe1771e90c36cf34946"></a><!-- doxytag: member="playout.h::pl_getVisualRunGlyphToCharMap" ref="ac37b522b9755fbe1771e90c36cf34946" args="(const pl_visualRun *run)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a>* pl_getVisualRunGlyphToCharMap </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&nbsp;</td>
          <td class="paramname"> <em>run</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the glyph-to-character map for this visual run. </p>
<p>This maps the indices into the glyph array to indices into the character array used to create the paragraph.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>run</em>&nbsp;</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the address of the character-to-glyph map for this visual run. The storage is owned by the <code>pl_visualRun</code> object and must not be deleted. It will remain valid as long as the <code>pl_visualRun</code> object is valid.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000458">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="af50f9e03efeee3382536ac4a7f73abbe"></a><!-- doxytag: member="playout.h::pl_getVisualRunLeading" ref="af50f9e03efeee3382536ac4a7f73abbe" args="(const pl_visualRun *run)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> pl_getVisualRunLeading </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&nbsp;</td>
          <td class="paramname"> <em>run</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>A convenience method which returns the leading value for the font associated with this run. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>run</em>&nbsp;</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the leading value of this run's font.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000461">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="aa00ee1dc95e46c926932ed9542d7e770"></a><!-- doxytag: member="playout.h::pl_getVisualRunPositions" ref="aa00ee1dc95e46c926932ed9542d7e770" args="(const pl_visualRun *run)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const float* pl_getVisualRunPositions </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&nbsp;</td>
          <td class="paramname"> <em>run</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Get the (x, y) positions of the glyphs in the visual run. </p>
<p>To simplify storage management, the x and y positions are stored in a single array with the x positions at even offsets in the array and the corresponding y position in the following odd offset. There is an extra (x, y) pair at the end of the array which represents the advance of the final glyph in the run.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>run</em>&nbsp;</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the address of the array of glyph positions for this visual run. The storage is owned by the <code>pl_visualRun</code> object and must not be deleted. It will remain valid as long as the <code>pl_visualRun</code> object is valid.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000457">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="a816f537e2657d704050ff520b87a6d4b"></a><!-- doxytag: member="playout.h::pl_isComplex" ref="a816f537e2657d704050ff520b87a6d4b" args="(const LEUnicode chars[], le_int32 count)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="LETypes_8h.html#a4b77bc254d0e88fdabffde9c03e6728f">le_bool</a> pl_isComplex </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="LETypes_8h.html#a903cb689308cdef41500411d096a2c2d">LEUnicode</a>&nbsp;</td>
          <td class="paramname"> <em>chars</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a>&nbsp;</td>
          <td class="paramname"> <em>count</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Examine the given text and determine if it contains characters in any script which requires complex processing to be rendered correctly. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>chars</em>&nbsp;</td><td>is an array of the characters in the paragraph</td></tr>
    <tr><td valign="top"></td><td valign="top"><em>count</em>&nbsp;</td><td>is the number of characters in the paragraph.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><code>TRUE</code> if any of the text requires complex processing.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000438">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="ab3b43c93c0f7012eb6cc1cfd59fb9f82"></a><!-- doxytag: member="playout.h::pl_nextLine" ref="ab3b43c93c0f7012eb6cc1cfd59fb9f82" args="(pl_paragraph *paragraph, float width)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a>* pl_nextLine </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *&nbsp;</td>
          <td class="paramname"> <em>paragraph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"> <em>width</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return a <code>pl_line</code> object which represents next line in the paragraph. </p>
<p>The width of the line is specified each time so that it can be varied to support arbitrary paragraph shapes.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>paragraph</em>&nbsp;</td><td>the <code>pl_paragraph</code> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>width</em>&nbsp;</td><td>is the width of the line. If <code>width</code> is less than or equal to zero, a <code><a class="el" href="classParagraphLayout_1_1Line.html" title="This class represents a single line of text in a ParagraphLayout.">ParagraphLayout::Line</a></code> object representing the rest of the paragraph will be returned.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a <code><a class="el" href="classParagraphLayout_1_1Line.html" title="This class represents a single line of text in a ParagraphLayout.">ParagraphLayout::Line</a></code> object which represents the line. The caller is responsible for deleting the object. Returns <code>NULL</code> if there are no more lines in the paragraph.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82" title="The opaque type for a line in a paragraph layout.">pl_line</a></dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000445">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a class="anchor" id="a89b26f7697f7c793171572c3c27e6097"></a><!-- doxytag: member="playout.h::pl_reflow" ref="a89b26f7697f7c793171572c3c27e6097" args="(pl_paragraph *paragraph)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void pl_reflow </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *&nbsp;</td>
          <td class="paramname"> <em>paragraph</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reset line breaking to start from the beginning of the paragraph. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>paragraph</em>&nbsp;</td><td>the <code>pl_paragraph</code></td></tr>
  </table>
  </dd>
</dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000444">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
</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">&nbsp;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&nbsp;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&nbsp;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&nbsp;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&nbsp;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&nbsp;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&nbsp;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&nbsp;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&nbsp;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&nbsp;</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&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>