Sophie

Sophie

distrib > Mageia > 6 > armv5tl > media > core-release > by-pkgid > 3a4e91bde08970529a0aa07935652fe8 > files > 820

icu-doc-58.2-3.mga6.noarch.rpm

<!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"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>ICU 58.2: playout.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ICU 58.2
   &#160;<span id="projectnumber">58.2</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_b2f33c71d4aa5e7af42a1ca61ff5af1b.html">source</a></li><li class="navelem"><a class="el" href="dir_4d3b0a01d7436e8742288fb5e5268bff.html">layoutex</a></li><li class="navelem"><a class="el" href="dir_f221a15f0be525f9fa65d555908da0da.html">layout</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">playout.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>C API for paragraph layout.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="ubidi_8h_source.html">unicode/ubidi.h</a>&quot;</code><br />
<code>#include &quot;layout/LETypes.h&quot;</code><br />
<code>#include &quot;<a class="el" href="plruns_8h_source.html">plruns.h</a>&quot;</code><br />
</div>
<p><a href="playout_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a1906d8b1227129a7717a45b98eb47e20"><td class="memItemLeft" align="right" valign="top">typedef void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a></td></tr>
<tr class="memdesc:a1906d8b1227129a7717a45b98eb47e20"><td class="mdescLeft">&#160;</td><td class="mdescRight">The opaque type for a paragraph layout.  <a href="#a1906d8b1227129a7717a45b98eb47e20">More...</a><br /></td></tr>
<tr class="separator:a1906d8b1227129a7717a45b98eb47e20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0299717d429526413f527ecb3627d82"><td class="memItemLeft" align="right" valign="top">typedef void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a></td></tr>
<tr class="memdesc:aa0299717d429526413f527ecb3627d82"><td class="mdescLeft">&#160;</td><td class="mdescRight">The opaque type for a line in a paragraph layout.  <a href="#aa0299717d429526413f527ecb3627d82">More...</a><br /></td></tr>
<tr class="separator:aa0299717d429526413f527ecb3627d82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82426ed114f524fa6a398faea9901377"><td class="memItemLeft" align="right" valign="top">typedef void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a></td></tr>
<tr class="memdesc:a82426ed114f524fa6a398faea9901377"><td class="mdescLeft">&#160;</td><td class="mdescRight">The opaque type for a visual run in a line.  <a href="#a82426ed114f524fa6a398faea9901377">More...</a><br /></td></tr>
<tr class="separator:a82426ed114f524fa6a398faea9901377"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a4195eb2ddfa32c7219ebaed3d4875122"><td class="memItemLeft" align="right" valign="top"><a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a4195eb2ddfa32c7219ebaed3d4875122">pl_create</a> (const LEUnicode chars[], le_int32 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, le_bool vertical, LEErrorCode *status)</td></tr>
<tr class="memdesc:a4195eb2ddfa32c7219ebaed3d4875122"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a <code>ParagraphLayout</code> object for a styled paragraph.  <a href="#a4195eb2ddfa32c7219ebaed3d4875122">More...</a><br /></td></tr>
<tr class="separator:a4195eb2ddfa32c7219ebaed3d4875122"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90e50608ad6e47f5a83c1ec0611a025c"><td class="memItemLeft" align="right" valign="top">void&#160;</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 class="memdesc:a90e50608ad6e47f5a83c1ec0611a025c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the given paragraph layout object.  <a href="#a90e50608ad6e47f5a83c1ec0611a025c">More...</a><br /></td></tr>
<tr class="separator:a90e50608ad6e47f5a83c1ec0611a025c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a816f537e2657d704050ff520b87a6d4b"><td class="memItemLeft" align="right" valign="top">le_bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a816f537e2657d704050ff520b87a6d4b">pl_isComplex</a> (const LEUnicode chars[], le_int32 count)</td></tr>
<tr class="memdesc:a816f537e2657d704050ff520b87a6d4b"><td class="mdescLeft">&#160;</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">More...</a><br /></td></tr>
<tr class="separator:a816f537e2657d704050ff520b87a6d4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ee8d68a8f564eff4b8f0bd42fb35d99"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ubidi_8h.html#ab2460a19f323ab9787a79a95db91a606">UBiDiLevel</a>&#160;</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 class="memdesc:a5ee8d68a8f564eff4b8f0bd42fb35d99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the resolved paragraph level.  <a href="#a5ee8d68a8f564eff4b8f0bd42fb35d99">More...</a><br /></td></tr>
<tr class="separator:a5ee8d68a8f564eff4b8f0bd42fb35d99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add47cbf4a408161d9c7ac2aba113dc0e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ubidi_8h.html#a68a6b5fdcbf80aaa51b5bd39f7f31102">UBiDiDirection</a>&#160;</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 class="memdesc:add47cbf4a408161d9c7ac2aba113dc0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the directionality of the text in the paragraph.  <a href="#add47cbf4a408161d9c7ac2aba113dc0e">More...</a><br /></td></tr>
<tr class="separator:add47cbf4a408161d9c7ac2aba113dc0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60b7db040812caf999affa47a64c8654"><td class="memItemLeft" align="right" valign="top">le_int32&#160;</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 class="memdesc:a60b7db040812caf999affa47a64c8654"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the max ascent value for all the fonts in the paragraph.  <a href="#a60b7db040812caf999affa47a64c8654">More...</a><br /></td></tr>
<tr class="separator:a60b7db040812caf999affa47a64c8654"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb99fd0b7613a1b70ef15607cc17503f"><td class="memItemLeft" align="right" valign="top">le_int32&#160;</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 class="memdesc:acb99fd0b7613a1b70ef15607cc17503f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the max descent value for all the fonts in the paragraph.  <a href="#acb99fd0b7613a1b70ef15607cc17503f">More...</a><br /></td></tr>
<tr class="separator:acb99fd0b7613a1b70ef15607cc17503f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad29d243c96551da13e46dea7762be767"><td class="memItemLeft" align="right" valign="top">le_int32&#160;</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 class="memdesc:ad29d243c96551da13e46dea7762be767"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the max leading value for all the fonts in the paragraph.  <a href="#ad29d243c96551da13e46dea7762be767">More...</a><br /></td></tr>
<tr class="separator:ad29d243c96551da13e46dea7762be767"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89b26f7697f7c793171572c3c27e6097"><td class="memItemLeft" align="right" valign="top">void&#160;</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 class="memdesc:a89b26f7697f7c793171572c3c27e6097"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset line breaking to start from the beginning of the paragraph.  <a href="#a89b26f7697f7c793171572c3c27e6097">More...</a><br /></td></tr>
<tr class="separator:a89b26f7697f7c793171572c3c27e6097"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab3b43c93c0f7012eb6cc1cfd59fb9f82"><td class="memItemLeft" align="right" valign="top"><a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *&#160;</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 class="memdesc:ab3b43c93c0f7012eb6cc1cfd59fb9f82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a <code>pl_line</code> object which represents next line in the paragraph.  <a href="#ab3b43c93c0f7012eb6cc1cfd59fb9f82">More...</a><br /></td></tr>
<tr class="separator:ab3b43c93c0f7012eb6cc1cfd59fb9f82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3853bf7172907c3751025f5c9231ce50"><td class="memItemLeft" align="right" valign="top">void&#160;</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 class="memdesc:a3853bf7172907c3751025f5c9231ce50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the given line object.  <a href="#a3853bf7172907c3751025f5c9231ce50">More...</a><br /></td></tr>
<tr class="separator:a3853bf7172907c3751025f5c9231ce50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab04ab230f5a60e45416311deecbe290f"><td class="memItemLeft" align="right" valign="top">le_int32&#160;</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 class="memdesc:ab04ab230f5a60e45416311deecbe290f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Count the number of visual runs in the line.  <a href="#ab04ab230f5a60e45416311deecbe290f">More...</a><br /></td></tr>
<tr class="separator:ab04ab230f5a60e45416311deecbe290f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba43a634d954754c39a394406f491cb1"><td class="memItemLeft" align="right" valign="top">le_int32&#160;</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 class="memdesc:aba43a634d954754c39a394406f491cb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the ascent of the line.  <a href="#aba43a634d954754c39a394406f491cb1">More...</a><br /></td></tr>
<tr class="separator:aba43a634d954754c39a394406f491cb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a811e06ac49f814c85e1e46a60a9f8ae2"><td class="memItemLeft" align="right" valign="top">le_int32&#160;</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 class="memdesc:a811e06ac49f814c85e1e46a60a9f8ae2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the descent of the line.  <a href="#a811e06ac49f814c85e1e46a60a9f8ae2">More...</a><br /></td></tr>
<tr class="separator:a811e06ac49f814c85e1e46a60a9f8ae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aedc3176b255cc9869c53543fe144a600"><td class="memItemLeft" align="right" valign="top">le_int32&#160;</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 class="memdesc:aedc3176b255cc9869c53543fe144a600"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the leading of the line.  <a href="#aedc3176b255cc9869c53543fe144a600">More...</a><br /></td></tr>
<tr class="separator:aedc3176b255cc9869c53543fe144a600"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a6ed76f934db6f5c4c4576587585300"><td class="memItemLeft" align="right" valign="top">le_int32&#160;</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 class="memdesc:a9a6ed76f934db6f5c4c4576587585300"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the width of the line.  <a href="#a9a6ed76f934db6f5c4c4576587585300">More...</a><br /></td></tr>
<tr class="separator:a9a6ed76f934db6f5c4c4576587585300"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab024a4df5031ed6d0093ae95dc7c898d"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&#160;</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, le_int32 runIndex)</td></tr>
<tr class="memdesc:ab024a4df5031ed6d0093ae95dc7c898d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a <code>ParagraphLayout::VisualRun</code> object for a given visual run in the line.  <a href="#ab024a4df5031ed6d0093ae95dc7c898d">More...</a><br /></td></tr>
<tr class="separator:ab024a4df5031ed6d0093ae95dc7c898d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe16471321543e7bc6a131860226e6be"><td class="memItemLeft" align="right" valign="top">const le_font *&#160;</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 class="memdesc:afe16471321543e7bc6a131860226e6be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <code>le_font</code> object which represents the font of the visual run.  <a href="#afe16471321543e7bc6a131860226e6be">More...</a><br /></td></tr>
<tr class="separator:afe16471321543e7bc6a131860226e6be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaa30e93bacb05bfda79cedf07c526e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ubidi_8h.html#a68a6b5fdcbf80aaa51b5bd39f7f31102">UBiDiDirection</a>&#160;</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 class="memdesc:afaa30e93bacb05bfda79cedf07c526e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the direction of the visual run.  <a href="#afaa30e93bacb05bfda79cedf07c526e9">More...</a><br /></td></tr>
<tr class="separator:afaa30e93bacb05bfda79cedf07c526e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac54dfb21ae665198a9b2f07a6f410678"><td class="memItemLeft" align="right" valign="top">le_int32&#160;</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 class="memdesc:ac54dfb21ae665198a9b2f07a6f410678"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of glyphs in the visual run.  <a href="#ac54dfb21ae665198a9b2f07a6f410678">More...</a><br /></td></tr>
<tr class="separator:ac54dfb21ae665198a9b2f07a6f410678"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15e2cf7dec87ffa3053b30caef690810"><td class="memItemLeft" align="right" valign="top">const LEGlyphID *&#160;</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 class="memdesc:a15e2cf7dec87ffa3053b30caef690810"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the glyphs in the visual run.  <a href="#a15e2cf7dec87ffa3053b30caef690810">More...</a><br /></td></tr>
<tr class="separator:a15e2cf7dec87ffa3053b30caef690810"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa00ee1dc95e46c926932ed9542d7e770"><td class="memItemLeft" align="right" valign="top">const float *&#160;</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 class="memdesc:aa00ee1dc95e46c926932ed9542d7e770"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the (x, y) positions of the glyphs in the visual run.  <a href="#aa00ee1dc95e46c926932ed9542d7e770">More...</a><br /></td></tr>
<tr class="separator:aa00ee1dc95e46c926932ed9542d7e770"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac37b522b9755fbe1771e90c36cf34946"><td class="memItemLeft" align="right" valign="top">const le_int32 *&#160;</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 class="memdesc:ac37b522b9755fbe1771e90c36cf34946"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the glyph-to-character map for this visual run.  <a href="#ac37b522b9755fbe1771e90c36cf34946">More...</a><br /></td></tr>
<tr class="separator:ac37b522b9755fbe1771e90c36cf34946"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16872ad2ccab8c3f410355b881bb6bbd"><td class="memItemLeft" align="right" valign="top">le_int32&#160;</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 class="memdesc:a16872ad2ccab8c3f410355b881bb6bbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">A convenience method which returns the ascent value for the font associated with this run.  <a href="#a16872ad2ccab8c3f410355b881bb6bbd">More...</a><br /></td></tr>
<tr class="separator:a16872ad2ccab8c3f410355b881bb6bbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0470a240eec7407d7ee691b67417e89d"><td class="memItemLeft" align="right" valign="top">le_int32&#160;</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 class="memdesc:a0470a240eec7407d7ee691b67417e89d"><td class="mdescLeft">&#160;</td><td class="mdescRight">A convenience method which returns the descent value for the font associated with this run.  <a href="#a0470a240eec7407d7ee691b67417e89d">More...</a><br /></td></tr>
<tr class="separator:a0470a240eec7407d7ee691b67417e89d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af50f9e03efeee3382536ac4a7f73abbe"><td class="memItemLeft" align="right" valign="top">le_int32&#160;</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 class="memdesc:af50f9e03efeee3382536ac4a7f73abbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">A convenience method which returns the leading value for the font associated with this run.  <a href="#af50f9e03efeee3382536ac4a7f73abbe">More...</a><br /></td></tr>
<tr class="separator:af50f9e03efeee3382536ac4a7f73abbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><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>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="aa0299717d429526413f527ecb3627d82"></a>
<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#_internal000497">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#l00044">44</a> of file <a class="el" href="playout_8h_source.html">playout.h</a>.</p>

