00001
00002
00003
00004
00005
00006
00007 #ifndef __PLRUNS_H
00008 #define __PLRUNS_H
00009
00010 #include "unicode/utypes.h"
00011 #include "unicode/ubidi.h"
00012 #include "layout/LETypes.h"
00013
00014 #include "layout/loengine.h"
00015
00019 typedef void pl_fontRuns;
00023 typedef void pl_valueRuns;
00027 typedef void pl_localeRuns;
00028
00053 U_INTERNAL pl_fontRuns * U_EXPORT2
00054 pl_openFontRuns(const le_font **fonts,
00055 const le_int32 *limits,
00056 le_int32 count);
00057
00069 U_INTERNAL pl_fontRuns * U_EXPORT2
00070 pl_openEmptyFontRuns(le_int32 initialCapacity);
00071
00080 U_INTERNAL void U_EXPORT2
00081 pl_closeFontRuns(pl_fontRuns *fontRuns);
00082
00092 U_INTERNAL le_int32 U_EXPORT2
00093 pl_getFontRunCount(const pl_fontRuns *fontRuns);
00094
00102 U_INTERNAL void U_EXPORT2
00103 pl_resetFontRuns(pl_fontRuns *fontRuns);
00104
00115 U_INTERNAL le_int32 U_EXPORT2
00116 pl_getFontRunLastLimit(const pl_fontRuns *fontRuns);
00117
00128 U_INTERNAL le_int32 U_EXPORT2
00129 pl_getFontRunLimit(const pl_fontRuns *fontRuns,
00130 le_int32 run);
00131
00144 U_INTERNAL const le_font * U_EXPORT2
00145 pl_getFontRunFont(const pl_fontRuns *fontRuns,
00146 le_int32 run);
00147
00148
00167 U_INTERNAL le_int32 U_EXPORT2
00168 pl_addFontRun(pl_fontRuns *fontRuns,
00169 const le_font *font,
00170 le_int32 limit);
00171
00186 U_INTERNAL pl_valueRuns * U_EXPORT2
00187 pl_openValueRuns(const le_int32 *values,
00188 const le_int32 *limits,
00189 le_int32 count);
00190
00202 U_INTERNAL pl_valueRuns * U_EXPORT2
00203 pl_openEmptyValueRuns(le_int32 initialCapacity);
00204
00213 U_INTERNAL void U_EXPORT2
00214 pl_closeValueRuns(pl_valueRuns *valueRuns);
00215
00225 U_INTERNAL le_int32 U_EXPORT2
00226 pl_getValueRunCount(const pl_valueRuns *valueRuns);
00227
00235 U_INTERNAL void U_EXPORT2
00236 pl_resetValueRuns(pl_valueRuns *valueRuns);
00237
00248 U_INTERNAL le_int32 U_EXPORT2
00249 pl_getValueRunLastLimit(const pl_valueRuns *valueRuns);
00250
00261 U_INTERNAL le_int32 U_EXPORT2
00262 pl_getValueRunLimit(const pl_valueRuns *valueRuns,
00263 le_int32 run);
00264
00277 U_INTERNAL le_int32 U_EXPORT2
00278 pl_getValueRunValue(const pl_valueRuns *valueRuns,
00279 le_int32 run);
00280
00281
00299 U_INTERNAL le_int32 U_EXPORT2
00300 pl_addValueRun(pl_valueRuns *valueRuns,
00301 le_int32 value,
00302 le_int32 limit);
00303
00318 U_INTERNAL pl_localeRuns * U_EXPORT2
00319 pl_openLocaleRuns(const char **locales,
00320 const le_int32 *limits,
00321 le_int32 count);
00322
00334 U_INTERNAL pl_localeRuns * U_EXPORT2
00335 pl_openEmptyLocaleRuns(le_int32 initialCapacity);
00336
00345 U_INTERNAL void U_EXPORT2
00346 pl_closeLocaleRuns(pl_localeRuns *localeRuns);
00347
00357 U_INTERNAL le_int32 U_EXPORT2
00358 pl_getLocaleRunCount(const pl_localeRuns *localeRuns);
00359
00367 U_INTERNAL void U_EXPORT2
00368 pl_resetLocaleRuns(pl_localeRuns *localeRuns);
00369
00380 U_INTERNAL le_int32 U_EXPORT2
00381 pl_getLocaleRunLastLimit(const pl_localeRuns *localeRuns);
00382
00393 U_INTERNAL le_int32 U_EXPORT2
00394 pl_getLocaleRunLimit(const pl_localeRuns *localeRuns,
00395 le_int32 run);
00396
00409 U_INTERNAL const char * U_EXPORT2
00410 pl_getLocaleRunLocale(const pl_localeRuns *localeRuns,
00411 le_int32 run);
00412
00413
00432 U_INTERNAL le_int32 U_EXPORT2
00433 pl_addLocaleRun(pl_localeRuns *localeRuns,
00434 const char *locale,
00435 le_int32 limit);
00436
00437 #endif