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
00016 typedef void pl_fontRuns;
00017 typedef void pl_valueRuns;
00018 typedef void pl_localeRuns;
00019
00044 U_INTERNAL pl_fontRuns * U_EXPORT2
00045 pl_openFontRuns(const le_font **fonts,
00046 const le_int32 *limits,
00047 le_int32 count);
00048
00060 U_INTERNAL pl_fontRuns * U_EXPORT2
00061 pl_openEmptyFontRuns(le_int32 initialCapacity);
00062
00071 U_INTERNAL void U_EXPORT2
00072 pl_closeFontRuns(pl_fontRuns *fontRuns);
00073
00083 U_INTERNAL le_int32 U_EXPORT2
00084 pl_getFontRunCount(const pl_fontRuns *fontRuns);
00085
00093 U_INTERNAL void U_EXPORT2
00094 pl_resetFontRuns(pl_fontRuns *fontRuns);
00095
00106 U_INTERNAL le_int32 U_EXPORT2
00107 pl_getFontRunLastLimit(const pl_fontRuns *fontRuns);
00108
00119 U_INTERNAL le_int32 U_EXPORT2
00120 pl_getFontRunLimit(const pl_fontRuns *fontRuns,
00121 le_int32 run);
00122
00135 U_INTERNAL const le_font * U_EXPORT2
00136 pl_getFontRunFont(const pl_fontRuns *fontRuns,
00137 le_int32 run);
00138
00139
00158 U_INTERNAL le_int32 U_EXPORT2
00159 pl_addFontRun(pl_fontRuns *fontRuns,
00160 const le_font *font,
00161 le_int32 limit);
00162
00177 U_INTERNAL pl_valueRuns * U_EXPORT2
00178 pl_openValueRuns(const le_int32 *values,
00179 const le_int32 *limits,
00180 le_int32 count);
00181
00193 U_INTERNAL pl_valueRuns * U_EXPORT2
00194 pl_openEmptyValueRuns(le_int32 initialCapacity);
00195
00204 U_INTERNAL void U_EXPORT2
00205 pl_closeValueRuns(pl_valueRuns *valueRuns);
00206
00216 U_INTERNAL le_int32 U_EXPORT2
00217 pl_getValueRunCount(const pl_valueRuns *valueRuns);
00218
00226 U_INTERNAL void U_EXPORT2
00227 pl_resetValueRuns(pl_valueRuns *valueRuns);
00228
00239 U_INTERNAL le_int32 U_EXPORT2
00240 pl_getValueRunLastLimit(const pl_valueRuns *valueRuns);
00241
00252 U_INTERNAL le_int32 U_EXPORT2
00253 pl_getValueRunLimit(const pl_valueRuns *valueRuns,
00254 le_int32 run);
00255
00268 U_INTERNAL le_int32 U_EXPORT2
00269 pl_getValueRunValue(const pl_valueRuns *valueRuns,
00270 le_int32 run);
00271
00272
00290 U_INTERNAL le_int32 U_EXPORT2
00291 pl_addValueRun(pl_valueRuns *valueRuns,
00292 le_int32 value,
00293 le_int32 limit);
00294
00309 U_INTERNAL pl_localeRuns * U_EXPORT2
00310 pl_openLocaleRuns(const char **locales,
00311 const le_int32 *limits,
00312 le_int32 count);
00313
00325 U_INTERNAL pl_localeRuns * U_EXPORT2
00326 pl_openEmptyLocaleRuns(le_int32 initialCapacity);
00327
00336 U_INTERNAL void U_EXPORT2
00337 pl_closeLocaleRuns(pl_localeRuns *localeRuns);
00338
00348 U_INTERNAL le_int32 U_EXPORT2
00349 pl_getLocaleRunCount(const pl_localeRuns *localeRuns);
00350
00358 U_INTERNAL void U_EXPORT2
00359 pl_resetLocaleRuns(pl_localeRuns *localeRuns);
00360
00371 U_INTERNAL le_int32 U_EXPORT2
00372 pl_getLocaleRunLastLimit(const pl_localeRuns *localeRuns);
00373
00384 U_INTERNAL le_int32 U_EXPORT2
00385 pl_getLocaleRunLimit(const pl_localeRuns *localeRuns,
00386 le_int32 run);
00387
00400 U_INTERNAL const char * U_EXPORT2
00401 pl_getLocaleRunLocale(const pl_localeRuns *localeRuns,
00402 le_int32 run);
00403
00404
00423 U_INTERNAL le_int32 U_EXPORT2
00424 pl_addLocaleRun(pl_localeRuns *localeRuns,
00425 const char *locale,
00426 le_int32 limit);
00427
00428 #endif