</div>
</div>
<a class="anchor" id="a1906d8b1227129a7717a45b98eb47e20"></a>
<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#_internal000496">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#l00037">37</a> of file <a class="el" href="playout_8h_source.html">playout.h</a>.</p>

</div>
</div>
<a class="anchor" id="a82426ed114f524fa6a398faea9901377"></a>
<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#_internal000498">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#l00051">51</a> of file <a class="el" href="playout_8h_source.html">playout.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a90e50608ad6e47f5a83c1ec0611a025c"></a>
<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> *&#160;</td>
          <td class="paramname"><em>paragraph</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Close the given paragraph layout object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">paragraph</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#_internal000500">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>
<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> *&#160;</td>
          <td class="paramname"><em>line</em></td><td>)</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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">line</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#_internal000509">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>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">le_int32 pl_countLineRuns </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *&#160;</td>
          <td class="paramname"><em>line</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Count the number of visual runs in the line. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">line</td><td>the <code>pl_line</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of visual runs.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000510">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>
<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 LEUnicode&#160;</td>
          <td class="paramname"><em>chars</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">le_int32&#160;</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> *&#160;</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> *&#160;</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> *&#160;</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> *&#160;</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>&#160;</td>
          <td class="paramname"><em>paragraphLevel</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">le_bool&#160;</td>
          <td class="paramname"><em>vertical</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">LEErrorCode *&#160;</td>
          <td class="paramname"><em>status</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Construct a <code>ParagraphLayout</code> object for a styled paragraph. </p>
