summaryrefslogtreecommitdiff
path: root/riscos/wimp.c
diff options
context:
space:
mode:
authorJames Bursa <james@netsurf-browser.org>2004-07-11 13:05:38 +0000
committerJames Bursa <james@netsurf-browser.org>2004-07-11 13:05:38 +0000
commit89a23311ea1d5f2ee30abb9f459dd515c5411476 (patch)
tree0f6a8886243c203aa1dde70e8a26efb920fedcb3 /riscos/wimp.c
parent02559e8cbd00204cd3e0e9bfc1d25335d611c8d6 (diff)
downloadnetsurf-89a23311ea1d5f2ee30abb9f459dd515c5411476.tar.gz
netsurf-89a23311ea1d5f2ee30abb9f459dd515c5411476.tar.bz2
[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
Diffstat (limited to 'riscos/wimp.c')
-rw-r--r--riscos/wimp.c34
1 files changed, 30 insertions, 4 deletions
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 <assert.h>
-#include <string.h>
+#include <stdbool.h>
#include <stdlib.h>
+#include <string.h>
#include <stdio.h>
#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;
+}