ICU 4.8.1.1  4.8.1.1
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
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines