static Ret ftk_init_bitmap_factory(void) { ftk_set_bitmap_factory(ftk_bitmap_factory_create()); quit_if_fail(ftk_default_bitmap_factory(), "Init bitmap factory failed.\n"); return RET_OK; }
static int lua_ftk_set_bitmap_factory(lua_State* L) { tolua_Error err = {0}; FtkBitmapFactory* bitmap_factory; int param_ok = tolua_isusertype(L, 1, "FtkBitmapFactory", 0, &err); return_val_if_fail(param_ok, 0); bitmap_factory = tolua_tousertype(L, 1, 0); ftk_set_bitmap_factory(bitmap_factory); return 1; }
static Ret ftk_init_bitmap_factory(void) { ftk_set_bitmap_factory(ftk_bitmap_factory_create()); return RET_OK; }
void ftk_deinit(void) { if(ftk_default_input_method_preeditor() != NULL) { ftk_input_method_preeditor_destroy(ftk_default_input_method_preeditor()); ftk_set_input_method_preeditor(NULL); } if(ftk_default_wnd_manager() != NULL) { ftk_wnd_manager_destroy(ftk_default_wnd_manager()); ftk_set_wnd_manager(NULL); } if(ftk_default_main_loop() != NULL) { ftk_main_loop_destroy(ftk_default_main_loop()); ftk_set_main_loop(NULL); } if(ftk_default_sources_manager() != NULL) { ftk_sources_manager_destroy(ftk_default_sources_manager()); ftk_set_sources_manager(NULL); } if(ftk_default_bitmap_factory() != NULL) { ftk_bitmap_factory_destroy(ftk_default_bitmap_factory()); ftk_set_bitmap_factory(NULL); } if(ftk_default_text_layout() != NULL) { ftk_text_layout_destroy(ftk_default_text_layout()); ftk_set_text_layout(NULL); } if(ftk_default_font() != NULL) { ftk_font_destroy(ftk_default_font()); ftk_set_font(NULL); } if(ftk_default_display() != NULL) { ftk_display_destroy(ftk_default_display()); ftk_set_display(NULL); } if(ftk_default_theme() != NULL) { ftk_theme_destroy(ftk_default_theme()); ftk_set_theme(NULL); } if(ftk_shared_canvas() != NULL) { ftk_canvas_destroy(ftk_shared_canvas()); ftk_set_shared_canvas(NULL); } if(ftk_default_input_method_manager() != NULL) { ftk_input_method_manager_destroy(ftk_default_input_method_manager()); ftk_set_input_method_manager(NULL); } if(ftk_default_config() != NULL) { ftk_config_destroy(ftk_default_config()); ftk_set_config(NULL); } ftk_platform_deinit(); #ifndef USE_STD_MALLOC if(ftk_default_allocator() != NULL) { ftk_allocator_destroy(ftk_default_allocator()); ftk_set_allocator(NULL); } #endif ftk_logd("%s: ftk exit.\n", __func__); return; }