1 /* -*- c-basic-offset:2; tab-width:2; indent-tabs-mode:nil -*- */
2 
3 #ifndef __UI_TYPE_LOADER_H__
4 #define __UI_TYPE_LOADER_H__
5 
6 #include "../ui_font.h"
7 #include "../ui_window.h"
8 
9 typedef enum ui_type_id {
10   TYPE_API_COMPAT_CHECK,
11   UI_WINDOW_SET_TYPE,
12   UI_WINDOW_DRAW_STRING8,
13   UI_WINDOW_DRAW_STRING32,
14   UI_WINDOW_RESIZE,
15   UI_SET_FONT,
16   UI_UNSET_FONT,
17   UI_CALCULATE_CHAR_WIDTH,
18   UI_WINDOW_SET_CLIP,
19   UI_WINDOW_UNSET_CLIP,
20   UI_SET_OT_FONT,
21   UI_CONVERT_TEXT_TO_GLYPHS,
22   MAX_TYPE_FUNCS,
23 
24 } ui_type_id_t;
25 
26 #define TYPE_API_VERSION 0x01
27 #define TYPE_API_COMPAT_CHECK_MAGIC                                         \
28   (((TYPE_API_VERSION & 0x0f) << 28) | ((sizeof(ui_font_t) & 0xff) << 20) | \
29    ((sizeof(ui_window_t) & 0xff) << 12))
30 
31 void *ui_load_type_xft_func(ui_type_id_t id);
32 
33 void *ui_load_type_cairo_func(ui_type_id_t id);
34 
35 #endif
36