netsurf/amiga/gui.h
Chris Young 684d452e9c Improved throbber, works independently on multiple windows, stops when it should, no
weird crashes, lock-ups etc.

The format has changed, Resources/Throbber now needs to be in a picture.datatype
format, as a "film strip" of frames with the first image the inactive (stopped
throbber) and the rest the active animation.  The number of frames needs to be set in
the Options file throbber_frames variable (currently - will probably move to a
tooltype of Resources/Throbber in the future for better theming ability)

svn path=/trunk/netsurf/; revision=5310
2008-09-13 22:39:48 +00:00

101 lines
2.1 KiB
C
Executable File

/*
* Copyright 2008 Chris Young <chris@unsatisfactorysoftware.co.uk>
*
* 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/>.
*/
#ifndef AMIGA_GUI_H
#define AMIGA_GUI_H
#include <graphics/rastport.h>
#include "amiga/object.h"
#include <intuition/classusr.h>
#include "desktop/browser.h"
#include <dos/dos.h>
void ami_get_msg(void);
enum
{
GID_MAIN=0,
GID_BROWSER,
GID_STATUS,
GID_URL,
GID_STOP,
GID_RELOAD,
GID_HOME,
GID_BACK,
GID_FORWARD,
GID_THROBBER,
GID_USER,
GID_PASS,
GID_LOGIN,
GID_CANCEL,
GID_LAST
};
enum
{
OID_MAIN=0,
OID_VSCROLL,
OID_HSCROLL,
OID_MENU,
OID_LAST
};
struct gui_download_window {
struct Window *win;
Object *objects[OID_LAST];
struct Gadget *gadgets[GID_LAST];
struct nsObject *node;
ULONG pad[2];
BPTR fh;
uint32 size;
uint32 downloaded;
};
struct gui_window {
struct Window *win;
Object *objects[OID_LAST];
struct Gadget *gadgets[GID_LAST];
struct nsObject *node;
bool redraw_required;
struct List *tab_bw_list;
struct browser_window *bw;
struct BitMap *bm;
struct RastPort rp;
struct Layer_Info *layerinfo;
APTR areabuf;
APTR tmprasbuf;
struct Hook scrollerhook;
struct Hook popuphook;
struct form_control *control;
union content_msg_data *redraw_data;
browser_mouse_state mouse_state;
browser_mouse_state key_state;
int throbber_frame;
ULONG throbber_update_count;
int c_x;
int c_y;
int c_h;
};
struct RastPort *currp;
struct TextFont *origrpfont;
struct MinList *window_list;
struct Screen *scrn;
STRPTR nsscreentitle;
struct FileRequester *filereq;
#endif