summaryrefslogtreecommitdiff
path: root/riscos/configure/con_image.c
diff options
context:
space:
mode:
Diffstat (limited to 'riscos/configure/con_image.c')
-rw-r--r--riscos/configure/con_image.c269
1 files changed, 0 insertions, 269 deletions
diff --git a/riscos/configure/con_image.c b/riscos/configure/con_image.c
deleted file mode 100644
index 49dd4f76d..000000000
--- a/riscos/configure/con_image.c
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * Copyright 2006 Richard Wilson <info@tinct.net>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <stdbool.h>
-#include <swis.h>
-#include <oslib/osspriteop.h>
-#include <oslib/wimp.h>
-
-#include "utils/nsoption.h"
-#include "utils/log.h"
-
-#include "riscos/gui.h"
-#include "riscos/configure/configure.h"
-#include "riscos/dialog.h"
-#include "riscos/menus.h"
-#include "riscos/tinct.h"
-#include "riscos/wimp.h"
-#include "riscos/wimp_event.h"
-
-
-#define IMAGE_FOREGROUND_FIELD 3
-#define IMAGE_FOREGROUND_MENU 4
-#define IMAGE_BACKGROUND_FIELD 6
-#define IMAGE_BACKGROUND_MENU 7
-#define IMAGE_CURRENT_DISPLAY 8
-#define IMAGE_SPEED_TEXT 11
-#define IMAGE_SPEED_FIELD 12
-#define IMAGE_SPEED_DEC 13
-#define IMAGE_SPEED_INC 14
-#define IMAGE_SPEED_CS 15
-#define IMAGE_DISABLE_ANIMATION 16
-#define IMAGE_DEFAULT_BUTTON 17
-#define IMAGE_CANCEL_BUTTON 18
-#define IMAGE_OK_BUTTON 19
-
-static bool ro_gui_options_image_click(wimp_pointer *pointer);
-static bool ro_gui_options_image_ok(wimp_w w);
-static void ro_gui_options_image_redraw(wimp_draw *redraw);
-static bool ro_gui_options_image_update(wimp_w w, wimp_i i, wimp_menu *m,
- wimp_selection *s, menu_action a);
-static void ro_gui_options_image_read(wimp_w w, unsigned int *bg,
- unsigned int *fg);
-static void ro_gui_options_update_shading(wimp_w w);
-
-static osspriteop_area *example_images;
-int example_users = 0;
-unsigned int tinct_options[] = {tinct_USE_OS_SPRITE_OP, 0, tinct_DITHER,
- tinct_ERROR_DIFFUSE};
-
-bool ro_gui_options_image_initialise(wimp_w w)
-{
- int i;
-
- /* load the sprite file */
- if (example_users == 0) {
- char pathname[256];
- snprintf(pathname, 256, "%s.Resources.Image", NETSURF_DIR);
- pathname[255] = '\0';
- example_images = ro_gui_load_sprite_file(pathname);
- if (!example_images)
- return false;
- }
- example_users++;
-
- /* set the current values */
- for (i = 0; (i < 4); i++) {
- if ((unsigned int)nsoption_int(plot_fg_quality) == tinct_options[i])
- ro_gui_set_icon_string(w, IMAGE_FOREGROUND_FIELD,
- image_quality_menu->entries[i].
- data.indirected_text.text, true);
- if ((unsigned int)nsoption_int(plot_bg_quality) == tinct_options[i])
- ro_gui_set_icon_string(w, IMAGE_BACKGROUND_FIELD,
- image_quality_menu->entries[i].
- data.indirected_text.text, true);
- }
- ro_gui_set_icon_decimal(w, IMAGE_SPEED_FIELD,
- nsoption_int(minimum_gif_delay), 2);
- ro_gui_set_icon_selected_state(w, IMAGE_DISABLE_ANIMATION,
- !nsoption_bool(animate_images));
- ro_gui_options_update_shading(w);
-
- /* register icons */
- ro_gui_wimp_event_register_menu_gright(w, IMAGE_FOREGROUND_FIELD,
- IMAGE_FOREGROUND_MENU, image_quality_menu);
- ro_gui_wimp_event_register_menu_gright(w, IMAGE_BACKGROUND_FIELD,
- IMAGE_BACKGROUND_MENU, image_quality_menu);
- ro_gui_wimp_event_register_text_field(w, IMAGE_SPEED_TEXT);
- ro_gui_wimp_event_register_numeric_field(w, IMAGE_SPEED_FIELD,
- IMAGE_SPEED_INC, IMAGE_SPEED_DEC, 0, 6000, 10, 2);
- ro_gui_wimp_event_register_checkbox(w, IMAGE_DISABLE_ANIMATION);
- ro_gui_wimp_event_register_text_field(w, IMAGE_SPEED_CS);
- ro_gui_wimp_event_register_redraw_window(w,
- ro_gui_options_image_redraw);
- ro_gui_wimp_event_register_mouse_click(w,
- ro_gui_options_image_click);
- ro_gui_wimp_event_register_menu_selection(w,
- ro_gui_options_image_update);
- ro_gui_wimp_event_register_cancel(w, IMAGE_CANCEL_BUTTON);
- ro_gui_wimp_event_register_ok(w, IMAGE_OK_BUTTON,
- ro_gui_options_image_ok);
- ro_gui_wimp_event_set_help_prefix(w, "HelpImageConfig");
- ro_gui_wimp_event_memorise(w);
-
- return true;
-}
-
-void ro_gui_options_image_finalise(wimp_w w)
-{
- example_users--;
- if (example_users == 0) {
- free(example_images);
- example_images = NULL;
- }
- ro_gui_wimp_event_finalise(w);
-}
-
-bool ro_gui_options_image_update(wimp_w w, wimp_i i, wimp_menu *m,
- wimp_selection *s, menu_action a)
-{
- ro_gui_redraw_icon(w, IMAGE_CURRENT_DISPLAY);
-
- return true;
-}
-
-void ro_gui_options_image_redraw(wimp_draw *redraw)
-{
- osbool more;
- os_error *error;
- wimp_icon_state icon_state;
- osspriteop_header *bg = NULL, *fg = NULL;
- unsigned int bg_tinct = 0, fg_tinct = 0;
-
- /* get the icon location */
- icon_state.w = redraw->w;
- icon_state.i = IMAGE_CURRENT_DISPLAY;
- error = xwimp_get_icon_state(&icon_state);
- if (error) {
- LOG("xwimp_get_icon_state: 0x%x: %s",
- error->errnum, error->errmess);
- ro_warn_user("MenuError", error->errmess);
- return;
- }
-
- /* find the sprites */
- if (example_images) {
- ro_gui_options_image_read(redraw->w, &bg_tinct, &fg_tinct);
- fg_tinct |= 0xeeeeee00;
- xosspriteop_select_sprite(osspriteop_USER_AREA,
- example_images, (osspriteop_id)"img_bg", &bg);
- xosspriteop_select_sprite(osspriteop_USER_AREA,
- example_images, (osspriteop_id)"img_fg", &fg);
- }
-
- /* perform the redraw */
- more = wimp_redraw_window(redraw);
- while (more) {
- int origin_x, origin_y;
- origin_x = redraw->box.x0 - redraw->xscroll +
- icon_state.icon.extent.x0 + 2;
- origin_y = redraw->box.y1 - redraw->yscroll +
- icon_state.icon.extent.y0 + 2;
- if (bg)
- _swix(Tinct_Plot, _INR(2,4) | _IN(7),
- bg, origin_x, origin_y, bg_tinct);
- if (fg)
- _swix(Tinct_PlotAlpha, _INR(2,4) | _IN(7),
- fg, origin_x, origin_y, fg_tinct);
- more = wimp_get_rectangle(redraw);
- }
-}
-
-void ro_gui_options_image_read(wimp_w w, unsigned int *bg, unsigned int *fg)
-{
- const char *text;
- int i;
-
- text = ro_gui_get_icon_string(w, IMAGE_FOREGROUND_FIELD);
- for (i = 0; i < 4; i++)
- if (!strcmp(text, image_quality_menu->entries[i].
- data.indirected_text.text))
- *fg = tinct_options[i];
-
- text = ro_gui_get_icon_string(w, IMAGE_BACKGROUND_FIELD);
- for (i = 0; i < 4; i++)
- if (!strcmp(text, image_quality_menu->entries[i].
- data.indirected_text.text))
- *bg = tinct_options[i];
-}
-
-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;
-}
-
-void ro_gui_options_update_shading(wimp_w w)
-{
- bool shaded;
-
- shaded = ro_gui_get_icon_selected_state(w, IMAGE_DISABLE_ANIMATION);
- ro_gui_set_icon_shaded_state(w, IMAGE_SPEED_TEXT, shaded);
- ro_gui_set_icon_shaded_state(w, IMAGE_SPEED_FIELD, shaded);
- ro_gui_set_icon_shaded_state(w, IMAGE_SPEED_DEC, shaded);
- ro_gui_set_icon_shaded_state(w, IMAGE_SPEED_INC, shaded);
- ro_gui_set_icon_shaded_state(w, IMAGE_SPEED_CS, shaded);
-}
-
-bool ro_gui_options_image_ok(wimp_w w)
-{
- ro_gui_options_image_read(w,
- (unsigned int *)&nsoption_int(plot_bg_quality),
- (unsigned int *)&nsoption_int(plot_fg_quality));
-
- nsoption_set_int(minimum_gif_delay,
- ro_gui_get_icon_decimal(w, IMAGE_SPEED_FIELD, 2));
-
- nsoption_set_bool(animate_images,
- !ro_gui_get_icon_selected_state(w,
- IMAGE_DISABLE_ANIMATION));
- ro_gui_save_options();
-
- return true;
-}