00001
00002
00003
00004
00005
00006
00007 #ifndef __PLAYOUT_H
00008 #define __PLAYOUT_H
00009
00010 #include "unicode/ubidi.h"
00011 #include "layout/LETypes.h"
00012 #include "plruns.h"
00013
00029 typedef void pl_paragraph;
00030
00036 typedef void pl_line;
00037
00043 typedef void pl_visualRun;
00044
00090 U_DRAFT pl_paragraph * U_EXPORT2
00091 pl_create(const LEUnicode chars[],
00092 le_int32 count,
00093 const pl_fontRuns *fontRuns,
00094 const pl_valueRuns *levelRuns,
00095 const pl_valueRuns *scriptRuns,
00096 const pl_localeRuns *localeRuns,
00097 UBiDiLevel paragraphLevel,
00098 le_bool vertical,
00099 LEErrorCode *status);
00100
00110 U_DRAFT void U_EXPORT2
00111 pl_close(pl_paragraph *paragraph);
00112
00126 U_DRAFT le_bool U_EXPORT2
00127 pl_isComplex(const LEUnicode chars[],
00128 le_int32 count);
00129
00141 U_DRAFT UBiDiLevel U_EXPORT2
00142 pl_getParagraphLevel(pl_paragraph *paragraph);
00143
00155 U_DRAFT UBiDiDirection U_EXPORT2
00156 pl_getTextDirection(pl_paragraph *paragraph);
00157
00173 U_DRAFT le_int32 U_EXPORT2
00174 pl_getAscent(const pl_paragraph *paragraph);
00175
00186 U_DRAFT le_int32 U_EXPORT2
00187 pl_getDescent(const pl_paragraph *paragraph);
00188
00199 U_DRAFT le_int32 U_EXPORT2
00200 pl_getLeading(const pl_paragraph *paragraph);
00201
00209 U_DRAFT void U_EXPORT2
00210 pl_reflow(pl_paragraph *paragraph);
00211
00230 U_DRAFT pl_line * U_EXPORT2
00231 pl_nextLine(pl_paragraph *paragraph, float width);
00232
00242 U_DRAFT void U_EXPORT2
00243 pl_closeLine(pl_line *line);
00244
00254 U_DRAFT le_int32 U_EXPORT2
00255 pl_countLineRuns(const pl_line *line);
00256
00267 U_DRAFT le_int32 U_EXPORT2
00268 pl_getLineAscent(const pl_line *line);
00269
00280 U_DRAFT le_int32 U_EXPORT2
00281 pl_getLineDescent(const pl_line *line);
00282
00293 U_DRAFT le_int32 U_EXPORT2
00294 pl_getLineLeading(const pl_line *line);
00295
00307 U_DRAFT le_int32 U_EXPORT2
00308 pl_getLineWidth(const pl_line *line);
00309
00326 U_DRAFT const pl_visualRun * U_EXPORT2
00327 pl_getLineVisualRun(const pl_line *line, le_int32 runIndex);
00328
00343 U_DRAFT const le_font * U_EXPORT2
00344 pl_getVisualRunFont(const pl_visualRun *run);
00345
00356 U_DRAFT UBiDiDirection U_EXPORT2
00357 pl_getVisualRunDirection(const pl_visualRun *run);
00358
00368 U_DRAFT le_int32 U_EXPORT2
00369 pl_getVisualRunGlyphCount(const pl_visualRun *run);
00370
00383 U_DRAFT const LEGlyphID * U_EXPORT2
00384 pl_getVisualRunGlyphs(const pl_visualRun *run);
00385
00401 U_DRAFT const float * U_EXPORT2
00402 pl_getVisualRunPositions(const pl_visualRun *run);
00403
00416 U_DRAFT const le_int32 * U_EXPORT2
00417 pl_getVisualRunGlyphToCharMap(const pl_visualRun *run);
00418
00429 U_DRAFT le_int32 U_EXPORT2
00430 pl_getVisualRunAscent(const pl_visualRun *run);
00431
00442 U_DRAFT le_int32 U_EXPORT2
00443 pl_getVisualRunDescent(const pl_visualRun *run);
00444
00455 U_DRAFT le_int32 U_EXPORT2
00456 pl_getVisualRunLeading(const pl_visualRun *run);
00457
00458 #endif