1 #ifdef E_TYPEDEFS
2 
3 typedef struct _E_Font_Default E_Font_Default;
4 typedef struct _E_Font_Fallback E_Font_Fallback;
5 typedef struct _E_Font_Available E_Font_Available;
6 typedef struct _E_Font_Properties E_Font_Properties;
7 
8 #else
9 #ifndef E_FONT_H
10 #define E_FONT_H
11 
12 struct _E_Font_Default
13 {
14    const char     *text_class;
15    const char     *font;
16    Evas_Font_Size  size;
17 };
18 
19 struct _E_Font_Fallback
20 {
21    const char *name;
22 };
23 
24 struct _E_Font_Available
25 {
26    const char *name;
27 };
28 
29 struct _E_Font_Properties
30 {
31    const char *name;
32    Eina_List *styles;
33 };
34 
35 EINTERN int		e_font_init(void);
36 EINTERN int		e_font_shutdown(void);
37 E_API void		e_font_apply(void);
38 E_API Eina_List         *e_font_available_list(void);
39 E_API void		e_font_available_list_free(Eina_List *available);
40 E_API Eina_Hash         *e_font_available_list_parse(Eina_List *list);
41 E_API void               e_font_available_hash_free(Eina_Hash *hash);
42 E_API E_Font_Properties *e_font_fontconfig_name_parse(const char *font);
43 E_API const char        *e_font_fontconfig_name_get(const char *name, const char *style);
44 E_API void               e_font_properties_free(E_Font_Properties *efp);
45 
46 /* global font fallbacks */
47 E_API void		e_font_fallback_clear(void);
48 E_API void		e_font_fallback_append(const char *font);
49 E_API void		e_font_fallback_prepend(const char *font);
50 E_API void		e_font_fallback_remove(const char *font);
51 E_API Eina_List         *e_font_fallback_list(void);
52 
53 /* setup edje text classes */
54 E_API void		e_font_default_set(const char *text_class, const char *font, Evas_Font_Size size);
55 E_API E_Font_Default    *e_font_default_get(const char *text_class);
56 E_API void		e_font_default_remove(const char *text_class);
57 E_API Eina_List         *e_font_default_list(void);
58 E_API const char        *e_font_default_string_get(const char *text_class, Evas_Font_Size *size_ret);
59 
60 #endif
61 #endif
62