HEX
Server: LiteSpeed
System: Linux s3604.bom1.stableserver.net 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: dmstechonline (1480)
PHP: 7.4.33
Disabled: NONE
Upload Files
File: //opt/alt/alt-nodejs24/root/usr/share/doc/alt-nodejs24-libicu-doc/playout_8h.html
<!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.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ICU 77.1: layoutex/layout/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="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.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 77.1
   &#160;<span id="projectnumber">77.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_c8371c4a12a8c778b1d1929f1cadfb90.html">layoutex</a></li><li class="navelem"><a class="el" href="dir_85f13b36d96bf7d19941498801eef432.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:a21467207287e1794a6dad975d600908e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <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#a21467207287e1794a6dad975d600908e">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:a21467207287e1794a6dad975d600908e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a <code>ParagraphLayout</code> object for a styled paragraph.  <a href="#a21467207287e1794a6dad975d600908e">More...</a><br /></td></tr>
<tr class="separator:a21467207287e1794a6dad975d600908e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9425f291ec7156553fac2ac11f474e1f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a9425f291ec7156553fac2ac11f474e1f">pl_close</a> (<a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *paragraph)</td></tr>
<tr class="memdesc:a9425f291ec7156553fac2ac11f474e1f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the given paragraph layout object.  <a href="#a9425f291ec7156553fac2ac11f474e1f">More...</a><br /></td></tr>
<tr class="separator:a9425f291ec7156553fac2ac11f474e1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad00dbb1e887c3204fe4d0dd86e660928"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> le_bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#ad00dbb1e887c3204fe4d0dd86e660928">pl_isComplex</a> (const LEUnicode chars[], le_int32 count)</td></tr>
<tr class="memdesc:ad00dbb1e887c3204fe4d0dd86e660928"><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="#ad00dbb1e887c3204fe4d0dd86e660928">More...</a><br /></td></tr>
<tr class="separator:ad00dbb1e887c3204fe4d0dd86e660928"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae045ee2f9c586163e4e6a6469cb223d4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <a class="el" href="ubidi_8h.html#ab2460a19f323ab9787a79a95db91a606">UBiDiLevel</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#ae045ee2f9c586163e4e6a6469cb223d4">pl_getParagraphLevel</a> (<a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *paragraph)</td></tr>
<tr class="memdesc:ae045ee2f9c586163e4e6a6469cb223d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the resolved paragraph level.  <a href="#ae045ee2f9c586163e4e6a6469cb223d4">More...</a><br /></td></tr>
<tr class="separator:ae045ee2f9c586163e4e6a6469cb223d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8bdb56e643541e8ba8d419341cb3b50"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <a class="el" href="ubidi_8h.html#a68a6b5fdcbf80aaa51b5bd39f7f31102">UBiDiDirection</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#ae8bdb56e643541e8ba8d419341cb3b50">pl_getTextDirection</a> (<a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *paragraph)</td></tr>
<tr class="memdesc:ae8bdb56e643541e8ba8d419341cb3b50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the directionality of the text in the paragraph.  <a href="#ae8bdb56e643541e8ba8d419341cb3b50">More...</a><br /></td></tr>
<tr class="separator:ae8bdb56e643541e8ba8d419341cb3b50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0c14e44a2d839713dbc309d873653e0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> le_int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#ab0c14e44a2d839713dbc309d873653e0">pl_getAscent</a> (const <a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *paragraph)</td></tr>
<tr class="memdesc:ab0c14e44a2d839713dbc309d873653e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the max ascent value for all the fonts in the paragraph.  <a href="#ab0c14e44a2d839713dbc309d873653e0">More...</a><br /></td></tr>
<tr class="separator:ab0c14e44a2d839713dbc309d873653e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad879ccf159a9dd37d2ab59223ca9d66c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> le_int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#ad879ccf159a9dd37d2ab59223ca9d66c">pl_getDescent</a> (const <a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *paragraph)</td></tr>
<tr class="memdesc:ad879ccf159a9dd37d2ab59223ca9d66c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the max descent value for all the fonts in the paragraph.  <a href="#ad879ccf159a9dd37d2ab59223ca9d66c">More...</a><br /></td></tr>
<tr class="separator:ad879ccf159a9dd37d2ab59223ca9d66c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cc04df281f13d0c76ffe94c435e2277"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> le_int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a9cc04df281f13d0c76ffe94c435e2277">pl_getLeading</a> (const <a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *paragraph)</td></tr>
<tr class="memdesc:a9cc04df281f13d0c76ffe94c435e2277"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the max leading value for all the fonts in the paragraph.  <a href="#a9cc04df281f13d0c76ffe94c435e2277">More...</a><br /></td></tr>
<tr class="separator:a9cc04df281f13d0c76ffe94c435e2277"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8ed81ba317216c1e13c1f51c673225b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#af8ed81ba317216c1e13c1f51c673225b">pl_reflow</a> (<a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *paragraph)</td></tr>
<tr class="memdesc:af8ed81ba317216c1e13c1f51c673225b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reset line breaking to start from the beginning of the paragraph.  <a href="#af8ed81ba317216c1e13c1f51c673225b">More...</a><br /></td></tr>
<tr class="separator:af8ed81ba317216c1e13c1f51c673225b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39cd1841b4bbab553b68d705b8b57250"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <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#a39cd1841b4bbab553b68d705b8b57250">pl_nextLine</a> (<a class="el" href="playout_8h.html#a1906d8b1227129a7717a45b98eb47e20">pl_paragraph</a> *paragraph, float width)</td></tr>
<tr class="memdesc:a39cd1841b4bbab553b68d705b8b57250"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a <code>pl_line</code> object which represents next line in the paragraph.  <a href="#a39cd1841b4bbab553b68d705b8b57250">More...</a><br /></td></tr>
<tr class="separator:a39cd1841b4bbab553b68d705b8b57250"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78e6ba335c0e3f7129177736c376b41a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a78e6ba335c0e3f7129177736c376b41a">pl_closeLine</a> (<a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *line)</td></tr>
<tr class="memdesc:a78e6ba335c0e3f7129177736c376b41a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close the given line object.  <a href="#a78e6ba335c0e3f7129177736c376b41a">More...</a><br /></td></tr>
<tr class="separator:a78e6ba335c0e3f7129177736c376b41a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4642bd99b1465232bbfe91ceb1d8cbc3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> le_int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a4642bd99b1465232bbfe91ceb1d8cbc3">pl_countLineRuns</a> (const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *line)</td></tr>
<tr class="memdesc:a4642bd99b1465232bbfe91ceb1d8cbc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Count the number of visual runs in the line.  <a href="#a4642bd99b1465232bbfe91ceb1d8cbc3">More...</a><br /></td></tr>
<tr class="separator:a4642bd99b1465232bbfe91ceb1d8cbc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2caa7e15d4d34e9aeeac9ffaff96b78e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> le_int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a2caa7e15d4d34e9aeeac9ffaff96b78e">pl_getLineAscent</a> (const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *line)</td></tr>
<tr class="memdesc:a2caa7e15d4d34e9aeeac9ffaff96b78e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the ascent of the line.  <a href="#a2caa7e15d4d34e9aeeac9ffaff96b78e">More...</a><br /></td></tr>
<tr class="separator:a2caa7e15d4d34e9aeeac9ffaff96b78e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83f4a05d382402f36bc8e204526ee2a7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> le_int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a83f4a05d382402f36bc8e204526ee2a7">pl_getLineDescent</a> (const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *line)</td></tr>
<tr class="memdesc:a83f4a05d382402f36bc8e204526ee2a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the descent of the line.  <a href="#a83f4a05d382402f36bc8e204526ee2a7">More...</a><br /></td></tr>
<tr class="separator:a83f4a05d382402f36bc8e204526ee2a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0900a2fbafacf4241ab9e28177f7071"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> le_int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#aa0900a2fbafacf4241ab9e28177f7071">pl_getLineLeading</a> (const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *line)</td></tr>
<tr class="memdesc:aa0900a2fbafacf4241ab9e28177f7071"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the leading of the line.  <a href="#aa0900a2fbafacf4241ab9e28177f7071">More...</a><br /></td></tr>
<tr class="separator:aa0900a2fbafacf4241ab9e28177f7071"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7bbda22f9c659f07e680e1af9478b33"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> le_int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#ad7bbda22f9c659f07e680e1af9478b33">pl_getLineWidth</a> (const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *line)</td></tr>
<tr class="memdesc:ad7bbda22f9c659f07e680e1af9478b33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the width of the line.  <a href="#ad7bbda22f9c659f07e680e1af9478b33">More...</a><br /></td></tr>
<tr class="separator:ad7bbda22f9c659f07e680e1af9478b33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a76644cc0088e5c420f87658e979a9d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#a3a76644cc0088e5c420f87658e979a9d">pl_getLineVisualRun</a> (const <a class="el" href="playout_8h.html#aa0299717d429526413f527ecb3627d82">pl_line</a> *line, le_int32 runIndex)</td></tr>
<tr class="memdesc:a3a76644cc0088e5c420f87658e979a9d"><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="#a3a76644cc0088e5c420f87658e979a9d">More...</a><br /></td></tr>
<tr class="separator:a3a76644cc0088e5c420f87658e979a9d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a39693c0bb1ba1827320dd01690242f56"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> const le_font *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a39693c0bb1ba1827320dd01690242f56">pl_getVisualRunFont</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr class="memdesc:a39693c0bb1ba1827320dd01690242f56"><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="#a39693c0bb1ba1827320dd01690242f56">More...</a><br /></td></tr>
<tr class="separator:a39693c0bb1ba1827320dd01690242f56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a46fe4ac8e0726c35fd2a94d489283a7a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <a class="el" href="ubidi_8h.html#a68a6b5fdcbf80aaa51b5bd39f7f31102">UBiDiDirection</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a46fe4ac8e0726c35fd2a94d489283a7a">pl_getVisualRunDirection</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr class="memdesc:a46fe4ac8e0726c35fd2a94d489283a7a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the direction of the visual run.  <a href="#a46fe4ac8e0726c35fd2a94d489283a7a">More...</a><br /></td></tr>
<tr class="separator:a46fe4ac8e0726c35fd2a94d489283a7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7e6b49d6b1a85dc239e25b311187578"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> le_int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#ad7e6b49d6b1a85dc239e25b311187578">pl_getVisualRunGlyphCount</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr class="memdesc:ad7e6b49d6b1a85dc239e25b311187578"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the number of glyphs in the visual run.  <a href="#ad7e6b49d6b1a85dc239e25b311187578">More...</a><br /></td></tr>
<tr class="separator:ad7e6b49d6b1a85dc239e25b311187578"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeea7884e04071af6cde0012d30feff3c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> const LEGlyphID *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#aeea7884e04071af6cde0012d30feff3c">pl_getVisualRunGlyphs</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr class="memdesc:aeea7884e04071af6cde0012d30feff3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the glyphs in the visual run.  <a href="#aeea7884e04071af6cde0012d30feff3c">More...</a><br /></td></tr>
<tr class="separator:aeea7884e04071af6cde0012d30feff3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a144d28739f18a1d4f8f0f74baefc29de"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> const float *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a144d28739f18a1d4f8f0f74baefc29de">pl_getVisualRunPositions</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr class="memdesc:a144d28739f18a1d4f8f0f74baefc29de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the (x, y) positions of the glyphs in the visual run.  <a href="#a144d28739f18a1d4f8f0f74baefc29de">More...</a><br /></td></tr>
<tr class="separator:a144d28739f18a1d4f8f0f74baefc29de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10850ece2695f9f397faa2f11ce7faee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> const le_int32 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a10850ece2695f9f397faa2f11ce7faee">pl_getVisualRunGlyphToCharMap</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr class="memdesc:a10850ece2695f9f397faa2f11ce7faee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the glyph-to-character map for this visual run.  <a href="#a10850ece2695f9f397faa2f11ce7faee">More...</a><br /></td></tr>
<tr class="separator:a10850ece2695f9f397faa2f11ce7faee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8692ca0b110aa9356c365cca59570d7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> le_int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#ab8692ca0b110aa9356c365cca59570d7">pl_getVisualRunAscent</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr class="memdesc:ab8692ca0b110aa9356c365cca59570d7"><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="#ab8692ca0b110aa9356c365cca59570d7">More...</a><br /></td></tr>
<tr class="separator:ab8692ca0b110aa9356c365cca59570d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef26743ac49fdf52358980fc3ebb42d2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> le_int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#aef26743ac49fdf52358980fc3ebb42d2">pl_getVisualRunDescent</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr class="memdesc:aef26743ac49fdf52358980fc3ebb42d2"><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="#aef26743ac49fdf52358980fc3ebb42d2">More...</a><br /></td></tr>
<tr class="separator:aef26743ac49fdf52358980fc3ebb42d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8311aad1e369e8fee9e9166837853476"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> le_int32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="playout_8h.html#a8311aad1e369e8fee9e9166837853476">pl_getVisualRunLeading</a> (const <a class="el" href="playout_8h.html#a82426ed114f524fa6a398faea9901377">pl_visualRun</a> *run)</td></tr>
<tr class="memdesc:a8311aad1e369e8fee9e9166837853476"><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="#a8311aad1e369e8fee9e9166837853476">More...</a><br /></td></tr>
<tr class="separator:a8311aad1e369e8fee9e9166837853476"><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 class="definition">Definition in file <a class="el" href="playout_8h_source.html">playout.h</a>.</p>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a id="aa0299717d429526413f527ecb3627d82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0299717d429526413f527ecb3627d82">&#9670;&nbsp;</a></span>pl_line</h2>

