<!-- This comment will put IE 6, 7 and 8 in quirks mode --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>ICU 4.4.1: LEGlyphStorage Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javaScript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body onload='searchBox.OnSelectItem(0);'> <!-- Generated by Doxygen 1.6.2-20100208 --> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search'); --></script> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li> <div id="MSearchBox" class="MSearchBoxInactive"> <img id="MSearchSelect" src="search/search.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </div> </li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="classes.html"><span>Data Structure Index</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> </div> <div class="contents"> <h1>LEGlyphStorage Class Reference</h1><!-- doxytag: class="LEGlyphStorage" --><!-- doxytag: inherits="UObject" --> <p>This class encapsulates the per-glyph storage used by the ICU <a class="el" href="classLayoutEngine.html" title="This is a virtual base class used to do complex text layout.">LayoutEngine</a>. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="LEGlyphStorage_8h_source.html">LEGlyphStorage.h</a>></code></p> <div class="dynheader"> Inheritance diagram for LEGlyphStorage:</div> <div class="dynsection"> <div class="center"> <img src="classLEGlyphStorage.png" usemap="#LEGlyphStorage_map" alt=""/> <map id="LEGlyphStorage_map" name="LEGlyphStorage_map"> <area href="classUObject.html" alt="UObject" shape="rect" coords="0,56,104,80"/> <area href="classUMemory.html" alt="UMemory" shape="rect" coords="0,0,104,24"/> </map> </div> </div> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a9abbaf74759172ef88462954716b7e48">LEGlyphStorage</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Allocates an empty <code><a class="el" href="classLEGlyphStorage.html" title="This class encapsulates the per-glyph storage used by the ICU LayoutEngine.">LEGlyphStorage</a></code> object. <a href="#a9abbaf74759172ef88462954716b7e48"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a0179b30b5d17a3cd4fb0d3bcd961532f">~LEGlyphStorage</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">The destructor. <a href="#a0179b30b5d17a3cd4fb0d3bcd961532f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a149978b4c111189906c54b219b5c27a9">getGlyphCount</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method returns the number of glyphs in the glyph array. <a href="#a149978b4c111189906c54b219b5c27a9"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a1e5ae09ec1390e13a40d7bcc7cffbf06">getGlyphs</a> (<a class="el" href="LETypes_8h.html#ae440e077586bced1a0d1c534643ffc23">LEGlyphID</a> glyphs[], <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method copies the glyph array into a caller supplied array. <a href="#a1e5ae09ec1390e13a40d7bcc7cffbf06"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#adce84973eae7497bcaeac05862c08eec">getGlyphs</a> (<a class="el" href="LETypes_8h.html#a8ed46f4fc717cf0a94de62efe109ecae">le_uint32</a> glyphs[], <a class="el" href="LETypes_8h.html#a8ed46f4fc717cf0a94de62efe109ecae">le_uint32</a> extraBits, <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method copies the glyph array into a caller supplied array, ORing in extra bits. <a href="#adce84973eae7497bcaeac05862c08eec"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#aba6259eb3b8b8e8dccf8d16fc7336aa5">getCharIndices</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> charIndices[], <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method copies the character index array into a caller supplied array. <a href="#aba6259eb3b8b8e8dccf8d16fc7336aa5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#ae0044f33492ad7f6bcdebb91a4c3d908">getCharIndices</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> charIndices[], <a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> indexBase, <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method copies the character index array into a caller supplied array. <a href="#ae0044f33492ad7f6bcdebb91a4c3d908"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a17526069763f7836fe7ad0c4246bb923">getGlyphPositions</a> (float positions[], <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method copies the position array into a caller supplied array. <a href="#a17526069763f7836fe7ad0c4246bb923"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#ab1cded5c7ebd310d0a8e37b1b6f3401b">getGlyphPosition</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> glyphIndex, float &x, float &y, <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method returns the X and Y position of the glyph at the given index. <a href="#ab1cded5c7ebd310d0a8e37b1b6f3401b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#ac589c2a2f5f6a3660f2f2d823045093a">allocateGlyphArray</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> initialGlyphCount, <a class="el" href="LETypes_8h.html#a4b77bc254d0e88fdabffde9c03e6728f">le_bool</a> rightToLeft, <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method allocates the glyph array, the char indices array and the insertion list. <a href="#ac589c2a2f5f6a3660f2f2d823045093a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a8a7e2d2252e3ee78591129d6d693a7d4">allocatePositions</a> (<a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method allocates the storage for the glyph positions. <a href="#a8a7e2d2252e3ee78591129d6d693a7d4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a88dec0a3461a06947f8bbdf86802d9c7">allocateAuxData</a> (<a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method allocates the storage for the auxillary glyph data. <a href="#a88dec0a3461a06947f8bbdf86802d9c7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a900f0284f9540fa7c3996695f25bb303">getAuxData</a> (<a class="el" href="LETypes_8h.html#a8ed46f4fc717cf0a94de62efe109ecae">le_uint32</a> auxData[], <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Copy the entire auxillary data array. <a href="#a900f0284f9540fa7c3996695f25bb303"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#ae440e077586bced1a0d1c534643ffc23">LEGlyphID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a389a5929b3753e64c692dae10fc4010c">getGlyphID</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> glyphIndex, <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the glyph ID for a particular glyph. <a href="#a389a5929b3753e64c692dae10fc4010c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#adf983299c3852f0ad5869fb2b55016de">getCharIndex</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> glyphIndex, <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the char index for a particular glyph. <a href="#adf983299c3852f0ad5869fb2b55016de"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a8ed46f4fc717cf0a94de62efe109ecae">le_uint32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#accb3fb243b19c89618b7854a49d44f42">getAuxData</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> glyphIndex, <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get the auxillary data for a particular glyph. <a href="#accb3fb243b19c89618b7854a49d44f42"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#ae440e077586bced1a0d1c534643ffc23">LEGlyphID</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#ac0e5610aa6a206923ce6a39eac582649">operator[]</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> glyphIndex) const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This operator allows direct access to the glyph array using the index operator. <a href="#ac0e5610aa6a206923ce6a39eac582649"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#ae440e077586bced1a0d1c534643ffc23">LEGlyphID</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a1bca6ea2d4656e06da7c665db2b1ef07">insertGlyphs</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> atIndex, <a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> insertCount, <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Call this method to replace a single glyph in the glyph array with multiple glyphs. <a href="#a1bca6ea2d4656e06da7c665db2b1ef07"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#ae440e077586bced1a0d1c534643ffc23">LEGlyphID</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a23c343f6b4aff992f1740f9119b9e9f5">insertGlyphs</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> atIndex, <a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> insertCount)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Call this method to replace a single glyph in the glyph array with multiple glyphs. <a href="#a23c343f6b4aff992f1740f9119b9e9f5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#ae179e8dd1aa2e38d97ccccb04d6ebc5b">moveGlyph</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> fromPosition, <a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> toPosition, <a class="el" href="LETypes_8h.html#a8ed46f4fc717cf0a94de62efe109ecae">le_uint32</a> marker)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method is used to reposition glyphs during Indic v2 processing. <a href="#ae179e8dd1aa2e38d97ccccb04d6ebc5b"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a2057b358faed98cddea96fd6c2a23a81">applyInsertions</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method causes all of the glyph insertions recorded by <code>insertGlyphs</code> to be applied to the glyph array. <a href="#a2057b358faed98cddea96fd6c2a23a81"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#acb0474cecfae8396fd3daab936187d88">setGlyphID</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> glyphIndex, <a class="el" href="LETypes_8h.html#ae440e077586bced1a0d1c534643ffc23">LEGlyphID</a> glyphID, <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the glyph ID for a particular glyph. <a href="#acb0474cecfae8396fd3daab936187d88"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a59a83e8b7610c754943460a5f112b4b6">setCharIndex</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> glyphIndex, <a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> charIndex, <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the char index for a particular glyph. <a href="#a59a83e8b7610c754943460a5f112b4b6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#acf5f875b9c036cab4012a2d9bdc993df">setPosition</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> glyphIndex, float x, float y, <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the X, Y position for a particular glyph. <a href="#acf5f875b9c036cab4012a2d9bdc993df"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a3ce76f642547f327959b0a06fda3e38c">adjustPosition</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> glyphIndex, float xAdjust, float yAdjust, <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Adjust the X, Y position for a particular glyph. <a href="#a3ce76f642547f327959b0a06fda3e38c"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a43ee6fc4448bcab1e4e5eabfa7d2d7cb">setAuxData</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> glyphIndex, <a class="el" href="LETypes_8h.html#a8ed46f4fc717cf0a94de62efe109ecae">le_uint32</a> auxData, <a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> &success)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set the auxillary data for a particular glyph. <a href="#a43ee6fc4448bcab1e4e5eabfa7d2d7cb"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a478f13f3df662dc267c09cb8bfb437c5">adoptGlyphArray</a> (<a class="el" href="classLEGlyphStorage.html">LEGlyphStorage</a> &from)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Delete the glyph array and replace it with the one in <code>from</code>. <a href="#a478f13f3df662dc267c09cb8bfb437c5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#afbe13e52ef7af180ad57b02f0c8caa52">adoptCharIndicesArray</a> (<a class="el" href="classLEGlyphStorage.html">LEGlyphStorage</a> &from)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Delete the char indices array and replace it with the one in <code>from</code>. <a href="#afbe13e52ef7af180ad57b02f0c8caa52"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a30eb6eaf638ad4500089fc8918e78b82">adoptPositionArray</a> (<a class="el" href="classLEGlyphStorage.html">LEGlyphStorage</a> &from)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Delete the position array and replace it with the one in <code>from</code>. <a href="#a30eb6eaf638ad4500089fc8918e78b82"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a2bc75f96d51a70ef17138fe2e8931ae7">adoptAuxDataArray</a> (<a class="el" href="classLEGlyphStorage.html">LEGlyphStorage</a> &from)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Delete the auxillary data array and replace it with the one in <code>from</code>. <a href="#a2bc75f96d51a70ef17138fe2e8931ae7"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a1b4b92dd6b41fe5b170702518999b61e">adoptGlyphCount</a> (<a class="el" href="classLEGlyphStorage.html">LEGlyphStorage</a> &from)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Change the glyph count of this object to be the same as the one in <code>from</code>. <a href="#a1b4b92dd6b41fe5b170702518999b61e"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a7bc9c15dcfb6458c091b4eb54858a40f">adoptGlyphCount</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> newGlyphCount)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Change the glyph count of this object to the given value. <a href="#a7bc9c15dcfb6458c091b4eb54858a40f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a01c89341c00c6525b74c6a2bafe24e89">reset</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This method frees the glyph, character index, position and auxillary data arrays so that the <a class="el" href="classLayoutEngine.html" title="This is a virtual base class used to do complex text layout.">LayoutEngine</a> can be reused to layout a different characer array. <a href="#a01c89341c00c6525b74c6a2bafe24e89"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a3ecc2a752d6767d06abd3f7da826b3db">getDynamicClassID</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">ICU "poor man's RTTI", returns a UClassID for the actual class. <a href="#a3ecc2a752d6767d06abd3f7da826b3db"></a><br/></td></tr> <tr><td colspan="2"><h2>Static Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">static <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a3db494186bb6aecc02a4f33ce76f63f9">getStaticClassID</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">ICU "poor man's RTTI", returns a UClassID for this class. <a href="#a3db494186bb6aecc02a4f33ce76f63f9"></a><br/></td></tr> <tr><td colspan="2"><h2>Protected Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="LETypes_8h.html#a4b77bc254d0e88fdabffde9c03e6728f">le_bool</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classLEGlyphStorage.html#a5f3390d6a69d237d6fd723a0f781f400">applyInsertion</a> (<a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> atPosition, <a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> count, <a class="el" href="LETypes_8h.html#ae440e077586bced1a0d1c534643ffc23">LEGlyphID</a> newGlyphs[])</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This implements <code>LEInsertionCallback</code>. <a href="#a5f3390d6a69d237d6fd723a0f781f400"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>This class encapsulates the per-glyph storage used by the ICU <a class="el" href="classLayoutEngine.html" title="This is a virtual base class used to do complex text layout.">LayoutEngine</a>. </p> <p>For each glyph it holds the glyph ID, the index of the backing store character which produced the glyph, the X and Y position of the glyph and an auxillary data pointer.</p> <p>The storage is growable using the <code>LEInsertionList</code> class.</p> <dl class="see"><dt><b>See also:</b></dt><dd>LEInsertionList.h</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004045">Stable:</a></b></dt><dd>ICU 3.6 </dd></dl> <p>Definition at line <a class="el" href="LEGlyphStorage_8h_source.html#l00034">34</a> of file <a class="el" href="LEGlyphStorage_8h_source.html">LEGlyphStorage.h</a>.</p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a9abbaf74759172ef88462954716b7e48"></a><!-- doxytag: member="LEGlyphStorage::LEGlyphStorage" ref="a9abbaf74759172ef88462954716b7e48" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">LEGlyphStorage::LEGlyphStorage </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Allocates an empty <code><a class="el" href="classLEGlyphStorage.html" title="This class encapsulates the per-glyph storage used by the ICU LayoutEngine.">LEGlyphStorage</a></code> object. </p> <p>You must call <code>allocateGlyphArray, allocatePositions and allocateAuxData</code> to allocate the data.</p> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004047">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a0179b30b5d17a3cd4fb0d3bcd961532f"></a><!-- doxytag: member="LEGlyphStorage::~LEGlyphStorage" ref="a0179b30b5d17a3cd4fb0d3bcd961532f" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">LEGlyphStorage::~LEGlyphStorage </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>The destructor. </p> <p>This will deallocate all of the arrays.</p> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004048">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="a3ce76f642547f327959b0a06fda3e38c"></a><!-- doxytag: member="LEGlyphStorage::adjustPosition" ref="a3ce76f642547f327959b0a06fda3e38c" args="(le_int32 glyphIndex, float xAdjust, float yAdjust, LEErrorCode &success)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::adjustPosition </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>glyphIndex</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>xAdjust</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>yAdjust</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Adjust the X, Y position for a particular glyph. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyphIndex</em> </td><td>the index of the glyph </td></tr> <tr><td valign="top"></td><td valign="top"><em>xAdjust</em> </td><td>the adjustment to the glyph's X position </td></tr> <tr><td valign="top"></td><td valign="top"><em>yAdjust</em> </td><td>the adjustment to the glyph's Y position </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>will be set to an error code if the glyph's position cannot be adjusted.</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004071">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a2bc75f96d51a70ef17138fe2e8931ae7"></a><!-- doxytag: member="LEGlyphStorage::adoptAuxDataArray" ref="a2bc75f96d51a70ef17138fe2e8931ae7" args="(LEGlyphStorage &from)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::adoptAuxDataArray </td> <td>(</td> <td class="paramtype"><a class="el" href="classLEGlyphStorage.html">LEGlyphStorage</a> & </td> <td class="paramname"> <em>from</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Delete the auxillary data array and replace it with the one in <code>from</code>. </p> <p>Set the auxillary data array pointer in <code>from</code> to <code>NULL</code>.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>from</em> </td><td>the <code><a class="el" href="classLEGlyphStorage.html" title="This class encapsulates the per-glyph storage used by the ICU LayoutEngine.">LEGlyphStorage</a></code> object from which to get the new auxillary data array.</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004076">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="afbe13e52ef7af180ad57b02f0c8caa52"></a><!-- doxytag: member="LEGlyphStorage::adoptCharIndicesArray" ref="afbe13e52ef7af180ad57b02f0c8caa52" args="(LEGlyphStorage &from)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::adoptCharIndicesArray </td> <td>(</td> <td class="paramtype"><a class="el" href="classLEGlyphStorage.html">LEGlyphStorage</a> & </td> <td class="paramname"> <em>from</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Delete the char indices array and replace it with the one in <code>from</code>. </p> <p>Set the char indices array pointer in <code>from</code> to <code>NULL</code>.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>from</em> </td><td>the <code><a class="el" href="classLEGlyphStorage.html" title="This class encapsulates the per-glyph storage used by the ICU LayoutEngine.">LEGlyphStorage</a></code> object from which to get the new char indices array.</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004074">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a478f13f3df662dc267c09cb8bfb437c5"></a><!-- doxytag: member="LEGlyphStorage::adoptGlyphArray" ref="a478f13f3df662dc267c09cb8bfb437c5" args="(LEGlyphStorage &from)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::adoptGlyphArray </td> <td>(</td> <td class="paramtype"><a class="el" href="classLEGlyphStorage.html">LEGlyphStorage</a> & </td> <td class="paramname"> <em>from</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Delete the glyph array and replace it with the one in <code>from</code>. </p> <p>Set the glyph array pointer in <code>from</code> to <code>NULL</code>.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>from</em> </td><td>the <code><a class="el" href="classLEGlyphStorage.html" title="This class encapsulates the per-glyph storage used by the ICU LayoutEngine.">LEGlyphStorage</a></code> object from which to get the new glyph array.</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004073">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a7bc9c15dcfb6458c091b4eb54858a40f"></a><!-- doxytag: member="LEGlyphStorage::adoptGlyphCount" ref="a7bc9c15dcfb6458c091b4eb54858a40f" args="(le_int32 newGlyphCount)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::adoptGlyphCount </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>newGlyphCount</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Change the glyph count of this object to the given value. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>newGlyphCount</em> </td><td>the new glyph count.</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004078">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a1b4b92dd6b41fe5b170702518999b61e"></a><!-- doxytag: member="LEGlyphStorage::adoptGlyphCount" ref="a1b4b92dd6b41fe5b170702518999b61e" args="(LEGlyphStorage &from)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::adoptGlyphCount </td> <td>(</td> <td class="paramtype"><a class="el" href="classLEGlyphStorage.html">LEGlyphStorage</a> & </td> <td class="paramname"> <em>from</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Change the glyph count of this object to be the same as the one in <code>from</code>. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>from</em> </td><td>the <code><a class="el" href="classLEGlyphStorage.html" title="This class encapsulates the per-glyph storage used by the ICU LayoutEngine.">LEGlyphStorage</a></code> object from which to get the new glyph count.</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004077">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a30eb6eaf638ad4500089fc8918e78b82"></a><!-- doxytag: member="LEGlyphStorage::adoptPositionArray" ref="a30eb6eaf638ad4500089fc8918e78b82" args="(LEGlyphStorage &from)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::adoptPositionArray </td> <td>(</td> <td class="paramtype"><a class="el" href="classLEGlyphStorage.html">LEGlyphStorage</a> & </td> <td class="paramname"> <em>from</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Delete the position array and replace it with the one in <code>from</code>. </p> <p>Set the position array pointer in <code>from</code> to <code>NULL</code>.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>from</em> </td><td>the <code><a class="el" href="classLEGlyphStorage.html" title="This class encapsulates the per-glyph storage used by the ICU LayoutEngine.">LEGlyphStorage</a></code> object from which to get the new position array.</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004075">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a88dec0a3461a06947f8bbdf86802d9c7"></a><!-- doxytag: member="LEGlyphStorage::allocateAuxData" ref="a88dec0a3461a06947f8bbdf86802d9c7" args="(LEErrorCode &success)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> LEGlyphStorage::allocateAuxData </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>This method allocates the storage for the auxillary glyph data. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>set to an error code if the aulillary data array cannot be allocated.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the size of the auxillary data array.</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004058">Stable:</a></b></dt><dd>ICU 3.6 </dd></dl> </div> </div> <a class="anchor" id="ac589c2a2f5f6a3660f2f2d823045093a"></a><!-- doxytag: member="LEGlyphStorage::allocateGlyphArray" ref="ac589c2a2f5f6a3660f2f2d823045093a" args="(le_int32 initialGlyphCount, le_bool rightToLeft, LEErrorCode &success)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::allocateGlyphArray </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>initialGlyphCount</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a4b77bc254d0e88fdabffde9c03e6728f">le_bool</a> </td> <td class="paramname"> <em>rightToLeft</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>This method allocates the glyph array, the char indices array and the insertion list. </p> <p>You must call this method before using the object. This method also initializes the char indices array.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>initialGlyphCount</em> </td><td>the initial size of the glyph and char indices arrays. </td></tr> <tr><td valign="top"></td><td valign="top"><em>rightToLeft</em> </td><td><code>true</code> if the original input text is right to left. </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>set to an error code if the storage cannot be allocated of if the initial glyph count is not positive.</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004056">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a8a7e2d2252e3ee78591129d6d693a7d4"></a><!-- doxytag: member="LEGlyphStorage::allocatePositions" ref="a8a7e2d2252e3ee78591129d6d693a7d4" args="(LEErrorCode &success)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> LEGlyphStorage::allocatePositions </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>This method allocates the storage for the glyph positions. </p> <p>It allocates one extra X, Y position pair for the position just after the last glyph.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>set to an error code if the positions array cannot be allocated.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the number of X, Y position pairs allocated.</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004057">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a5f3390d6a69d237d6fd723a0f781f400"></a><!-- doxytag: member="LEGlyphStorage::applyInsertion" ref="a5f3390d6a69d237d6fd723a0f781f400" args="(le_int32 atPosition, le_int32 count, LEGlyphID newGlyphs[])" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="LETypes_8h.html#a4b77bc254d0e88fdabffde9c03e6728f">le_bool</a> LEGlyphStorage::applyInsertion </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>atPosition</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>count</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#ae440e077586bced1a0d1c534643ffc23">LEGlyphID</a> </td> <td class="paramname"> <em>newGlyphs</em>[]</td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [protected, virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>This implements <code>LEInsertionCallback</code>. </p> <p>The <code>LEInsertionList</code> will call this method once for each insertion.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>atPosition</em> </td><td>the position of the insertion </td></tr> <tr><td valign="top"></td><td valign="top"><em>count</em> </td><td>the number of glyphs being inserted </td></tr> <tr><td valign="top"></td><td valign="top"><em>newGlyphs</em> </td><td>the address of the new glyph IDs</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd><code>true</code> if <code>LEInsertionList</code> should stop processing the insertion list after this insertion.</dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd>LEInsertionList.h</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004046">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a2057b358faed98cddea96fd6c2a23a81"></a><!-- doxytag: member="LEGlyphStorage::applyInsertions" ref="a2057b358faed98cddea96fd6c2a23a81" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> LEGlyphStorage::applyInsertions </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>This method causes all of the glyph insertions recorded by <code>insertGlyphs</code> to be applied to the glyph array. </p> <p>The new slots in the char indices and the auxillary data arrays will be filled in with the values for the glyph being replaced.</p> <dl class="return"><dt><b>Returns:</b></dt><dd>the new size of the glyph array</dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd>LEInsertionList.h</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004067">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="accb3fb243b19c89618b7854a49d44f42"></a><!-- doxytag: member="LEGlyphStorage::getAuxData" ref="accb3fb243b19c89618b7854a49d44f42" args="(le_int32 glyphIndex, LEErrorCode &success) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="LETypes_8h.html#a8ed46f4fc717cf0a94de62efe109ecae">le_uint32</a> LEGlyphStorage::getAuxData </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>glyphIndex</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Get the auxillary data for a particular glyph. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyphIndex</em> </td><td>the index into the glyph array </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>set to an error code if the auxillary data cannot be retrieved.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the auxillary data</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004062">Stable:</a></b></dt><dd>ICU 3.6 </dd></dl> </div> </div> <a class="anchor" id="a900f0284f9540fa7c3996695f25bb303"></a><!-- doxytag: member="LEGlyphStorage::getAuxData" ref="a900f0284f9540fa7c3996695f25bb303" args="(le_uint32 auxData[], LEErrorCode &success) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::getAuxData </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a8ed46f4fc717cf0a94de62efe109ecae">le_uint32</a> </td> <td class="paramname"> <em>auxData</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Copy the entire auxillary data array. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>auxData</em> </td><td>the auxillary data array will be copied to this address </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>set to an error code if the data cannot be copied</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004059">Stable:</a></b></dt><dd>ICU 3.6 </dd></dl> </div> </div> <a class="anchor" id="adf983299c3852f0ad5869fb2b55016de"></a><!-- doxytag: member="LEGlyphStorage::getCharIndex" ref="adf983299c3852f0ad5869fb2b55016de" args="(le_int32 glyphIndex, LEErrorCode &success) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> LEGlyphStorage::getCharIndex </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>glyphIndex</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Get the char index for a particular glyph. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyphIndex</em> </td><td>the index into the glyph array </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>set to an error code if the char index cannot be retrieved.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the character index</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004061">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="ae0044f33492ad7f6bcdebb91a4c3d908"></a><!-- doxytag: member="LEGlyphStorage::getCharIndices" ref="ae0044f33492ad7f6bcdebb91a4c3d908" args="(le_int32 charIndices[], le_int32 indexBase, LEErrorCode &success) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::getCharIndices </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>charIndices</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>indexBase</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p>This method copies the character index array into a caller supplied array. </p> <p>The caller must ensure that the array is large enough to hold a character index for each glyph.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>charIndices</em> </td><td>- the destiniation character index array </td></tr> <tr><td valign="top"></td><td valign="top"><em>indexBase</em> </td><td>- an offset which will be added to each index </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>- set to an error code if the operation fails</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004053">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="aba6259eb3b8b8e8dccf8d16fc7336aa5"></a><!-- doxytag: member="LEGlyphStorage::getCharIndices" ref="aba6259eb3b8b8e8dccf8d16fc7336aa5" args="(le_int32 charIndices[], LEErrorCode &success) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::getCharIndices </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>charIndices</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p>This method copies the character index array into a caller supplied array. </p> <p>The caller must ensure that the array is large enough to hold a character index for each glyph.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>charIndices</em> </td><td>- the destiniation character index array </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>- set to an error code if the operation fails</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004052">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a3ecc2a752d6767d06abd3f7da826b3db"></a><!-- doxytag: member="LEGlyphStorage::getDynamicClassID" ref="a3ecc2a752d6767d06abd3f7da826b3db" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> LEGlyphStorage::getDynamicClassID </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>ICU "poor man's RTTI", returns a UClassID for the actual class. </p> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004080">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> <p>Implements <a class="el" href="classUObject.html#a9b1acc95efd89cb86ec31f2dc947a262">UObject</a>.</p> </div> </div> <a class="anchor" id="a149978b4c111189906c54b219b5c27a9"></a><!-- doxytag: member="LEGlyphStorage::getGlyphCount" ref="a149978b4c111189906c54b219b5c27a9" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> LEGlyphStorage::getGlyphCount </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>This method returns the number of glyphs in the glyph array. </p> <dl class="return"><dt><b>Returns:</b></dt><dd>the number of glyphs in the glyph array</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004049">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> <p>Definition at line <a class="el" href="LEGlyphStorage_8h_source.html#l00533">533</a> of file <a class="el" href="LEGlyphStorage_8h_source.html">LEGlyphStorage.h</a>.</p> </div> </div> <a class="anchor" id="a389a5929b3753e64c692dae10fc4010c"></a><!-- doxytag: member="LEGlyphStorage::getGlyphID" ref="a389a5929b3753e64c692dae10fc4010c" args="(le_int32 glyphIndex, LEErrorCode &success) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="LETypes_8h.html#ae440e077586bced1a0d1c534643ffc23">LEGlyphID</a> LEGlyphStorage::getGlyphID </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>glyphIndex</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p>Get the glyph ID for a particular glyph. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyphIndex</em> </td><td>the index into the glyph array </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>set to an error code if the glyph ID cannot be retrieved.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the glyph ID</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004060">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="ab1cded5c7ebd310d0a8e37b1b6f3401b"></a><!-- doxytag: member="LEGlyphStorage::getGlyphPosition" ref="ab1cded5c7ebd310d0a8e37b1b6f3401b" args="(le_int32 glyphIndex, float &x, float &y, LEErrorCode &success) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::getGlyphPosition </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>glyphIndex</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"> <em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float & </td> <td class="paramname"> <em>y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p>This method returns the X and Y position of the glyph at the given index. </p> <p>Input parameters: </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyphIndex</em> </td><td>- the index of the glyph</td></tr> </table> </dd> </dl> <p>Output parameters: </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>- the glyph's X position </td></tr> <tr><td valign="top"></td><td valign="top"><em>y</em> </td><td>- the glyph's Y position </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>- set to an error code if the operation fails</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004055">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a17526069763f7836fe7ad0c4246bb923"></a><!-- doxytag: member="LEGlyphStorage::getGlyphPositions" ref="a17526069763f7836fe7ad0c4246bb923" args="(float positions[], LEErrorCode &success) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::getGlyphPositions </td> <td>(</td> <td class="paramtype">float </td> <td class="paramname"> <em>positions</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p>This method copies the position array into a caller supplied array. </p> <p>The caller must ensure that the array is large enough to hold an X and Y position for each glyph, plus an extra X and Y for the advance of the last glyph.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>positions</em> </td><td>- the destiniation position array </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>- set to an error code if the operation fails</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004054">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="adce84973eae7497bcaeac05862c08eec"></a><!-- doxytag: member="LEGlyphStorage::getGlyphs" ref="adce84973eae7497bcaeac05862c08eec" args="(le_uint32 glyphs[], le_uint32 extraBits, LEErrorCode &success) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::getGlyphs </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a8ed46f4fc717cf0a94de62efe109ecae">le_uint32</a> </td> <td class="paramname"> <em>glyphs</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a8ed46f4fc717cf0a94de62efe109ecae">le_uint32</a> </td> <td class="paramname"> <em>extraBits</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p>This method copies the glyph array into a caller supplied array, ORing in extra bits. </p> <p>(This functionality is needed by the JDK, which uses 32 bits pre glyph idex, with the high 16 bits encoding the composite font slot number)</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyphs</em> </td><td>- the destination (32 bit) glyph array </td></tr> <tr><td valign="top"></td><td valign="top"><em>extraBits</em> </td><td>- this value will be ORed with each glyph index </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>- set to an error code if the operation fails</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004051">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a1e5ae09ec1390e13a40d7bcc7cffbf06"></a><!-- doxytag: member="LEGlyphStorage::getGlyphs" ref="a1e5ae09ec1390e13a40d7bcc7cffbf06" args="(LEGlyphID glyphs[], LEErrorCode &success) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::getGlyphs </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#ae440e077586bced1a0d1c534643ffc23">LEGlyphID</a> </td> <td class="paramname"> <em>glyphs</em>[], </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td> const</td> </tr> </table> </div> <div class="memdoc"> <p>This method copies the glyph array into a caller supplied array. </p> <p>The caller must ensure that the array is large enough to hold all the glyphs.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyphs</em> </td><td>- the destiniation glyph array </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>- set to an error code if the operation fails</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004050">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a3db494186bb6aecc02a4f33ce76f63f9"></a><!-- doxytag: member="LEGlyphStorage::getStaticClassID" ref="a3db494186bb6aecc02a4f33ce76f63f9" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">static <a class="el" href="utypes_8h.html#a22af10545208a455a6e884008df48e9f">UClassID</a> LEGlyphStorage::getStaticClassID </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [static]</code></td> </tr> </table> </div> <div class="memdoc"> <p>ICU "poor man's RTTI", returns a UClassID for this class. </p> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004081">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a23c343f6b4aff992f1740f9119b9e9f5"></a><!-- doxytag: member="LEGlyphStorage::insertGlyphs" ref="a23c343f6b4aff992f1740f9119b9e9f5" args="(le_int32 atIndex, le_int32 insertCount)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="LETypes_8h.html#ae440e077586bced1a0d1c534643ffc23">LEGlyphID</a>* LEGlyphStorage::insertGlyphs </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>atIndex</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>insertCount</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Call this method to replace a single glyph in the glyph array with multiple glyphs. </p> <p>This method uses the <code>LEInsertionList</code> to do the insertion. It returns the address of storage where the new glyph IDs can be stored. They will not actually be inserted into the glyph array until <code>applyInsertions</code> is called.</p> <p>Note: Don't use this version, use the other version of this function which has an error code.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>atIndex</em> </td><td>the index of the glyph to be replaced </td></tr> <tr><td valign="top"></td><td valign="top"><em>insertCount</em> </td><td>the number of glyphs to replace it with</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the address at which to store the replacement glyphs.</dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd>LEInsertionList.h</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004065">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a1bca6ea2d4656e06da7c665db2b1ef07"></a><!-- doxytag: member="LEGlyphStorage::insertGlyphs" ref="a1bca6ea2d4656e06da7c665db2b1ef07" args="(le_int32 atIndex, le_int32 insertCount, LEErrorCode &success)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="LETypes_8h.html#ae440e077586bced1a0d1c534643ffc23">LEGlyphID</a>* LEGlyphStorage::insertGlyphs </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>atIndex</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>insertCount</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Call this method to replace a single glyph in the glyph array with multiple glyphs. </p> <p>This method uses the <code>LEInsertionList</code> to do the insertion. It returns the address of storage where the new glyph IDs can be stored. They will not actually be inserted into the glyph array until <code>applyInsertions</code> is called.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>atIndex</em> </td><td>the index of the glyph to be replaced </td></tr> <tr><td valign="top"></td><td valign="top"><em>insertCount</em> </td><td>the number of glyphs to replace it with </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>set to an error code if the auxillary data cannot be retrieved.</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the address at which to store the replacement glyphs.</dd></dl> <dl class="see"><dt><b>See also:</b></dt><dd>LEInsertionList.h</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004064">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> </div> </div> <a class="anchor" id="ae179e8dd1aa2e38d97ccccb04d6ebc5b"></a><!-- doxytag: member="LEGlyphStorage::moveGlyph" ref="ae179e8dd1aa2e38d97ccccb04d6ebc5b" args="(le_int32 fromPosition, le_int32 toPosition, le_uint32 marker)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::moveGlyph </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>fromPosition</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>toPosition</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a8ed46f4fc717cf0a94de62efe109ecae">le_uint32</a> </td> <td class="paramname"> <em>marker</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>This method is used to reposition glyphs during Indic v2 processing. </p> <p>It moves all of the relevant glyph information ( glyph, indices, positions, and auxData ), from the source position to the target position, and also allows for a marker bit to be set in the target glyph's auxData so that it won't be reprocessed later in the cycle.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>fromPosition</em> </td><td>- position of the glyph to be moved </td></tr> <tr><td valign="top"></td><td valign="top"><em>toPosition</em> </td><td>- target position of the glyph </td></tr> <tr><td valign="top"></td><td valign="top"><em>marker</em> </td><td>marker bit</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004066">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl> </div> </div> <a class="anchor" id="ac0e5610aa6a206923ce6a39eac582649"></a><!-- doxytag: member="LEGlyphStorage::operator[]" ref="ac0e5610aa6a206923ce6a39eac582649" args="(le_int32 glyphIndex) const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="LETypes_8h.html#ae440e077586bced1a0d1c534643ffc23">LEGlyphID</a> & LEGlyphStorage::operator[] </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>glyphIndex</em></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>This operator allows direct access to the glyph array using the index operator. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyphIndex</em> </td><td>the index into the glyph array</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>a reference to the given location in the glyph array</dd></dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004063">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> <p>Definition at line <a class="el" href="LEGlyphStorage_8h_source.html#l00538">538</a> of file <a class="el" href="LEGlyphStorage_8h_source.html">LEGlyphStorage.h</a>.</p> </div> </div> <a class="anchor" id="a01c89341c00c6525b74c6a2bafe24e89"></a><!-- doxytag: member="LEGlyphStorage::reset" ref="a01c89341c00c6525b74c6a2bafe24e89" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::reset </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>This method frees the glyph, character index, position and auxillary data arrays so that the <a class="el" href="classLayoutEngine.html" title="This is a virtual base class used to do complex text layout.">LayoutEngine</a> can be reused to layout a different characer array. </p> <p>(This method is also called by the destructor)</p> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004079">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="a43ee6fc4448bcab1e4e5eabfa7d2d7cb"></a><!-- doxytag: member="LEGlyphStorage::setAuxData" ref="a43ee6fc4448bcab1e4e5eabfa7d2d7cb" args="(le_int32 glyphIndex, le_uint32 auxData, LEErrorCode &success)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::setAuxData </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>glyphIndex</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a8ed46f4fc717cf0a94de62efe109ecae">le_uint32</a> </td> <td class="paramname"> <em>auxData</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Set the auxillary data for a particular glyph. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyphIndex</em> </td><td>the index of the glyph </td></tr> <tr><td valign="top"></td><td valign="top"><em>auxData</em> </td><td>the new auxillary data </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>will be set to an error code if the auxillary data cannot be set.</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004072">Stable:</a></b></dt><dd>ICU 3.6 </dd></dl> </div> </div> <a class="anchor" id="a59a83e8b7610c754943460a5f112b4b6"></a><!-- doxytag: member="LEGlyphStorage::setCharIndex" ref="a59a83e8b7610c754943460a5f112b4b6" args="(le_int32 glyphIndex, le_int32 charIndex, LEErrorCode &success)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::setCharIndex </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>glyphIndex</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>charIndex</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Set the char index for a particular glyph. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyphIndex</em> </td><td>the index of the glyph </td></tr> <tr><td valign="top"></td><td valign="top"><em>charIndex</em> </td><td>the new char index </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>will be set to an error code if the char index cannot be set.</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004069">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="acb0474cecfae8396fd3daab936187d88"></a><!-- doxytag: member="LEGlyphStorage::setGlyphID" ref="acb0474cecfae8396fd3daab936187d88" args="(le_int32 glyphIndex, LEGlyphID glyphID, LEErrorCode &success)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::setGlyphID </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>glyphIndex</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#ae440e077586bced1a0d1c534643ffc23">LEGlyphID</a> </td> <td class="paramname"> <em>glyphID</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Set the glyph ID for a particular glyph. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyphIndex</em> </td><td>the index of the glyph </td></tr> <tr><td valign="top"></td><td valign="top"><em>glyphID</em> </td><td>the new glyph ID </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>will be set to an error code if the glyph ID cannot be set.</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004068">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <a class="anchor" id="acf5f875b9c036cab4012a2d9bdc993df"></a><!-- doxytag: member="LEGlyphStorage::setPosition" ref="acf5f875b9c036cab4012a2d9bdc993df" args="(le_int32 glyphIndex, float x, float y, LEErrorCode &success)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void LEGlyphStorage::setPosition </td> <td>(</td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a3ae79f31399d76e3055d2a2745bd0d9a">le_int32</a> </td> <td class="paramname"> <em>glyphIndex</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>x</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">float </td> <td class="paramname"> <em>y</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="LETypes_8h.html#a2f75d3bb5abf7f0a71adbf00826e1934">LEErrorCode</a> & </td> <td class="paramname"> <em>success</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Set the X, Y position for a particular glyph. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>glyphIndex</em> </td><td>the index of the glyph </td></tr> <tr><td valign="top"></td><td valign="top"><em>x</em> </td><td>the new X position </td></tr> <tr><td valign="top"></td><td valign="top"><em>y</em> </td><td>the new Y position </td></tr> <tr><td valign="top"></td><td valign="top"><em>success</em> </td><td>will be set to an error code if the position cannot be set.</td></tr> </table> </dd> </dl> <dl class="stable"><dt><b><a class="el" href="stable.html#_stable004070">Stable:</a></b></dt><dd>ICU 3.0 </dd></dl> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li><a class="el" href="LEGlyphStorage_8h_source.html">LEGlyphStorage.h</a></li> </ul> </div> <!--- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Defines</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <hr class="footer"/><address style="text-align: right;"><small>Generated by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.2-20100208 </small></address> </body> </html>