FreeRDP
rdtk_font.h
1 
19 #ifndef RDTK_FONT_PRIVATE_H
20 #define RDTK_FONT_PRIVATE_H
21 
22 #include <stdint.h>
23 
24 #include <rdtk/rdtk.h>
25 
26 #include <winpr/image.h>
27 
28 #include "rdtk_engine.h"
29 
30 struct rdtk_glyph
31 {
32  int width;
33  int offsetX;
34  int offsetY;
35  int rectX;
36  int rectY;
37  int rectWidth;
38  int rectHeight;
39  uint8_t code[4];
40 };
41 
42 struct rdtk_font
43 {
44  rdtkEngine* engine;
45 
46  uint32_t size;
47  uint16_t height;
48  char* family;
49  char* style;
50  wImage* image;
51  uint16_t glyphCount;
52  rdtkGlyph* glyphs;
53 };
54 
55 #ifdef __cplusplus
56 extern "C"
57 {
58 #endif
59 
60  int rdtk_font_text_draw_size(rdtkFont* font, uint16_t* width, uint16_t* height,
61  const char* text);
62 
63  int rdtk_font_engine_init(rdtkEngine* engine);
64  int rdtk_font_engine_uninit(rdtkEngine* engine);
65 
66  rdtkFont* rdtk_font_new(rdtkEngine* engine, const char* path, const char* file);
67  void rdtk_font_free(rdtkFont* font);
68 
69 #ifdef __cplusplus
70 }
71 #endif
72 
73 #endif /* RDTK_FONT_PRIVATE_H */