<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#_internal000912">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

<p class="definition">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 id="a1906d8b1227129a7717a45b98eb47e20"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1906d8b1227129a7717a45b98eb47e20">&#9670;&nbsp;</a></span>pl_paragraph</h2>

<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#_internal000911">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

<p class="definition">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 id="a82426ed114f524fa6a398faea9901377"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a82426ed114f524fa6a398faea9901377">&#9670;&nbsp;</a></span>pl_visualRun</h2>

<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#_internal000913">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

<p class="definition">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 id="a9425f291ec7156553fac2ac11f474e1f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9425f291ec7156553fac2ac11f474e1f">&#9670;&nbsp;</a></span>pl_close()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000915">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="a78e6ba335c0e3f7129177736c376b41a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a78e6ba335c0e3f7129177736c376b41a">&#9670;&nbsp;</a></span>pl_closeLine()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000924">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="a4642bd99b1465232bbfe91ceb1d8cbc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4642bd99b1465232bbfe91ceb1d8cbc3">&#9670;&nbsp;</a></span>pl_countLineRuns()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000925">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="a21467207287e1794a6dad975d600908e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a21467207287e1794a6dad975d600908e">&#9670;&nbsp;</a></span>pl_create()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <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 Unicode 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 determine 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#_internal000914">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="ab0c14e44a2d839713dbc309d873653e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0c14e44a2d839713dbc309d873653e0">&#9670;&nbsp;</a></span>pl_getAscent()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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>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#_internal000919">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="ad879ccf159a9dd37d2ab59223ca9d66c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad879ccf159a9dd37d2ab59223ca9d66c">&#9670;&nbsp;</a></span>pl_getDescent()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000920">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="a9cc04df281f13d0c76ffe94c435e2277"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cc04df281f13d0c76ffe94c435e2277">&#9670;&nbsp;</a></span>pl_getLeading()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000921">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="a2caa7e15d4d34e9aeeac9ffaff96b78e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2caa7e15d4d34e9aeeac9ffaff96b78e">&#9670;&nbsp;</a></span>pl_getLineAscent()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000926">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="a83f4a05d382402f36bc8e204526ee2a7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a83f4a05d382402f36bc8e204526ee2a7">&#9670;&nbsp;</a></span>pl_getLineDescent()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000927">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="aa0900a2fbafacf4241ab9e28177f7071"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0900a2fbafacf4241ab9e28177f7071">&#9670;&nbsp;</a></span>pl_getLineLeading()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000928">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="a3a76644cc0088e5c420f87658e979a9d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a76644cc0088e5c420f87658e979a9d">&#9670;&nbsp;</a></span>pl_getLineVisualRun()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000930">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="ad7bbda22f9c659f07e680e1af9478b33"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7bbda22f9c659f07e680e1af9478b33">&#9670;&nbsp;</a></span>pl_getLineWidth()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000929">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="ae045ee2f9c586163e4e6a6469cb223d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae045ee2f9c586163e4e6a6469cb223d4">&#9670;&nbsp;</a></span>pl_getParagraphLevel()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <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#_internal000917">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="ae8bdb56e643541e8ba8d419341cb3b50"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8bdb56e643541e8ba8d419341cb3b50">&#9670;&nbsp;</a></span>pl_getTextDirection()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <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#_internal000918">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="ab8692ca0b110aa9356c365cca59570d7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab8692ca0b110aa9356c365cca59570d7">&#9670;&nbsp;</a></span>pl_getVisualRunAscent()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000937">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="aef26743ac49fdf52358980fc3ebb42d2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef26743ac49fdf52358980fc3ebb42d2">&#9670;&nbsp;</a></span>pl_getVisualRunDescent()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000938">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="a46fe4ac8e0726c35fd2a94d489283a7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a46fe4ac8e0726c35fd2a94d489283a7a">&#9670;&nbsp;</a></span>pl_getVisualRunDirection()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <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#_internal000932">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="a39693c0bb1ba1827320dd01690242f56"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39693c0bb1ba1827320dd01690242f56">&#9670;&nbsp;</a></span>pl_getVisualRunFont()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000931">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="ad7e6b49d6b1a85dc239e25b311187578"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad7e6b49d6b1a85dc239e25b311187578">&#9670;&nbsp;</a></span>pl_getVisualRunGlyphCount()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000933">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="aeea7884e04071af6cde0012d30feff3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeea7884e04071af6cde0012d30feff3c">&#9670;&nbsp;</a></span>pl_getVisualRunGlyphs()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000934">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="a10850ece2695f9f397faa2f11ce7faee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10850ece2695f9f397faa2f11ce7faee">&#9670;&nbsp;</a></span>pl_getVisualRunGlyphToCharMap()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000936">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="a8311aad1e369e8fee9e9166837853476"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8311aad1e369e8fee9e9166837853476">&#9670;&nbsp;</a></span>pl_getVisualRunLeading()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000939">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="a144d28739f18a1d4f8f0f74baefc29de"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a144d28739f18a1d4f8f0f74baefc29de">&#9670;&nbsp;</a></span>pl_getVisualRunPositions()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000935">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="ad00dbb1e887c3204fe4d0dd86e660928"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad00dbb1e887c3204fe4d0dd86e660928">&#9670;&nbsp;</a></span>pl_isComplex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000916">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="a39cd1841b4bbab553b68d705b8b57250"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a39cd1841b4bbab553b68d705b8b57250">&#9670;&nbsp;</a></span>pl_nextLine()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> <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#_internal000923">Internal:</a></b></dt><dd>Do not use. This API is for internal use only. </dd></dl>

</div>
</div>
<a id="af8ed81ba317216c1e13c1f51c673225b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8ed81ba317216c1e13c1f51c673225b">&#9670;&nbsp;</a></span>pl_reflow()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a676114b1a64bb7c2de15c919a00b28df">U_CAPI</a> 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#_internal000922">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.14
</small></address>
</body>
</html>