From 4a5dc6d5ccafcf0cb2efc656011e1ce693c511cb Mon Sep 17 00:00:00 2001 From: Adrian Lees Date: Sat, 16 Jul 2005 05:54:45 +0000 Subject: [project @ 2005-07-16 05:54:45 by adrianl] Thumbnails displayed and dragged for full page save; spelling correction svn path=/import/netsurf/; revision=1793 --- riscos/wimp.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'riscos/wimp.c') diff --git a/riscos/wimp.c b/riscos/wimp.c index 9500c6abb..ec12545df 100644 --- a/riscos/wimp.c +++ b/riscos/wimp.c @@ -615,6 +615,33 @@ bool ro_gui_wimp_sprite_exists(const char *sprite) } +/** + * Locate a sprite in the Wimp sprite pool, returning a pointer to it. + * + * \param name sprite name + * \param sprite receives pointer to sprite if found + * \return error ptr iff not found + */ + +os_error *ro_gui_wimp_get_sprite(const char *name, osspriteop_header **sprite) +{ + osspriteop_area *rom_base, *ram_base; + os_error *error; + + error = xwimp_base_of_sprites(&rom_base, &ram_base); + if (error) return error; + + error = xosspriteop_select_sprite(osspriteop_USER_AREA, + rom_base, (osspriteop_id)name, sprite); + + if (error && error->errnum == error_SPRITE_OP_DOESNT_EXIST) + error = xosspriteop_select_sprite(osspriteop_USER_AREA, + ram_base, (osspriteop_id)name, sprite); + + return error; +} + + /** * Open a window as a pane in another window. * -- cgit v1.2.3