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
00041 ML_TextSurfaceCacher_Create();
00042
00044 ALICEMLAPI void ALICEMLCALL
00045 ML_TextSurfaceCacher_Destroy(ML_TextSurfaceCacher *cacher);
00046
00048 ALICEMLAPI int ALICEMLCALL
00049 ML_TextSurfaceCacher_GetSize(ML_TextSurfaceCacher *cacher);
00050
00051 ALICEMLAPI int ALICEMLCALL
00052 ML_TextSurfaceCacher_GetCapacity(ML_TextSurfaceCacher *cacher);
00053
00054 ALICEMLAPI int ALICEMLCALL
00055 ML_TextSurfaceCacher_SetCapacity(ML_TextSurfaceCacher *cacher, int capacity);
00056
00058 ALICEMLAPI ML_TextSurface * ALICEMLCALL
00059 ML_TextSurfaceCacher_Find(ML_TextSurfaceCacher *cacher, const ML_Font *font,
00060 ML_char32 ucs4);
00061
00063 ALICEMLAPI int ALICEMLCALL
00064 ML_TextSurfaceCacher_Insert(ML_TextSurfaceCacher *cacher,
00065 ML_TextSurface *surface);
00066
00077 ALICEMLAPI ML_TextSurface * ALICEMLCALL
00078 ML_TextSurfaceCacher_Get(ML_Message *message, ML_Font *font, ML_char32 ucs4);
00079
00081 ALICEMLAPI int ALICEMLCALL
00082 ML_TextSurfaceCacher_GetGlyphMetrics(ML_Message *message, ML_Font *font,
00083 ML_char32 ucs4, ML_GlyphMetrics *metrics);
00084
00086 ALICEMLAPI ML_bool ALICEMLCALL
00087 ML_TextSurfaceCacher_EraseEarliestAccess(ML_TextSurfaceCacher *cacher);
00088
00090 ALICEMLAPI int ALICEMLCALL
00091 ML_TextSurfaceCacher_Dump(ML_TextSurfaceCacher *cacher, const char *filename);
00092
00093 #ifdef __cplusplus
00094 }
00095 #endif
00096
00097 #endif