ICU 4.8.1.1  4.8.1.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
playout.h
Go to the documentation of this file.
1 /*
2  *
3  * (C) Copyright IBM Corp. 1998-2007 - All Rights Reserved
4  *
5  */
6 
7 #ifndef __PLAYOUT_H
8 #define __PLAYOUT_H
9 
10 /*
11  * ParagraphLayout doesn't make much sense without
12  * BreakIterator...
13  */
14 #include "unicode/ubidi.h"
15 #if ! UCONFIG_NO_BREAK_ITERATION
16 
17 #include "layout/LETypes.h"
18 #include "plruns.h"
19 
34 typedef void pl_paragraph;
35 
41 typedef void pl_line;
42 
48 typedef void pl_visualRun;
49 
96 pl_create(const LEUnicode chars[],
97  le_int32 count,
98  const pl_fontRuns *fontRuns,
99  const pl_valueRuns *levelRuns,
100  const pl_valueRuns *scriptRuns,
101  const pl_localeRuns *localeRuns,
102  UBiDiLevel paragraphLevel,
103  le_bool vertical,
104  LEErrorCode *status);
105 
116 pl_close(pl_paragraph *paragraph);
117 
132 pl_isComplex(const LEUnicode chars[],
133  le_int32 count);
134 
148 
162 
179 pl_getAscent(const pl_paragraph *paragraph);
180 
192 pl_getDescent(const pl_paragraph *paragraph);
193 
205 pl_getLeading(const pl_paragraph *paragraph);
206 
215 pl_reflow(pl_paragraph *paragraph);
216 
236 pl_nextLine(pl_paragraph *paragraph, float width);
237 
248 pl_closeLine(pl_line *line);
249 
260 pl_countLineRuns(const pl_line *line);
261 
273 pl_getLineAscent(const pl_line *line);
274 
286 pl_getLineDescent(const pl_line *line);
287 
299 pl_getLineLeading(const pl_line *line);
300 
313 pl_getLineWidth(const pl_line *line);
314 
332 pl_getLineVisualRun(const pl_line *line, le_int32 runIndex);
333 
348 U_INTERNAL const le_font * U_EXPORT2
350 
363 
375 
390 
406 U_INTERNAL const float * U_EXPORT2
408 
423 
436 
449 
462 
463 #endif
464 #endif