00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef __PLAYOUT_H
00010 #define __PLAYOUT_H
00011
00012
00013
00014
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
00462 #endif
00463 #endif