Lines Matching refs:manager
61 static const char * lv_font_manager_get_path(lv_font_manager_t * manager, const char * name);
63 static bool lv_font_manager_check_resource(lv_font_manager_t * manager);
64 static lv_font_rec_node_t * lv_font_manager_search_rec_node(lv_font_manager_t * manager, lv_font_t …
66 static const lv_font_refer_node_t * lv_font_manager_get_freetype_font(lv_font_manager_t * manager,
68 static bool lv_font_manager_reset_freetype_font(lv_font_manager_t * manager, const lv_font_refer_no…
70 static lv_font_t * lv_font_manager_create_font_single(lv_font_manager_t * manager, const lv_freetyp…
71 static bool lv_font_manager_delete_font_single(lv_font_manager_t * manager, lv_font_t * font);
73 static lv_font_t * lv_font_manager_create_font_family(lv_font_manager_t * manager, const lv_freetyp…
74 static void lv_font_manager_delete_font_family(lv_font_manager_t * manager, lv_font_t * font);
76 static void lv_font_manager_add_path_core(lv_font_manager_t * manager, const char * name, const cha…
90 lv_font_manager_t * manager = lv_malloc_zeroed(sizeof(lv_font_manager_t)); in lv_font_manager_create() local
91 LV_ASSERT_MALLOC(manager); in lv_font_manager_create()
92 if(!manager) { in lv_font_manager_create()
97 lv_ll_init(&manager->refer_ll, sizeof(lv_font_refer_node_t)); in lv_font_manager_create()
98 lv_ll_init(&manager->rec_ll, sizeof(lv_font_rec_node_t)); in lv_font_manager_create()
99 lv_ll_init(&manager->path_ll, sizeof(lv_font_path_t)); in lv_font_manager_create()
101 manager->recycle_manager = lv_font_manager_recycle_create(recycle_cache_size); in lv_font_manager_create()
104 return manager; in lv_font_manager_create()
107 bool lv_font_manager_delete(lv_font_manager_t * manager) in lv_font_manager_delete() argument
109 LV_ASSERT_NULL(manager); in lv_font_manager_delete()
112 if(lv_font_manager_check_resource(manager)) { in lv_font_manager_delete()
118 lv_font_manager_recycle_delete(manager->recycle_manager); in lv_font_manager_delete()
122 LV_LL_READ(&manager->path_ll, font_path) { in lv_font_manager_delete()
131 lv_ll_clear(&manager->path_ll); in lv_font_manager_delete()
133 lv_free(manager); in lv_font_manager_delete()
139 void lv_font_manager_add_path(lv_font_manager_t * manager, const char * name, const char * path) in lv_font_manager_add_path() argument
141 lv_font_manager_add_path_core(manager, name, path, false); in lv_font_manager_add_path()
144 void lv_font_manager_add_path_static(lv_font_manager_t * manager, const char * name, const char * p… in lv_font_manager_add_path_static() argument
146 lv_font_manager_add_path_core(manager, name, path, true); in lv_font_manager_add_path_static()
149 bool lv_font_manager_remove_path(lv_font_manager_t * manager, const char * name) in lv_font_manager_remove_path() argument
152 LV_LL_READ(&manager->path_ll, font_path) { in lv_font_manager_remove_path()
163 lv_ll_remove(&manager->path_ll, font_path); in lv_font_manager_remove_path()
179 lv_font_t * lv_font_manager_create_font(lv_font_manager_t * manager, const char * font_family, uint… in lv_font_manager_create_font() argument
183 LV_ASSERT_NULL(manager); in lv_font_manager_create_font()
196 ret_font = lv_font_manager_create_font_family(manager, &ft_info); in lv_font_manager_create_font()
199 ret_font = lv_font_manager_create_font_single(manager, &ft_info); in lv_font_manager_create_font()
215 void lv_font_manager_delete_font(lv_font_manager_t * manager, lv_font_t * font) in lv_font_manager_delete_font() argument
217 LV_ASSERT_NULL(manager); in lv_font_manager_delete_font()
221 lv_font_manager_delete_font_family(manager, font); in lv_font_manager_delete_font()
225 lv_font_manager_delete_font_single(manager, font); in lv_font_manager_delete_font()
232 static lv_font_t * lv_font_manager_create_font_single(lv_font_manager_t * manager, const lv_freetyp… in lv_font_manager_create_font_single() argument
234 LV_ASSERT_NULL(manager); in lv_font_manager_create_font_single()
238 const lv_font_refer_node_t * refer_node = lv_font_manager_get_freetype_font(manager, ft_info); in lv_font_manager_create_font_single()
244 lv_font_rec_node_t * rec_node = lv_ll_ins_head(&manager->rec_ll); in lv_font_manager_create_font_single()
258 static bool lv_font_manager_delete_font_single(lv_font_manager_t * manager, lv_font_t * font) in lv_font_manager_delete_font_single() argument
260 LV_ASSERT_NULL(manager); in lv_font_manager_delete_font_single()
269 lv_font_rec_node_t * rec_node = lv_font_manager_search_rec_node(manager, font); in lv_font_manager_delete_font_single()
278 bool retval = lv_font_manager_reset_freetype_font(manager, rec_node->refer_node_p); in lv_font_manager_delete_font_single()
282 lv_ll_remove(&manager->rec_ll, rec_node); in lv_font_manager_delete_font_single()
307 static lv_font_t * lv_font_manager_create_font_family(lv_font_manager_t * manager, const lv_freetyp… in lv_font_manager_create_font_family() argument
309 LV_ASSERT_NULL(manager); in lv_font_manager_create_font_family()
325 lv_font_t * cur_font = lv_font_manager_create_font_single(manager, &tmp_ft_info); in lv_font_manager_create_font_family()
358 static void lv_font_manager_delete_font_family(lv_font_manager_t * manager, lv_font_t * font) in lv_font_manager_delete_font_family() argument
360 LV_ASSERT_NULL(manager); in lv_font_manager_delete_font_family()
366 lv_font_manager_delete_font_single(manager, f); in lv_font_manager_delete_font_family()
371 static void lv_font_manager_add_path_core(lv_font_manager_t * manager, const char * name, const cha… in lv_font_manager_add_path_core() argument
374 LV_ASSERT_NULL(manager); in lv_font_manager_add_path_core()
378 const char * old_path = lv_font_manager_get_path(manager, name); in lv_font_manager_add_path_core()
384 lv_font_path_t * font_path = lv_ll_ins_tail(&manager->path_ll); in lv_font_manager_add_path_core()
407 static const char * lv_font_manager_get_path(lv_font_manager_t * manager, const char * name) in lv_font_manager_get_path() argument
410 LV_LL_READ(&manager->path_ll, font_path) { in lv_font_manager_get_path()
419 static bool lv_font_manager_check_resource(lv_font_manager_t * manager) in lv_font_manager_check_resource() argument
421 LV_ASSERT_NULL(manager); in lv_font_manager_check_resource()
424 lv_ll_t * rec_ll = &manager->rec_ll; in lv_font_manager_check_resource()
440 lv_ll_t * refer_ll = &manager->refer_ll; in lv_font_manager_check_resource()
460 static lv_font_rec_node_t * lv_font_manager_search_rec_node(lv_font_manager_t * manager, lv_font_t … in lv_font_manager_search_rec_node() argument
462 LV_ASSERT_NULL(manager); in lv_font_manager_search_rec_node()
466 LV_LL_READ(&manager->rec_ll, rec_node) { in lv_font_manager_search_rec_node()
476 static lv_font_refer_node_t * lv_font_manager_search_refer_node(lv_font_manager_t * manager, in lv_font_manager_search_refer_node() argument
479 LV_ASSERT_NULL(manager); in lv_font_manager_search_refer_node()
483 LV_LL_READ(&manager->refer_ll, refer_node) { in lv_font_manager_search_refer_node()
493 static lv_font_t * lv_font_manager_create_font_warpper(lv_font_manager_t * manager, const lv_freety… in lv_font_manager_create_font_warpper() argument
495 LV_ASSERT_NULL(manager); in lv_font_manager_create_font_warpper()
501 font = lv_font_manager_recycle_get_reuse(manager->recycle_manager, ft_info); in lv_font_manager_create_font_warpper()
511 const char * path = lv_font_manager_get_path(manager, ft_info->name); in lv_font_manager_create_font_warpper()
527 static void lv_font_manager_delete_font_warpper(lv_font_manager_t * manager, lv_font_refer_node_t *… in lv_font_manager_delete_font_warpper() argument
529 LV_ASSERT_NULL(manager); in lv_font_manager_delete_font_warpper()
531 …lv_font_manager_recycle_set_reuse(manager->recycle_manager, refer_node->font_p, &refer_node->ft_in… in lv_font_manager_delete_font_warpper()
534 static const lv_font_refer_node_t * lv_font_manager_get_freetype_font(lv_font_manager_t * manager, in lv_font_manager_get_freetype_font() argument
537 LV_ASSERT_NULL(manager); in lv_font_manager_get_freetype_font()
541 lv_font_refer_node_t * refer_node = lv_font_manager_search_refer_node(manager, ft_info); in lv_font_manager_get_freetype_font()
550 lv_font_t * font = lv_font_manager_create_font_warpper(manager, ft_info); in lv_font_manager_get_freetype_font()
557 refer_node = lv_ll_ins_head(&manager->refer_ll); in lv_font_manager_get_freetype_font()
573 static bool lv_font_manager_reset_freetype_font(lv_font_manager_t * manager, const lv_font_refer_no… in lv_font_manager_reset_freetype_font() argument
575 LV_ASSERT_NULL(manager); in lv_font_manager_reset_freetype_font()
579 lv_font_refer_node_t * refer_node = lv_font_manager_search_refer_node(manager, &node->ft_info); in lv_font_manager_reset_freetype_font()
596 lv_font_manager_delete_font_warpper(manager, refer_node); in lv_font_manager_reset_freetype_font()
599 lv_ll_remove(&manager->refer_ll, refer_node); in lv_font_manager_reset_freetype_font()