00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef __ALICEML_TEXT_SURFACE_CACHER_H__
00028 #define __ALICEML_TEXT_SURFACE_CACHER_H__
00029
00030 #include "aliceml.h"
00031 #include "aliceml_text_surface.h"
00032
00033 #ifdef __cplusplus
00034 extern "C" {
00035 #endif
00036
00037 typedef struct ML_TextSurfaceCacher ML_TextSurfaceCacher;
00038
00040 ALICEMLAPI ML_TextSurfaceCacher * ALICEMLCALL ML_TextSurfaceCacher_Create();
00041
00043 ALICEMLAPI void ALICEMLCALL ML_TextSurfaceCacher_Destroy(ML_TextSurfaceCacher *cacher);
00044
00046 ALICEMLAPI int ALICEMLCALL ML_TextSurfaceCacher_GetSize(ML_TextSurfaceCacher *cacher);
00047
00049 ALICEMLAPI ML_TextSurface * ALICEMLCALL ML_TextSurfaceCacher_Find(ML_TextSurfaceCacher *cacher, const ML_Font *font, ML_char32 ucs4);
00050
00052 ALICEMLAPI int ALICEMLCALL ML_TextSurfaceCacher_Insert(ML_TextSurfaceCacher *cacher, ML_TextSurface *surface);
00053
00063 ALICEMLAPI ML_TextSurface * ALICEMLCALL ML_TextSurfaceCacher_Get(ML_Message *message, ML_Font *font, ML_char32 ucs4);
00064
00066 ALICEMLAPI int ALICEMLCALL ML_TextSurfaceCacher_GetSurfaceSize(ML_Message *message, ML_Font *font, ML_char32 ucs4, int *w, int *h, int *stride);
00067
00069 ALICEMLAPI ML_bool ALICEMLCALL ML_TextSurfaceCacher_EraseEarliestAccess(ML_TextSurfaceCacher *cacher);
00070
00072 ALICEMLAPI int ALICEMLCALL ML_TextSurfaceCacher_Dump(ML_TextSurfaceCacher *cacher, const char *filename);
00073
00074 #ifdef __cplusplus
00075 }
00076 #endif
00077
00078 #endif