playout.h

Go to the documentation of this file.
00001 /*
00002  *
00003  * (C) Copyright IBM Corp. 1998-2011 - All Rights Reserved
00004  *
00005  */
00006 
00007 #ifndef __PLAYOUT_H
00008 #define __PLAYOUT_H
00009 
00010 /*
00011  * ParagraphLayout doesn't make much sense without
00012  * BreakIterator...
00013  */
00014 #include "unicode/ubidi.h"
00015 #if ! UCONFIG_NO_BREAK_ITERATION
00016 #ifndef U_HIDE_INTERNAL_API
00017 
00018 #include "layout/LETypes.h"
00019 #include "plruns.h"
00020 
00035 typedef void pl_paragraph;
00036 
00042 typedef void pl_line;
00043 
00049 typedef void pl_visualRun;
00050 
00096 U_INTERNAL pl_paragraph * U_EXPORT2
00097 pl_create(const LEUnicode chars[],
00098           le_int32 count,
00099           const pl_fontRuns *fontRuns,
00100           const pl_valueRuns *levelRuns,
00101           const pl_valueRuns *scriptRuns,
00102           const pl_localeRuns *localeRuns,
00103           UBiDiLevel paragraphLevel,
00104           le_bool vertical,
00105           LEErrorCode *status);
00106 
00116 U_INTERNAL void U_EXPORT2
00117 pl_close(pl_paragraph *paragraph);
00118 
00132 U_INTERNAL le_bool U_EXPORT2
00133 pl_isComplex(const LEUnicode chars[],
00134           le_int32 count);
00135 
00147 U_INTERNAL UBiDiLevel U_EXPORT2
00148 pl_getParagraphLevel(pl_paragraph *paragraph);
00149 
00161 U_INTERNAL UBiDiDirection U_EXPORT2
00162 pl_getTextDirection(pl_paragraph *paragraph);
00163 
00179 U_INTERNAL le_int32 U_EXPORT2
00180 pl_getAscent(const pl_paragraph *paragraph);
00181 
00192 U_INTERNAL le_int32 U_EXPORT2
00193 pl_getDescent(const pl_paragraph *paragraph);
00194 
00205 U_INTERNAL le_int32 U_EXPORT2
00206 pl_getLeading(const pl_paragraph *paragraph);
00207 
00215 U_INTERNAL void U_EXPORT2
00216 pl_reflow(pl_paragraph *paragraph);
00217 
00236 U_INTERNAL pl_line * U_EXPORT2
00237 pl_nextLine(pl_paragraph *paragraph, float width);
00238 
00248 U_INTERNAL void U_EXPORT2
00249 pl_closeLine(pl_line *line);
00250 
00260 U_INTERNAL le_int32 U_EXPORT2
00261 pl_countLineRuns(const pl_line *line);
00262 
00273 U_INTERNAL le_int32 U_EXPORT2
00274 pl_getLineAscent(const pl_line *line);
00275 
00286 U_INTERNAL le_int32 U_EXPORT2
00287 pl_getLineDescent(const pl_line *line);
00288 
00299 U_INTERNAL le_int32 U_EXPORT2
00300 pl_getLineLeading(const pl_line *line);
00301 
00313 U_INTERNAL le_int32 U_EXPORT2
00314 pl_getLineWidth(const pl_line *line);
00315 
00332 U_INTERNAL const pl_visualRun * U_EXPORT2
00333 pl_getLineVisualRun(const pl_line *line, le_int32 runIndex);
00334 
00349 U_INTERNAL const le_font * U_EXPORT2
00350 pl_getVisualRunFont(const pl_visualRun *run);
00351 
00362 U_INTERNAL UBiDiDirection U_EXPORT2
00363 pl_getVisualRunDirection(const pl_visualRun *run);
00364 
00374 U_INTERNAL le_int32 U_EXPORT2
00375 pl_getVisualRunGlyphCount(const pl_visualRun *run);
00376 
00389 U_INTERNAL const LEGlyphID * U_EXPORT2
00390 pl_getVisualRunGlyphs(const pl_visualRun *run);
00391 
00407 U_INTERNAL const float * U_EXPORT2
00408 pl_getVisualRunPositions(const pl_visualRun *run);
00409 
00422 U_INTERNAL const le_int32 * U_EXPORT2
00423 pl_getVisualRunGlyphToCharMap(const pl_visualRun *run);
00424 
00435 U_INTERNAL le_int32 U_EXPORT2
00436 pl_getVisualRunAscent(const pl_visualRun *run);
00437 
00448 U_INTERNAL le_int32 U_EXPORT2
00449 pl_getVisualRunDescent(const pl_visualRun *run);
00450 
00461 U_INTERNAL le_int32 U_EXPORT2
00462 pl_getVisualRunLeading(const pl_visualRun *run);
00463 
00464 #endif  /* U_HIDE_INTERNAL_API */
00465 #endif
00466 #endif

Generated on 25 Nov 2014 for ICU 50.1.2 by  doxygen 1.4.7