FreeRDP
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
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
27typedef struct
28{
29 UINT32 number;
30 UINT32 maxCellSize;
31 rdpGlyph** entries;
33
34typedef struct
35{
36 void* fragment;
37 UINT32 size;
39
40typedef struct
41{
42 FRAGMENT_CACHE_ENTRY entries[256];
44
45typedef struct
46{
47 FRAGMENT_CACHE fragCache;
48 GLYPH_CACHE glyphCache[10];
49
50 wLog* log;
51 rdpContext* context;
53
54#ifdef __cplusplus
55extern "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