FreeRDP
glyph.h
1 
20 #ifndef FREERDP_LIB_CACHE_GLYPH_H
21 #define FREERDP_LIB_CACHE_GLYPH_H
22 
23 #include <freerdp/api.h>
24 #include <freerdp/freerdp.h>
25 #include <freerdp/pointer.h>
26 
27 typedef struct
28 {
29  UINT32 number;
30  UINT32 maxCellSize;
31  rdpGlyph** entries;
32 } GLYPH_CACHE;
33 
34 typedef struct
35 {
36  void* fragment;
37  UINT32 size;
39 
40 typedef struct
41 {
42  FRAGMENT_CACHE_ENTRY entries[256];
44 
45 typedef struct
46 {
47  FRAGMENT_CACHE fragCache;
48  GLYPH_CACHE glyphCache[10];
49 
50  wLog* log;
51  rdpContext* context;
53 
54 #ifdef __cplusplus
55 extern "C"
56 {
57 #endif
58 
59  FREERDP_LOCAL void glyph_cache_register_callbacks(rdpUpdate* update);
60 
61  FREERDP_LOCAL void glyph_cache_free(rdpGlyphCache* glyph);
62 
63  WINPR_ATTR_MALLOC(glyph_cache_free, 1)
64  FREERDP_LOCAL rdpGlyphCache* glyph_cache_new(rdpContext* context);
65 
66  FREERDP_LOCAL CACHE_GLYPH_ORDER* copy_cache_glyph_order(rdpContext* context,
67  const CACHE_GLYPH_ORDER* glyph);
68  FREERDP_LOCAL void free_cache_glyph_order(rdpContext* context, CACHE_GLYPH_ORDER* glyph);
69 
70  FREERDP_LOCAL CACHE_GLYPH_V2_ORDER*
71  copy_cache_glyph_v2_order(rdpContext* context, const CACHE_GLYPH_V2_ORDER* glyph);
72  FREERDP_LOCAL void free_cache_glyph_v2_order(rdpContext* context, CACHE_GLYPH_V2_ORDER* glyph);
73 
74 #ifdef __cplusplus
75 }
76 #endif
77 
78 #endif /* FREERDP_LIB_CACHE_GLYPH_H */
Definition: glyph.h:35