ICU 4.8.1.1
4.8.1.1
|
00001 /* 00002 * 00003 * (C) Copyright IBM Corp. 1998-2007 - 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 00017 #include "layout/LETypes.h" 00018 #include "plruns.h" 00019 00034 typedef void pl_paragraph; 00035 00041 typedef void pl_line; 00042 00048 typedef void pl_visualRun; 00049 00095 U_INTERNAL pl_paragraph * U_EXPORT2 00096 pl_create(const LEUnicode chars[], 00097 le_int32 count, 00098 const pl_fontRuns *fontRuns, 00099 const pl_valueRuns *levelRuns, 00100 const pl_valueRuns *scriptRuns, 00101 const pl_localeRuns *localeRuns, 00102 UBiDiLevel paragraphLevel, 00103 le_bool vertical, 00104 LEErrorCode *status); 00105 00115 U_INTERNAL void U_EXPORT2 00116 pl_close(pl_paragraph *paragraph); 00117 00131 U_INTERNAL le_bool U_EXPORT2 00132 pl_isComplex(const LEUnicode chars[], 00133 le_int32 count); 00134 00146 U_INTERNAL UBiDiLevel U_EXPORT2 00147 pl_getParagraphLevel(pl_paragraph *paragraph); 00148 00160 U_INTERNAL UBiDiDirection U_EXPORT2 00161 pl_getTextDirection(pl_paragraph *paragraph); 00162 00178 U_INTERNAL le_int32 U_EXPORT2 00179 pl_getAscent(const pl_paragraph *paragraph); 00180 00191 U_INTERNAL le_int32 U_EXPORT2 00192 pl_getDescent(const pl_paragraph *paragraph); 00193 00204 U_INTERNAL le_int32 U_EXPORT2 00205 pl_getLeading(const pl_paragraph *paragraph); 00206 00214 U_INTERNAL void U_EXPORT2 00215 pl_reflow(pl_paragraph *paragraph); 00216 00235 U_INTERNAL pl_line * U_EXPORT2 00236 pl_nextLine(pl_paragraph *paragraph, float width); 00237 00247 U_INTERNAL void U_EXPORT2 00248 pl_closeLine(pl_line *line); 00249 00259 U_INTERNAL le_int32 U_EXPORT2 00260 pl_countLineRuns(const pl_line *line); 00261 00272 U_INTERNAL le_int32 U_EXPORT2 00273 pl_getLineAscent(const pl_line *line); 00274 00285 U_INTERNAL le_int32 U_EXPORT2 00286 pl_getLineDescent(const pl_line *line); 00287 00298 U_INTERNAL le_int32 U_EXPORT2 00299 pl_getLineLeading(const pl_line *line); 00300 00312 U_INTERNAL le_int32 U_EXPORT2 00313 pl_getLineWidth(const pl_line *line); 00314 00331 U_INTERNAL const pl_visualRun * U_EXPORT2 00332 pl_getLineVisualRun(const pl_line *line, le_int32 runIndex); 00333 00348 U_INTERNAL const le_font * U_EXPORT2 00349 pl_getVisualRunFont(const pl_visualRun *run); 00350 00361 U_INTERNAL UBiDiDirection U_EXPORT2 00362 pl_getVisualRunDirection(const pl_visualRun *run); 00363 00373 U_INTERNAL le_int32 U_EXPORT2 00374 pl_getVisualRunGlyphCount(const pl_visualRun *run); 00375 00388 U_INTERNAL const LEGlyphID * U_EXPORT2 00389 pl_getVisualRunGlyphs(const pl_visualRun *run); 00390 00406 U_INTERNAL const float * U_EXPORT2 00407 pl_getVisualRunPositions(const pl_visualRun *run); 00408 00421 U_INTERNAL const le_int32 * U_EXPORT2 00422 pl_getVisualRunGlyphToCharMap(const pl_visualRun *run); 00423 00434 U_INTERNAL le_int32 U_EXPORT2 00435 pl_getVisualRunAscent(const pl_visualRun *run); 00436 00447 U_INTERNAL le_int32 U_EXPORT2 00448 pl_getVisualRunDescent(const pl_visualRun *run); 00449 00460 U_INTERNAL le_int32 U_EXPORT2 00461 pl_getVisualRunLeading(const pl_visualRun *run); 00462 00463 #endif 00464 #endif