summaryrefslogtreecommitdiff
path: root/riscos/gui.c
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2004-08-09 06:28:57 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2004-08-09 06:28:57 +0000
commitc992f6252cea5487126721ec1ddf3d207b883524 (patch)
treef7543bbe30f4171829a8c2f775e32f007f13e251 /riscos/gui.c
parenta5bb9c38fdfe5dae353165f87c51e629a67a3d49 (diff)
downloadnetsurf-c992f6252cea5487126721ec1ddf3d207b883524.tar.gz
netsurf-c992f6252cea5487126721ec1ddf3d207b883524.tar.bz2
[project @ 2004-08-09 06:28:56 by jmb]
Printing support. Some issues remain - see the todo list at the top of print.c for more details svn path=/import/netsurf/; revision=1199
Diffstat (limited to 'riscos/gui.c')
-rw-r--r--riscos/gui.c46
1 files changed, 44 insertions, 2 deletions
diff --git a/riscos/gui.c b/riscos/gui.c
index ebc450e3d..9b4ef478f 100644
--- a/riscos/gui.c
+++ b/riscos/gui.c
@@ -27,6 +27,7 @@
#include "oslib/osfile.h"
#include "oslib/osfscontrol.h"
#include "oslib/osspriteop.h"
+#include "oslib/pdriver.h"
#include "oslib/plugin.h"
#include "oslib/wimp.h"
#include "oslib/wimpspriteop.h"
@@ -43,6 +44,9 @@
#ifdef WITH_PLUGIN
#include "netsurf/riscos/plugin.h"
#endif
+#ifdef WITH_PRINT
+#include "netsurf/riscos/print.h"
+#endif
#include "netsurf/riscos/save_complete.h"
#include "netsurf/riscos/theme.h"
#include "netsurf/riscos/toolbar.h"
@@ -82,11 +86,12 @@ static clock_t gui_last_poll; /**< Time of last wimp_poll. */
osspriteop_area *gui_sprites; /**< Sprite area containing pointer and hotlist sprites */
/** Accepted wimp user messages. */
-static wimp_MESSAGE_LIST(29) task_messages = { {
+static wimp_MESSAGE_LIST(33) task_messages = { {
message_HELP_REQUEST,
message_DATA_SAVE,
message_DATA_SAVE_ACK,
message_DATA_LOAD,
+ message_DATA_LOAD_ACK,
message_DATA_OPEN,
message_MENU_WARNING,
message_MENUS_DELETED,
@@ -118,6 +123,11 @@ static wimp_MESSAGE_LIST(29) task_messages = { {
message_PLUG_IN_ACTION,
/* message_PLUG_IN_INFORMED, (not provided by oslib) */
#endif
+#ifdef WITH_PRINT
+ message_PRINT_SAVE,
+ message_PRINT_ERROR,
+ message_PRINT_TYPE_ODD,
+#endif
0
} };
struct ro_gui_poll_block {
@@ -939,7 +949,20 @@ void ro_gui_user_message(wimp_event_no event, wimp_message *message)
break;
case message_DATA_LOAD:
- ro_msg_dataload(message);
+ if (event == wimp_USER_MESSAGE_ACKNOWLEDGE) {
+#ifdef WITH_PRINT
+ if (print_current_window)
+ print_dataload_bounce(message);
+#endif
+ }
+ else
+ ro_msg_dataload(message);
+ break;
+
+ case message_DATA_LOAD_ACK:
+#ifdef WITH_PRINT
+ print_cleanup();
+#endif
break;
case message_DATA_OPEN:
@@ -998,6 +1021,18 @@ void ro_gui_user_message(wimp_event_no event, wimp_message *message)
event == wimp_USER_MESSAGE_ACKNOWLEDGE);
break;
#endif
+#ifdef WITH_PRINT
+ case message_PRINT_SAVE:
+ if (event == wimp_USER_MESSAGE_ACKNOWLEDGE)
+ print_save_bounce(message);
+ break;
+ case message_PRINT_ERROR:
+ print_error(message);
+ break;
+ case message_PRINT_TYPE_ODD:
+ print_type_odd(message);
+ break;
+#endif
case message_QUIT:
netsurf_quit = true;
@@ -1218,6 +1253,13 @@ char *ro_gui_url_file_parse(const char *file_name)
void ro_msg_datasave_ack(wimp_message *message)
{
+#ifdef WITH_PRINT
+ if (print_current_window) {
+ print_ack(message);
+ return;
+ }
+#endif
+
switch (gui_current_drag_type) {
case GUI_DRAG_DOWNLOAD_SAVE:
ro_gui_download_datasave_ack(message);