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
00045 U_DRAFT pl_fontRuns * U_EXPORT2
00046 pl_openFontRuns(const le_font **fonts,
00047 const le_int32 *limits,
00048 le_int32 count);
00049
00061 U_DRAFT pl_fontRuns * U_EXPORT2
00062 pl_openEmptyFontRuns(le_int32 initialCapacity);
00063
00072 U_DRAFT void U_EXPORT2
00073 pl_closeFontRuns(pl_fontRuns *fontRuns);
00074
00084 U_DRAFT le_int32 U_EXPORT2
00085 pl_getFontRunCount(const pl_fontRuns *fontRuns);
00086
00094 U_DRAFT void U_EXPORT2
00095 pl_resetFontRuns(pl_fontRuns *fontRuns);
00096
00107 U_DRAFT le_int32 U_EXPORT2
00108 pl_getFontRunLastLimit(const pl_fontRuns *fontRuns);
00109
00120 U_DRAFT le_int32 U_EXPORT2
00121 pl_getFontRunLimit(const pl_fontRuns *fontRuns,
00122 le_int32 run);
00123
00136 U_DRAFT const le_font * U_EXPORT2
00137 pl_getFontRunFont(const pl_fontRuns *fontRuns,
00138 le_int32 run);
00139
00140
00159 U_DRAFT le_int32 U_EXPORT2
00160 pl_addFontRun(pl_fontRuns *fontRuns,
00161 const le_font *font,
00162 le_int32 limit);
00163
00178 U_DRAFT pl_valueRuns * U_EXPORT2
00179 pl_openValueRuns(const le_int32 *values,
00180 const le_int32 *limits,
00181 le_int32 count);
00182
00194 U_DRAFT pl_valueRuns * U_EXPORT2
00195 pl_openEmptyValueRuns(le_int32 initialCapacity);
00196
00205 U_DRAFT void U_EXPORT2
00206 pl_closeValueRuns(pl_valueRuns *valueRuns);
00207
00217 U_DRAFT le_int32 U_EXPORT2
00218 pl_getValueRunCount(const pl_valueRuns *valueRuns);
00219
00227 U_DRAFT void U_EXPORT2
00228 pl_resetValueRuns(pl_valueRuns *valueRuns);
00229
00240 U_DRAFT le_int32 U_EXPORT2
00241 pl_getValueRunLastLimit(const pl_valueRuns *valueRuns);
00242
00253 U_DRAFT le_int32 U_EXPORT2
00254 pl_getValueRunLimit(const pl_valueRuns *valueRuns,
00255 le_int32 run);
00256
00269 U_DRAFT le_int32 U_EXPORT2
00270 pl_getValueRunValue(const pl_valueRuns *valueRuns,
00271 le_int32 run);
00272
00273
00291 U_DRAFT le_int32 U_EXPORT2
00292 pl_addValueRun(pl_valueRuns *valueRuns,
00293 le_int32 value,
00294 le_int32 limit);
00295
00310 U_DRAFT pl_localeRuns * U_EXPORT2
00311 pl_openLocaleRuns(const char **locales,
00312 const le_int32 *limits,
00313 le_int32 count);
00314
00326 U_DRAFT pl_localeRuns * U_EXPORT2
00327 pl_openEmptyLocaleRuns(le_int32 initialCapacity);
00328
00337 U_DRAFT void U_EXPORT2
00338 pl_closeLocaleRuns(pl_localeRuns *localeRuns);
00339
00349 U_DRAFT le_int32 U_EXPORT2
00350 pl_getLocaleRunCount(const pl_localeRuns *localeRuns);
00351
00359 U_DRAFT void U_EXPORT2
00360 pl_resetLocaleRuns(pl_localeRuns *localeRuns);
00361
00372 U_DRAFT le_int32 U_EXPORT2
00373 pl_getLocaleRunLastLimit(const pl_localeRuns *localeRuns);
00374
00385 U_DRAFT le_int32 U_EXPORT2
00386 pl_getLocaleRunLimit(const pl_localeRuns *localeRuns,
00387 le_int32 run);
00388
00401 U_DRAFT const char * U_EXPORT2
00402 pl_getLocaleRunLocale(const pl_localeRuns *localeRuns,
00403 le_int32 run);
00404
00405
00424 U_DRAFT le_int32 U_EXPORT2
00425 pl_addLocaleRun(pl_localeRuns *localeRuns,
00426 const char *locale,
00427 le_int32 limit);
00428
00429 #endif