1 /** 2 * @file lv_font_manager.h 3 * 4 */ 5 #ifndef LV_FONT_MANAGER_H 6 #define LV_FONT_MANAGER_H 7 8 #ifdef __cplusplus 9 extern "C" { 10 #endif 11 12 /********************* 13 * INCLUDES 14 *********************/ 15 16 #include "../../misc/lv_types.h" 17 18 #if LV_USE_FONT_MANAGER 19 20 #if !LV_USE_FREETYPE 21 #error "LV_USE_FONT_MANAGER requires LV_USE_FREETYPE" 22 #endif 23 24 /********************* 25 * DEFINES 26 *********************/ 27 28 /********************** 29 * TYPEDEFS 30 **********************/ 31 32 typedef struct _lv_font_manager_t lv_font_manager_t; 33 34 /********************** 35 * GLOBAL PROTOTYPES 36 **********************/ 37 38 /** 39 * Create main font manager. 40 * @param recycle_cache_size number of fonts that were recently deleted from the cache. 41 * @return pointer to main font manager. 42 */ 43 lv_font_manager_t * lv_font_manager_create(uint32_t recycle_cache_size); 44 45 /** 46 * Delete main font manager. 47 * @param manager pointer to main font manager. 48 * @return return true if the deletion was successful. 49 */ 50 bool lv_font_manager_delete(lv_font_manager_t * manager); 51 52 /** 53 * Add the font file path. 54 * @param manager pointer to main font manager. 55 * @param name font name. 56 * @param path font file path. 57 */ 58 void lv_font_manager_add_path(lv_font_manager_t * manager, const char * name, const char * path); 59 60 /** 61 * Add the font file path with static memory. 62 * @param manager pointer to main font manager. 63 * @param name font name. 64 * @param path font file path. 65 */ 66 void lv_font_manager_add_path_static(lv_font_manager_t * manager, const char * name, const char * path); 67 68 /** 69 * Remove the font file path. 70 * @param manager pointer to main font manager. 71 * @param name font name. 72 * @return return true if the remove was successful. 73 */ 74 bool lv_font_manager_remove_path(lv_font_manager_t * manager, const char * name); 75 76 /** 77 * Create font. 78 * @param manager pointer to main font manager. 79 * @param font_family font family name. 80 * @param render_mode font render mode, see lv_freetype_font_render_mode_t. 81 * @param size font size. 82 * @param style font style, see lv_freetype_font_style_t. 83 * @return point to the created font 84 */ 85 lv_font_t * lv_font_manager_create_font(lv_font_manager_t * manager, const char * font_family, uint16_t render_mode, 86 uint32_t size, uint16_t style); 87 88 /** 89 * Delete font. 90 * @param manager pointer to main font manager. 91 * @param font point to the font. 92 * @return return true if the deletion was successful. 93 */ 94 void lv_font_manager_delete_font(lv_font_manager_t * manager, lv_font_t * font); 95 96 /********************** 97 * MACROS 98 **********************/ 99 100 #endif /* LV_USE_FONT_MANAGER */ 101 102 #ifdef __cplusplus 103 } /* extern "C" */ 104 #endif 105 106 #endif /* FONT_MANAGER_MANAGER_H */ 107