<p>The paragraph is specified as runs of text all in the same font. An <code>LEFontInstance</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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">chars</td><td>is an array of the characters in the paragraph</td></tr>
    <tr><td class="paramname">count</td><td>is the number of characters in the paragraph.</td></tr>
    <tr><td class="paramname">fontRuns</td><td>a pointer to a <code>pl_fontRuns</code> object representing the font runs.</td></tr>
    <tr><td class="paramname">levelRuns</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 class="paramname">scriptRuns</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 class="paramname">localeRuns</td><td>is a pointer to a <code>pl_localeRuns</code> object representing locale runs. The <code>Locale</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 class="paramname">paragraphLevel</td><td>is the directionality of the paragraph, as in the UBiDi object.</td></tr>
    <tr><td class="paramname">vertical</td><td>is <code>TRUE</code> if the paragraph should be set vertically.</td></tr>
    <tr><td class="paramname">status</td><td>will be set to any error code encountered during construction.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</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="section see"><dt>See also</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#_internal000499">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>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">le_int32 pl_getAscent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *&#160;</td>
          <td class="paramname"><em>paragraph</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the max ascent value for all the fonts in the paragraph. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">paragraph</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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">paragraph</td><td>the <code>pl_paragraph</code></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the ascent value.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000504">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>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">le_int32 pl_getDescent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *&#160;</td>
          <td class="paramname"><em>paragraph</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the max descent value for all the fonts in the paragraph. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">paragraph</td><td>the <code>pl_paragraph</code></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the decent value.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000505">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>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">le_int32 pl_getLeading </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *&#160;</td>
          <td class="paramname"><em>paragraph</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the max leading value for all the fonts in the paragraph. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">paragraph</td><td>the <code>pl_paragraph</code></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the leading value.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000506">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>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">le_int32 pl_getLineAscent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *&#160;</td>
          <td class="paramname"><em>line</em></td><td>)</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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">line</td><td>the <code>pl_line</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the ascent of the line.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000511">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>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">le_int32 pl_getLineDescent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *&#160;</td>
          <td class="paramname"><em>line</em></td><td>)</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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">line</td><td>the <code>pl_line</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the descent of the line.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000512">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>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">le_int32 pl_getLineLeading </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *&#160;</td>
          <td class="paramname"><em>line</em></td><td>)</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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">line</td><td>the <code>pl_line</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the leading of the line.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000513">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>
