bool ro_gui_options_theme_click(wimp_pointer *pointer) { struct theme_descriptor *theme_default; struct toolbar_display *toolbar; switch (pointer->i) { case THEME_DEFAULT_BUTTON: theme_default = ro_gui_theme_find("Aletheia"); for (toolbar = toolbars; toolbar; toolbar = toolbar->next) ro_gui_set_icon_selected_state(theme_pane, toolbar->icon_number, (toolbar->descriptor == theme_default)); break; case THEME_CANCEL_BUTTON: ro_gui_wimp_event_restore(theme_pane); break; case THEME_OK_BUTTON: ro_gui_wimp_event_memorise(theme_pane); break; } return false; }
bool ro_gui_options_image_click(wimp_pointer *pointer) { unsigned int old_fg, old_bg, bg, fg; ro_gui_options_image_read(pointer->w, &old_bg, &old_fg); switch (pointer->i) { case IMAGE_DEFAULT_BUTTON: ro_gui_set_icon_string(pointer->w, IMAGE_FOREGROUND_FIELD, image_quality_menu->entries[3]. data.indirected_text.text, true); ro_gui_set_icon_string(pointer->w, IMAGE_BACKGROUND_FIELD, image_quality_menu->entries[2]. data.indirected_text.text, true); ro_gui_set_icon_decimal(pointer->w, IMAGE_SPEED_FIELD, 10, 2); ro_gui_set_icon_selected_state(pointer->w, IMAGE_DISABLE_ANIMATION, false); case IMAGE_DISABLE_ANIMATION: ro_gui_options_update_shading(pointer->w); break; case IMAGE_CANCEL_BUTTON: ro_gui_wimp_event_restore(pointer->w); break; default: return false; } ro_gui_options_image_read(pointer->w, &bg, &fg); if ((bg != old_bg) || (fg != old_fg)) ro_gui_options_image_update(pointer->w, pointer->i, NULL, NULL, NO_ACTION); return false; }