From 89a23311ea1d5f2ee30abb9f459dd515c5411476 Mon Sep 17 00:00:00 2001 From: James Bursa Date: Sun, 11 Jul 2004 13:05:38 +0000 Subject: [project @ 2004-07-11 13:05:38 by bursa] Clean up save box code by implementing ro_gui_save_open(). svn path=/import/netsurf/; revision=1070 --- riscos/wimp.c | 34 ++++++++++++++++++++++++++++++---- 1 file changed, 30 insertions(+), 4 deletions(-) (limited to 'riscos/wimp.c') diff --git a/riscos/wimp.c b/riscos/wimp.c index 3a6ee3fd4..40f26f686 100644 --- a/riscos/wimp.c +++ b/riscos/wimp.c @@ -10,14 +10,16 @@ */ #include -#include +#include #include +#include #include #include "oslib/os.h" #include "oslib/osfile.h" #include "oslib/wimp.h" #include "oslib/wimpextend.h" #include "oslib/wimpreadsysinfo.h" +#include "oslib/wimpspriteop.h" #include "netsurf/desktop/gui.h" #include "netsurf/riscos/wimp.h" #include "netsurf/utils/log.h" @@ -248,7 +250,7 @@ int ro_gui_get_icon_selected_state(wimp_w w, wimp_i i) { void ro_gui_set_window_title(wimp_w w, const char *text) { wimp_window_info_base window; os_error *error; - + /* Get the window details */ window.w = w; @@ -259,14 +261,14 @@ void ro_gui_set_window_title(wimp_w w, const char *text) { warn_user("WimpError", error->errmess); return; } - + /* Set the title string */ strncpy(window.title_data.indirected_text.text, text, (unsigned int)window.title_data.indirected_text.size - 1); window.title_data.indirected_text.text[window.title_data.indirected_text.size - 1] = '\0'; } - + /** * Load a sprite file into memory. @@ -318,3 +320,27 @@ osspriteop_area *ro_gui_load_sprite_file(const char *pathname) return area; } + + +/** + * Check if a sprite is present in the Wimp sprite pool. + * + * \param sprite name of sprite + * \return true if the sprite is present + */ + +bool ro_gui_wimp_sprite_exists(const char *sprite) +{ + os_error *error; + + error = xwimpspriteop_select_sprite(sprite, 0); + if (error) { + if (error->errnum != error_SPRITE_OP_DOESNT_EXIST) { + LOG(("xwimpspriteop_select_sprite: 0x%x: %s", + error->errnum, error->errmess)); + warn_user("MiscError", error->errmess); + } + return false; + } + return true; +} -- cgit v1.2.3