- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- Search for |

- File List
- Globals

# playout.h

Go to the documentation of this file.

    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