From cd9c0998e9849472473e577c4c04906e380896e1 Mon Sep 17 00:00:00 2001 From: Steve Fryatt Date: Sun, 20 Feb 2011 23:16:33 +0000 Subject: Merge branches/stevef/toolbars to trunk. svn path=/trunk/netsurf/; revision=11741 --- riscos/gui/throbber.h | 144 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 144 insertions(+) create mode 100644 riscos/gui/throbber.h (limited to 'riscos/gui/throbber.h') diff --git a/riscos/gui/throbber.h b/riscos/gui/throbber.h new file mode 100644 index 000000000..10d39ebfd --- /dev/null +++ b/riscos/gui/throbber.h @@ -0,0 +1,144 @@ +/* + * Copyright 2005 Richard Wilson + * Copyright 2011 Stephen Fryatt + * + * 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 . + */ + +/** \file + * Throbber (interface). + */ + +#ifndef _NETSURF_RISCOS_THROBBER_H_ +#define _NETSURF_RISCOS_THROBBER_H_ + +#include +#include "riscos/theme.h" + +struct throbber; + + +/** + * Create a new throbber widget. + * + * \param *theme The theme to apply (or NULL for the default). + * \return A throbber handle, or NULL on failure. + */ + +struct throbber *ro_gui_throbber_create(struct theme_descriptor *theme); + +/** + * Place a throbber into a toolbar window and initialise any theme-specific + * settings. Any previous incarnation of the throbber will be forgotten: this + * is for use when a new toolbar is being created, or when a toolbar has been + * deleted and rebuilt following a theme change. + * + * \param *throbber The throbber to rebuild. + * \param *theme The theme to apply (or NULL for current). + * \param style The theme style to apply. + * \param window The window that the throbber is in. + * \param shaded true if the bar should be throbber; else false. + * \return true on success; else false. + */ + +bool ro_gui_throbber_rebuild(struct throbber *throbber, + struct theme_descriptor *theme, theme_style style, + wimp_w window, bool shaded); + + +/** + * Destroy a throbber widget. + * + * \param *throbber The throbber to destroy. + */ + +void ro_gui_throbber_destroy(struct throbber *throbber); + + +/** + * Return the MINIMUM dimensions required by the throbber, in RO units, + * allowing for the current theme. + * + * \param *throbber The throbber of interest. + * \param *width Return the required width. + * \param *height Return the required height. + * \return true if values are returned; else false. + */ + +bool ro_gui_throbber_get_dims(struct throbber *throbber, + int *width, int *height); + + +/** + * Set or update the dimensions to be used by the throbber, in RO units. + * If these are greater than the minimum required, the throbber will fill + * the extended space; if less, the call will fail. + * + * \param *throbber The throbber to update. + * \param width The desired width. + * \param height The desired height. + * \return true if size updated; else false. + */ + +bool ro_gui_throbber_set_extent(struct throbber *throbber, + int x0, int y0, int x1, int y1); + + +/** + * Show or hide a throbber. + * + * \param *throbber The throbber to hide. + * \param hide true to hide the throbber; false to show it. + * \return true if successful; else false. + */ + +bool ro_gui_throbber_hide(struct throbber *throbber, bool hide); + + +/** + * Translate mouse data into an interactive help message for the throbber. + * + * \param *throbber The throbber to process. + * \param i The wimp icon under the pointer. + * \param *mouse The mouse position. + * \param *state The toolbar window state. + * \param buttons The mouse button state. + * \param **suffix Return a help token suffix, or "" for none. + * \return true if handled exclusively; else false. + */ + +bool ro_gui_throbber_help_suffix(struct throbber *throbber, wimp_i i, + os_coord *screenpos, wimp_window_state *state, + wimp_mouse_state buttons, const char **suffix); + +/** + * Start or update the amimation of a throbber. + * + * \param *throbber The throbber to amimate. + */ + +bool ro_gui_throbber_animate(struct throbber *throbber); + + +/** + * Stop the amimation of a throbber. + * + * \param *throbber The throbber to amimate. + */ + +bool ro_gui_throbber_stop(struct throbber *throbber); + +#endif + -- cgit v1.2.3