|
ICU 73.2
73.2
|
00001 // © 2016 and later: Unicode, Inc. and others. 00002 // License & terms of use: http://www.unicode.org/copyright.html 00003 /* 00004 * 00005 * (C) Copyright IBM Corp. 1998-2011 - All Rights Reserved 00006 * 00007 */ 00008 00009 #ifndef __PLAYOUT_H 00010 #define __PLAYOUT_H 00011 00012 /* 00013 * ParagraphLayout doesn't make much sense without 00014 * BreakIterator... 00015 */ 00016 #include "unicode/ubidi.h" 00017 #if ! UCONFIG_NO_BREAK_ITERATION 00018 #ifndef U_HIDE_INTERNAL_API 00019 00020 #include "layout/LETypes.h" 00021 #include "plruns.h" 00022 00037 typedef void pl_paragraph; 00038 00044 typedef void pl_line; 00045 00051 typedef void pl_visualRun; 00052 00098 U_CAPI pl_paragraph * U_EXPORT2 00099 pl_create(const LEUnicode chars[], 00100 le_int32 count, 00101 const pl_fontRuns *fontRuns, 00102 const pl_valueRuns *levelRuns, 00103 const pl_valueRuns *scriptRuns, 00104 const pl_localeRuns *localeRuns, 00105 UBiDiLevel paragraphLevel, 00106 le_bool vertical, 00107 LEErrorCode *status); 00108 00118 U_CAPI void U_EXPORT2 00119 pl_close(pl_paragraph *paragraph); 00120 00134 U_CAPI le_bool U_EXPORT2 00135 pl_isComplex(const LEUnicode chars[], 00136 le_int32 count); 00137 00149 U_CAPI UBiDiLevel U_EXPORT2 00150 pl_getParagraphLevel(pl_paragraph *paragraph); 00151 00163 U_CAPI UBiDiDirection U_EXPORT2 00164 pl_getTextDirection(pl_paragraph *paragraph); 00165 00176 U_CAPI le_int32 U_EXPORT2 00177 pl_getAscent(const pl_paragraph *paragraph); 00178 00189 U_CAPI le_int32 U_EXPORT2 00190 pl_getDescent(const pl_paragraph *paragraph); 00191 00202 U_CAPI le_int32 U_EXPORT2 00203 pl_getLeading(const pl_paragraph *paragraph); 00204 00212 U_CAPI void U_EXPORT2 00213 pl_reflow(pl_paragraph *paragraph); 00214 00233 U_CAPI pl_line * U_EXPORT2 00234 pl_nextLine(pl_paragraph *paragraph, float width); 00235 00245 U_CAPI void U_EXPORT2 00246 pl_closeLine(pl_line *line); 00247 00257 U_CAPI le_int32 U_EXPORT2 00258 pl_countLineRuns(const pl_line *line); 00259 00270 U_CAPI le_int32 U_EXPORT2 00271 pl_getLineAscent(const pl_line *line); 00272 00283 U_CAPI le_int32 U_EXPORT2 00284 pl_getLineDescent(const pl_line *line); 00285 00296 U_CAPI le_int32 U_EXPORT2 00297 pl_getLineLeading(const pl_line *line); 00298 00310 U_CAPI le_int32 U_EXPORT2 00311 pl_getLineWidth(const pl_line *line); 00312 00329 U_CAPI const pl_visualRun * U_EXPORT2 00330 pl_getLineVisualRun(const pl_line *line, le_int32 runIndex); 00331 00346 U_CAPI const le_font * U_EXPORT2 00347 pl_getVisualRunFont(const pl_visualRun *run); 00348 00359 U_CAPI UBiDiDirection U_EXPORT2 00360 pl_getVisualRunDirection(const pl_visualRun *run); 00361 00371 U_CAPI le_int32 U_EXPORT2 00372 pl_getVisualRunGlyphCount(const pl_visualRun *run); 00373 00386 U_CAPI const LEGlyphID * U_EXPORT2 00387 pl_getVisualRunGlyphs(const pl_visualRun *run); 00388 00404 U_CAPI const float * U_EXPORT2 00405 pl_getVisualRunPositions(const pl_visualRun *run); 00406 00419 U_CAPI const le_int32 * U_EXPORT2 00420 pl_getVisualRunGlyphToCharMap(const pl_visualRun *run); 00421 00432 U_CAPI le_int32 U_EXPORT2 00433 pl_getVisualRunAscent(const pl_visualRun *run); 00434 00445 U_CAPI le_int32 U_EXPORT2 00446 pl_getVisualRunDescent(const pl_visualRun *run); 00447 00458 U_CAPI le_int32 U_EXPORT2 00459 pl_getVisualRunLeading(const pl_visualRun *run); 00460 00461 #endif /* U_HIDE_INTERNAL_API */ 00462 #endif 00463 #endif
1.7.6.1