diff options
author | James Bursa <james@netsurf-browser.org> | 2004-02-26 00:44:42 +0000 |
---|---|---|
committer | James Bursa <james@netsurf-browser.org> | 2004-02-26 00:44:42 +0000 |
commit | 318869e90e26da3a90a294ad6fa7a7a3ba9fcb5a (patch) | |
tree | bb2269754d16de3332e1924896f942afdace2b76 /riscos/gui.h | |
parent | 4b5a0e4043bec0fc00387f255dd4f06c762b12fe (diff) | |
download | netsurf-318869e90e26da3a90a294ad6fa7a7a3ba9fcb5a.tar.gz netsurf-318869e90e26da3a90a294ad6fa7a7a3ba9fcb5a.tar.bz2 |
[project @ 2004-02-26 00:44:42 by bursa]
Implement drag saving of drawfiles and clean up drag/drop/save code.
svn path=/import/netsurf/; revision=568
Diffstat (limited to 'riscos/gui.h')
-rw-r--r-- | riscos/gui.h | 42 |
1 files changed, 23 insertions, 19 deletions
diff --git a/riscos/gui.h b/riscos/gui.h index afcee9829..12cab480e 100644 --- a/riscos/gui.h +++ b/riscos/gui.h @@ -31,6 +31,11 @@ extern bool gui_redraw_debug; extern gui_window *current_gui; typedef enum { GUI_BROWSER_WINDOW, GUI_DOWNLOAD_WINDOW } gui_window_type; +typedef enum { GUI_SAVE_SOURCE, GUI_SAVE_DRAW } gui_save_type; +extern gui_save_type gui_current_save_type; +typedef enum { GUI_DRAG_SELECTION, GUI_DRAG_DOWNLOAD_SAVE, + GUI_DRAG_SAVE } gui_drag_type; +extern gui_drag_type gui_current_drag_type; struct gui_window { @@ -74,22 +79,6 @@ struct gui_window float scale; }; -struct ro_gui_drag_info -{ - enum { draginfo_UNKNOWN, draginfo_NONE, draginfo_BROWSER_TEXT_SELECTION, draginfo_DOWNLOAD_SAVE } type; - union - { - struct - { - gui_window* gui; - } selection; - - struct - { - gui_window* gui; - } download; - } data; -}; /* in gui.c */ void ro_gui_copy_selection(gui_window* g); @@ -103,6 +92,7 @@ void ro_gui_menus_init(void); void ro_gui_create_menu(wimp_menu* menu, int x, int y, gui_window* g); void ro_gui_popup_menu(wimp_menu *menu, wimp_w w, wimp_i i); void ro_gui_menu_selection(wimp_selection* selection); +void ro_gui_menu_warning(wimp_message_menu_warning *warning); /* in dialog.c */ void ro_gui_dialog_init(void); @@ -113,21 +103,24 @@ bool ro_gui_dialog_keypress(wimp_key *key); void ro_gui_dialog_close(wimp_w close); void ro_gui_redraw_config_th(wimp_draw* redraw); void ro_gui_theme_menu_selection(char *theme); +void ro_gui_set_icon_string(wimp_w w, wimp_i i, const char *text); +char *ro_gui_get_icon_string(wimp_w w, wimp_i i); /* in download.c */ void ro_gui_download_init(void); void ro_download_window_close(struct gui_window *g); struct gui_window * ro_lookup_download_window_from_w(wimp_w window); void ro_download_window_click(struct gui_window *g, wimp_pointer *pointer); +void ro_download_drag_end(wimp_dragged *drag); +void ro_download_datasave_ack(wimp_message *message); /* in mouseactions.c */ void ro_gui_mouse_action(gui_window* g); /* in textselection.c */ -extern struct ro_gui_drag_info current_drag; void ro_gui_start_selection(wimp_pointer *pointer, wimp_window_state *state, - gui_window *g); -void ro_gui_drag_end(wimp_dragged* drag); + gui_window *g); +void ro_gui_selection_drag_end(wimp_dragged *drag); /* in 401login.c */ #ifdef WITH_AUTH @@ -160,6 +153,12 @@ void ro_gui_history_open(struct browser_window *bw, void ro_gui_history_redraw(wimp_draw *redraw); void ro_gui_history_click(wimp_pointer *pointer); +/* in save.c */ +void ro_gui_save_click(wimp_pointer *pointer); +void ro_gui_drag_icon(wimp_pointer *pointer); +void ro_gui_save_drag_end(wimp_dragged *drag); +void ro_gui_save_datasave_ack(wimp_message *message); + /* icon numbers */ #define ICON_TOOLBAR_THROBBER 1 #define ICON_TOOLBAR_URL 2 @@ -232,4 +231,9 @@ void ro_gui_history_click(wimp_pointer *pointer); #define ICON_ZOOM_CANCEL 9 #define ICON_ZOOM_OK 10 +#define ICON_SAVE_ICON 0 +#define ICON_SAVE_PATH 1 +#define ICON_SAVE_OK 2 +#define ICON_SAVE_CANCEL 3 + #endif |