00001
00002
00003
00004
00005
00006
00007 #ifndef __PLRUNS_H
00008 #define __PLRUNS_H
00009
00010 #include "unicode/utypes.h"
00011
00012 #ifndef U_HIDE_INTERNAL_API
00013
00014 #include "unicode/ubidi.h"
00015 #include "layout/LETypes.h"
00016
00017 #include "layout/loengine.h"
00018
00022 typedef void pl_fontRuns;
00026 typedef void pl_valueRuns;
00030 typedef void pl_localeRuns;
00031
00056 U_INTERNAL pl_fontRuns * U_EXPORT2
00057 pl_openFontRuns(const le_font **fonts,
00058 const le_int32 *limits,
00059 le_int32 count);
00060
00072 U_INTERNAL pl_fontRuns * U_EXPORT2
00073 pl_openEmptyFontRuns(le_int32 initialCapacity);
00074
00083 U_INTERNAL void U_EXPORT2
00084 pl_closeFontRuns(pl_fontRuns *fontRuns);
00085
00095 U_INTERNAL le_int32 U_EXPORT2
00096 pl_getFontRunCount(const pl_fontRuns *fontRuns);
00097
00105 U_INTERNAL void U_EXPORT2
00106 pl_resetFontRuns(pl_fontRuns *fontRuns);
00107
00118 U_INTERNAL le_int32 U_EXPORT2
00119 pl_getFontRunLastLimit(const pl_fontRuns *fontRuns);
00120
00131 U_INTERNAL le_int32 U_EXPORT2
00132 pl_getFontRunLimit(const pl_fontRuns *fontRuns,
00133 le_int32 run);
00134
00147 U_INTERNAL const le_font * U_EXPORT2
00148 pl_getFontRunFont(const pl_fontRuns *fontRuns,
00149 le_int32 run);
00150
00151
00170 U_INTERNAL le_int32 U_EXPORT2
00171 pl_addFontRun(pl_fontRuns *fontRuns,
00172 const le_font *font,
00173 le_int32 limit);
00174
00189 U_INTERNAL pl_valueRuns * U_EXPORT2
00190 pl_openValueRuns(const le_int32 *values,
00191 const le_int32 *limits,
00192 le_int32 count);
00193
00205 U_INTERNAL pl_valueRuns * U_EXPORT2
00206 pl_openEmptyValueRuns(le_int32 initialCapacity);
00207
00216 U_INTERNAL void U_EXPORT2
00217 pl_closeValueRuns(pl_valueRuns *valueRuns);
00218
00228 U_INTERNAL le_int32 U_EXPORT2
00229 pl_getValueRunCount(const pl_valueRuns *valueRuns);
00230
00238 U_INTERNAL void U_EXPORT2
00239 pl_resetValueRuns(pl_valueRuns *valueRuns);
00240
00251 U_INTERNAL le_int32 U_EXPORT2
00252 pl_getValueRunLastLimit(const pl_valueRuns *valueRuns);
00253
00264 U_INTERNAL le_int32 U_EXPORT2
00265 pl_getValueRunLimit(const pl_valueRuns *valueRuns,
00266 le_int32 run);
00267
00280 U_INTERNAL le_int32 U_EXPORT2
00281 pl_getValueRunValue(const pl_valueRuns *valueRuns,
00282 le_int32 run);
00283
00284
00302 U_INTERNAL le_int32 U_EXPORT2
00303 pl_addValueRun(pl_valueRuns *valueRuns,
00304 le_int32 value,
00305 le_int32 limit);
00306
00321 U_INTERNAL pl_localeRuns * U_EXPORT2
00322 pl_openLocaleRuns(const char **locales,
00323 const le_int32 *limits,
00324 le_int32 count);
00325
00337 U_INTERNAL pl_localeRuns * U_EXPORT2
00338 pl_openEmptyLocaleRuns(le_int32 initialCapacity);
00339
00348 U_INTERNAL void U_EXPORT2
00349 pl_closeLocaleRuns(pl_localeRuns *localeRuns);
00350
00360 U_INTERNAL le_int32 U_EXPORT2
00361 pl_getLocaleRunCount(const pl_localeRuns *localeRuns);
00362
00370 U_INTERNAL void U_EXPORT2
00371 pl_resetLocaleRuns(pl_localeRuns *localeRuns);
00372
00383 U_INTERNAL le_int32 U_EXPORT2
00384 pl_getLocaleRunLastLimit(const pl_localeRuns *localeRuns);
00385
00396 U_INTERNAL le_int32 U_EXPORT2
00397 pl_getLocaleRunLimit(const pl_localeRuns *localeRuns,
00398 le_int32 run);
00399
00412 U_INTERNAL const char * U_EXPORT2
00413 pl_getLocaleRunLocale(const pl_localeRuns *localeRuns,
00414 le_int32 run);
00415
00416
00435 U_INTERNAL le_int32 U_EXPORT2
00436 pl_addLocaleRun(pl_localeRuns *localeRuns,
00437 const char *locale,
00438 le_int32 limit);
00439
00440 #endif
00441 #endif