static int lua_ftk_set_theme(lua_State* L) { tolua_Error err = {0}; FtkTheme* theme; int param_ok = tolua_isusertype(L, 1, "FtkTheme", 0, &err); return_val_if_fail(param_ok, 0); theme = tolua_tousertype(L, 1, 0); ftk_set_theme(theme); return 1; }
static Ret ftk_init_theme(const char* theme) { char filename[FTK_MAX_PATH + 1] = {0}; ftk_set_theme(ftk_theme_create(theme == NULL)); if(theme != NULL) { #if !defined(ANDROID) && !defined(ANDROID_NDK) ftk_strs_cat(filename, FTK_MAX_PATH, ftk_config_get_data_dir(ftk_default_config()), "/theme/", theme, "/theme.xml", NULL); #else ftk_strs_cat(filename, FTK_MAX_PATH, ftk_config_get_data_dir(ftk_default_config()), "/theme/", theme, "/theme.wav", NULL); #endif ftk_normalize_path(filename); ftk_theme_parse_file(ftk_default_theme(), filename); } 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; }