FreeRDP
Loading...
Searching...
No Matches
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 WINPR_ATTR_NODISCARD
65 FREERDP_LOCAL rdpGlyphCache* glyph_cache_new(rdpContext* context);
66
67 FREERDP_LOCAL void free_cache_glyph_order(rdpContext* context, CACHE_GLYPH_ORDER* glyph);
68
69 WINPR_ATTR_MALLOC(free_cache_glyph_order, 1)
70 WINPR_ATTR_NODISCARD
71 FREERDP_LOCAL CACHE_GLYPH_ORDER* copy_cache_glyph_order(rdpContext* context,
72 const CACHE_GLYPH_ORDER* glyph);
73
74 FREERDP_LOCAL void free_cache_glyph_v2_order(rdpContext* context, CACHE_GLYPH_V2_ORDER* glyph);
75
76 WINPR_ATTR_MALLOC(free_cache_glyph_v2_order, 1)
77 WINPR_ATTR_NODISCARD
78 FREERDP_LOCAL CACHE_GLYPH_V2_ORDER*
79 copy_cache_glyph_v2_order(rdpContext* context, const CACHE_GLYPH_V2_ORDER* glyph);
80
81#ifdef __cplusplus
82}
83#endif
84
85#endif /* FREERDP_LIB_CACHE_GLYPH_H */
Definition glyph.h:35