<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> *&#160;</td>
          <td class="paramname"><em>line</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">le_int32&#160;</td>
          <td class="paramname"><em>runIndex</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get a <code>ParagraphLayout::VisualRun</code> object for a given visual run in the line. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">line</td><td>the <code>pl_line</code> object. </td></tr>
    <tr><td class="paramname">runIndex</td><td>is the index of the run, in visual order.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</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="section see"><dt>See also</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#_internal000515">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>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">le_int32 pl_getLineWidth </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *&#160;</td>
          <td class="paramname"><em>line</em></td><td>)</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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">line</td><td>the <code>pl_line</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the width of the line.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000514">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>
<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> *&#160;</td>
          <td class="paramname"><em>paragraph</em></td><td>)</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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">paragraph</td><td>the <code>pl_paragraph</code></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the resolved paragraph level.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000502">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>
<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> *&#160;</td>
          <td class="paramname"><em>paragraph</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Return the directionality of the text in the paragraph. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">paragraph</td><td>the <code>pl_paragraph</code></td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</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#_internal000503">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>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">le_int32 pl_getVisualRunAscent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&#160;</td>
          <td class="paramname"><em>run</em></td><td>)</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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">run</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the ascent value of this run's font.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000522">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>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">le_int32 pl_getVisualRunDescent </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&#160;</td>
          <td class="paramname"><em>run</em></td><td>)</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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">run</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the descent value of this run's font.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000523">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>
