int Configurator::Run(bool installing) { RimeModule* levers = rime_get_api()->find_module("levers"); if (!levers) return 1; RimeLeversApi* api = (RimeLeversApi*)levers->get_api(); if (!api) return 1; bool reconfigured = false; RimeSwitcherSettings* switcher_settings = api->switcher_settings_init(); UIStyleSettings ui_style_settings; bool skip_switcher_settings = installing && !api->is_first_run((RimeCustomSettings*)switcher_settings); bool skip_ui_style_settings = installing && !api->is_first_run(ui_style_settings.settings()); (skip_switcher_settings || configure_switcher(api, switcher_settings, &reconfigured)) && (skip_ui_style_settings || configure_ui(api, &ui_style_settings, &reconfigured)); api->custom_settings_destroy((RimeCustomSettings*)switcher_settings); if (installing || reconfigured) { return UpdateWorkspace(reconfigured); } return 0; }
int StateEditor() { SDL_RenderClear(GetRenderer()); UpdateMousePosition(); UpdateEditorPanel(MainEditorPanels); UpdateWorkspace(); DrawWorkspace(); DrawEditorPanels(MainEditorPanels); NextFrame(); return 0; }
int Configurator::Run(bool installing) { rime::Deployer& deployer(rime::Service::instance().deployer()); bool reconfigured = false; rime::SwitcherSettings switcher_settings(&deployer); UIStyleSettings ui_style_settings(&deployer); bool skip_switcher_settings = installing && !switcher_settings.IsFirstRun(); bool skip_ui_style_settings = installing && !ui_style_settings.IsFirstRun(); (skip_switcher_settings || ConfigureSwitcher(&switcher_settings, &reconfigured)) && (skip_ui_style_settings || ConfigureUI(&ui_style_settings, &reconfigured)); if (installing || reconfigured) { return UpdateWorkspace(reconfigured); } return 0; }