ICU 49.1.1
49.1.1
|
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