<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> *&#160;</td>
          <td class="paramname"><em>run</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the direction of the visual run. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">run</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</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#_internal000517">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>
<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> *&#160;</td>
          <td class="paramname"><em>run</em></td><td>)</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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">run</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the <code>le_font</code> object which represents the font of the visual run.</dd></dl>
<dl class="section see"><dt>See also</dt><dd>le_font</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000516">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>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">le_int32 pl_getVisualRunGlyphCount </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&#160;</td>
          <td class="paramname"><em>run</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the number of glyphs in the visual run. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">run</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the number of glyphs.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000518">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>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const LEGlyphID* pl_getVisualRunGlyphs </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&#160;</td>
          <td class="paramname"><em>run</em></td><td>)</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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">run</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</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#_internal000519">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>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const le_int32* pl_getVisualRunGlyphToCharMap </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&#160;</td>
          <td class="paramname"><em>run</em></td><td>)</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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">run</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</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#_internal000521">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>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">le_int32 pl_getVisualRunLeading </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *&#160;</td>
          <td class="paramname"><em>run</em></td><td>)</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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">run</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the leading value of this run's font.</dd></dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000524">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>
<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> *&#160;</td>
          <td class="paramname"><em>run</em></td><td>)</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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">run</td><td>the <code>pl_visualRun</code> object.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</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#_internal000520">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>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">le_bool pl_isComplex </td>
          <td>(</td>
          <td class="paramtype">const LEUnicode&#160;</td>
          <td class="paramname"><em>chars</em>[], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">le_int32&#160;</td>
          <td class="paramname"><em>count</em>&#160;</td>
        </tr>
        <tr>
          <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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">chars</td><td>is an array of the characters in the paragraph</td></tr>
    <tr><td class="paramname">count</td><td>is the number of characters in the paragraph.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</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#_internal000501">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>
<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> *&#160;</td>
          <td class="paramname"><em>paragraph</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>width</em>&#160;</td>
        </tr>
        <tr>
          <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 class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">paragraph</td><td>the <code>pl_paragraph</code> </td></tr>
    <tr><td class="paramname">width</td><td>is the width of the line. If <code>width</code> is less than or equal to zero, a <code>ParagraphLayout::Line</code> object representing the rest of the paragraph will be returned.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>a <code>ParagraphLayout::Line</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="section see"><dt>See also</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#_internal000508">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>
<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> *&#160;</td>
          <td class="paramname"><em>paragraph</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reset line breaking to start from the beginning of the paragraph. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">paragraph</td><td>the <code>pl_paragraph</code></td></tr>
  </table>
  </dd>
</dl>
<dl class="internal"><dt><b><a class="el" href="internal.html#_internal000507">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>