<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> <title>ICU 3.6: LEGlyphStorage.h Source File</title> <link href="doxygen.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.4.7 --> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="classes.html"><span>Data Structures</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li> <form action="search.php" method="get"> <table cellspacing="0" cellpadding="0" border="0"> <tr> <td><label> <u>S</u>earch for </label></td> <td><input type="text" name="query" value="" size="20" accesskey="s"/></td> </tr> </table> </form> </li> </ul></div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul></div> <h1>LEGlyphStorage.h</h1><a href="LEGlyphStorage_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span> <a name="l00002"></a>00002 <span class="comment"> **********************************************************************</span> <a name="l00003"></a>00003 <span class="comment"> * Copyright (C) 1998-2006, International Business Machines</span> <a name="l00004"></a>00004 <span class="comment"> * Corporation and others. All Rights Reserved.</span> <a name="l00005"></a>00005 <span class="comment"> **********************************************************************</span> <a name="l00006"></a>00006 <span class="comment"> */</span> <a name="l00007"></a>00007 <a name="l00008"></a>00008 <span class="preprocessor">#ifndef __LEGLYPHSTORAGE_H</span> <a name="l00009"></a>00009 <span class="preprocessor"></span><span class="preprocessor">#define __LEGLYPHSTORAGE_H</span> <a name="l00010"></a>00010 <span class="preprocessor"></span> <a name="l00011"></a>00011 <span class="preprocessor">#include "<a class="code" href="LETypes_8h.html">LETypes.h</a>"</span> <a name="l00012"></a>00012 <span class="preprocessor">#include "LEInsertionList.h"</span> <a name="l00013"></a>00013 <a name="l00019"></a>00019 <a class="code" href="umachine_8h.html#ec4a51c37f4e3f3d7e5c42e6e3eafa63">U_NAMESPACE_BEGIN</a> <a name="l00020"></a>00020 <a name="l00034"></a><a class="code" href="classLEGlyphStorage.html">00034</a> <span class="keyword">class </span><a class="code" href="utypes_8h.html#345b2b46596b129b1c209845b50018ed">U_LAYOUT_API</a> <a class="code" href="classLEGlyphStorage.html">LEGlyphStorage</a> : <span class="keyword">public</span> <a class="code" href="classUObject.html">UObject</a>, <span class="keyword">protected</span> LEInsertionCallback <a name="l00035"></a>00035 { <a name="l00036"></a>00036 <span class="keyword">private</span>: <a name="l00042"></a>00042 <a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> fGlyphCount; <a name="l00043"></a>00043 <a name="l00049"></a>00049 <a class="code" href="LETypes_8h.html#3bc6b97a40a28fd8c7f69ab193d66211">LEGlyphID</a> *fGlyphs; <a name="l00050"></a>00050 <a name="l00056"></a>00056 <a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> *fCharIndices; <a name="l00057"></a>00057 <a name="l00063"></a>00063 <span class="keywordtype">float</span> *fPositions; <a name="l00064"></a>00064 <a name="l00070"></a>00070 <a class="code" href="LETypes_8h.html#fb0e699435d80d9b8dc119a471bd1537">le_uint32</a> *fAuxData; <a name="l00071"></a>00071 <a name="l00072"></a>00072 <a name="l00078"></a>00078 LEInsertionList *fInsertionList; <a name="l00079"></a>00079 <a name="l00085"></a>00085 <a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> fSrcIndex; <a name="l00086"></a>00086 <a name="l00092"></a>00092 <a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> fDestIndex; <a name="l00093"></a>00093 <a name="l00094"></a>00094 <span class="keyword">protected</span>: <a name="l00110"></a>00110 <span class="keyword">virtual</span> <a class="code" href="LETypes_8h.html#f2dbcdbfe51e0c2b6c6913d52a0bab68">le_bool</a> applyInsertion(<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> atPosition, <a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> count, <a class="code" href="LETypes_8h.html#3bc6b97a40a28fd8c7f69ab193d66211">LEGlyphID</a> newGlyphs[]); <a name="l00111"></a>00111 <a name="l00112"></a>00112 <span class="keyword">public</span>: <a name="l00113"></a>00113 <a name="l00121"></a>00121 <a class="code" href="classLEGlyphStorage.html">LEGlyphStorage</a>(); <a name="l00122"></a>00122 <a name="l00128"></a>00128 ~<a class="code" href="classLEGlyphStorage.html">LEGlyphStorage</a>(); <a name="l00129"></a>00129 <a name="l00137"></a>00137 <span class="keyword">inline</span> <a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> getGlyphCount() <span class="keyword">const</span>; <a name="l00138"></a>00138 <a name="l00149"></a>00149 <span class="keywordtype">void</span> getGlyphs(<a class="code" href="LETypes_8h.html#3bc6b97a40a28fd8c7f69ab193d66211">LEGlyphID</a> glyphs[], <a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success) <span class="keyword">const</span>; <a name="l00150"></a>00150 <a name="l00163"></a>00163 <span class="keywordtype">void</span> getGlyphs(<a class="code" href="LETypes_8h.html#fb0e699435d80d9b8dc119a471bd1537">le_uint32</a> glyphs[], <a class="code" href="LETypes_8h.html#fb0e699435d80d9b8dc119a471bd1537">le_uint32</a> extraBits, <a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success) <span class="keyword">const</span>; <a name="l00164"></a>00164 <a name="l00175"></a>00175 <span class="keywordtype">void</span> getCharIndices(<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> charIndices[], <a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success) <span class="keyword">const</span>; <a name="l00176"></a>00176 <a name="l00188"></a>00188 <span class="keywordtype">void</span> getCharIndices(<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> charIndices[], <a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> indexBase, <a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success) <span class="keyword">const</span>; <a name="l00189"></a>00189 <a name="l00201"></a>00201 <span class="keywordtype">void</span> getGlyphPositions(<span class="keywordtype">float</span> positions[], <a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success) <span class="keyword">const</span>; <a name="l00202"></a>00202 <a name="l00217"></a>00217 <span class="keywordtype">void</span> getGlyphPosition(<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> glyphIndex, <span class="keywordtype">float</span> &x, <span class="keywordtype">float</span> &y, <a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success) <span class="keyword">const</span>; <a name="l00218"></a>00218 <a name="l00231"></a>00231 <span class="keywordtype">void</span> allocateGlyphArray(<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> initialGlyphCount, <a class="code" href="LETypes_8h.html#f2dbcdbfe51e0c2b6c6913d52a0bab68">le_bool</a> rightToLeft, <a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success); <a name="l00232"></a>00232 <a name="l00243"></a>00243 <a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> allocatePositions(<a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success); <a name="l00244"></a>00244 <a name="l00254"></a>00254 <a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> allocateAuxData(<a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success); <a name="l00255"></a>00255 <a name="l00264"></a>00264 <span class="keywordtype">void</span> getAuxData(<a class="code" href="LETypes_8h.html#fb0e699435d80d9b8dc119a471bd1537">le_uint32</a> auxData[], <a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success) <span class="keyword">const</span>; <a name="l00265"></a>00265 <a name="l00276"></a>00276 <a class="code" href="LETypes_8h.html#3bc6b97a40a28fd8c7f69ab193d66211">LEGlyphID</a> getGlyphID(<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> glyphIndex, <a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success) <span class="keyword">const</span>; <a name="l00277"></a>00277 <a name="l00288"></a>00288 <a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> getCharIndex(<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> glyphIndex, <a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success) <span class="keyword">const</span>; <a name="l00289"></a>00289 <a name="l00290"></a>00290 <a name="l00301"></a>00301 <a class="code" href="LETypes_8h.html#fb0e699435d80d9b8dc119a471bd1537">le_uint32</a> getAuxData(<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> glyphIndex, <a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success) <span class="keyword">const</span>; <a name="l00302"></a>00302 <a name="l00313"></a>00313 <span class="keyword">inline</span> <a class="code" href="LETypes_8h.html#3bc6b97a40a28fd8c7f69ab193d66211">LEGlyphID</a> &operator[](<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> glyphIndex) <span class="keyword">const</span>; <a name="l00314"></a>00314 <a name="l00331"></a>00331 <a class="code" href="LETypes_8h.html#3bc6b97a40a28fd8c7f69ab193d66211">LEGlyphID</a> *insertGlyphs(<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> atIndex, <a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> insertCount); <a name="l00332"></a>00332 <a name="l00345"></a>00345 <a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> applyInsertions(); <a name="l00346"></a>00346 <a name="l00356"></a>00356 <span class="keywordtype">void</span> setGlyphID(<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> glyphIndex, <a class="code" href="LETypes_8h.html#3bc6b97a40a28fd8c7f69ab193d66211">LEGlyphID</a> glyphID, <a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success); <a name="l00357"></a>00357 <a name="l00367"></a>00367 <span class="keywordtype">void</span> setCharIndex(<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> glyphIndex, <a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> charIndex, <a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success); <a name="l00368"></a>00368 <a name="l00379"></a>00379 <span class="keywordtype">void</span> setPosition(<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> glyphIndex, <span class="keywordtype">float</span> x, <span class="keywordtype">float</span> y, <a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success); <a name="l00380"></a>00380 <a name="l00391"></a>00391 <span class="keywordtype">void</span> adjustPosition(<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> glyphIndex, <span class="keywordtype">float</span> xAdjust, <span class="keywordtype">float</span> yAdjust, <a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success); <a name="l00392"></a>00392 <a name="l00402"></a>00402 <span class="keywordtype">void</span> setAuxData(<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> glyphIndex, <a class="code" href="LETypes_8h.html#fb0e699435d80d9b8dc119a471bd1537">le_uint32</a> auxData, <a class="code" href="LETypes_8h.html#4e283f9276a568e504ba8120f8360cd8">LEErrorCode</a> &success); <a name="l00403"></a>00403 <a name="l00414"></a>00414 <span class="keywordtype">void</span> adoptGlyphArray(<a class="code" href="classLEGlyphStorage.html">LEGlyphStorage</a> &from); <a name="l00415"></a>00415 <a name="l00416"></a>00416 <span class="keywordtype">void</span> appendGlyphStorage(<a class="code" href="classLEGlyphStorage.html">LEGlyphStorage</a> &from); <a name="l00417"></a>00417 <a name="l00428"></a>00428 <span class="keywordtype">void</span> adoptCharIndicesArray(<a class="code" href="classLEGlyphStorage.html">LEGlyphStorage</a> &from); <a name="l00429"></a>00429 <a name="l00440"></a>00440 <span class="keywordtype">void</span> adoptPositionArray(<a class="code" href="classLEGlyphStorage.html">LEGlyphStorage</a> &from); <a name="l00441"></a>00441 <a name="l00452"></a>00452 <span class="keywordtype">void</span> adoptAuxDataArray(<a class="code" href="classLEGlyphStorage.html">LEGlyphStorage</a> &from); <a name="l00453"></a>00453 <a name="l00463"></a>00463 <span class="keywordtype">void</span> adoptGlyphCount(<a class="code" href="classLEGlyphStorage.html">LEGlyphStorage</a> &from); <a name="l00464"></a>00464 <a name="l00472"></a>00472 <span class="keywordtype">void</span> adoptGlyphCount(<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> newGlyphCount); <a name="l00473"></a>00473 <a name="l00482"></a>00482 <span class="keywordtype">void</span> reset(); <a name="l00483"></a>00483 <a name="l00489"></a>00489 <span class="keyword">virtual</span> <a class="code" href="utypes_8h.html#452dc3c7d14eb1a1837ae1aa0b2d6724">UClassID</a> <a class="code" href="classUObject.html#60f3fba82b9d7edfe3d3f9d423ab826d">getDynamicClassID</a>() <span class="keyword">const</span>; <a name="l00490"></a>00490 <a name="l00496"></a>00496 <span class="keyword">static</span> <a class="code" href="utypes_8h.html#452dc3c7d14eb1a1837ae1aa0b2d6724">UClassID</a> getStaticClassID(); <a name="l00497"></a>00497 }; <a name="l00498"></a>00498 <a name="l00499"></a><a class="code" href="classLEGlyphStorage.html#136c13fce9e48c080a6335c5446ef548">00499</a> <span class="keyword">inline</span> <a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> <a class="code" href="classLEGlyphStorage.html#136c13fce9e48c080a6335c5446ef548">LEGlyphStorage::getGlyphCount</a>()<span class="keyword"> const</span> <a name="l00500"></a>00500 <span class="keyword"></span>{ <a name="l00501"></a>00501 <span class="keywordflow">return</span> fGlyphCount; <a name="l00502"></a>00502 } <a name="l00503"></a>00503 <a name="l00504"></a><a class="code" href="classLEGlyphStorage.html#bd0b525e4e3ef2f654680a6d1f784cf9">00504</a> <span class="keyword">inline</span> <a class="code" href="LETypes_8h.html#3bc6b97a40a28fd8c7f69ab193d66211">LEGlyphID</a> &<a class="code" href="classLEGlyphStorage.html#bd0b525e4e3ef2f654680a6d1f784cf9">LEGlyphStorage::operator[]</a>(<a class="code" href="LETypes_8h.html#a201c5c12a85b5089247f931122ec9c9">le_int32</a> glyphIndex)<span class="keyword"> const</span> <a name="l00505"></a>00505 <span class="keyword"></span>{ <a name="l00506"></a>00506 <span class="keywordflow">return</span> fGlyphs[glyphIndex]; <a name="l00507"></a>00507 } <a name="l00508"></a>00508 <a name="l00509"></a>00509 <a name="l00510"></a>00510 <a class="code" href="umachine_8h.html#951037cc9951ac3c70b527f8137f9f74">U_NAMESPACE_END</a> <a name="l00511"></a>00511 <span class="preprocessor">#endif</span> <a name="l00512"></a>00512 <span class="preprocessor"></span> </pre></div><hr size="1"><address style="align: right;"><small>Generated on Tue Dec 13 17:29:51 2011 for ICU 3.6 by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.7 </small></address> </body> </html>