From bd065d4a434755e67642a071e255cba596de8d1e Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 15 Jan 2014 19:37:05 +0000 Subject: split browser gui operations up --- cocoa/NetsurfApp.m | 10 +++++++--- cocoa/gui.h | 6 ++++-- cocoa/gui.m | 23 +++++++++++++++-------- 3 files changed, 26 insertions(+), 13 deletions(-) (limited to 'cocoa') diff --git a/cocoa/NetsurfApp.m b/cocoa/NetsurfApp.m index a64c99376..62f684ddc 100644 --- a/cocoa/NetsurfApp.m +++ b/cocoa/NetsurfApp.m @@ -183,6 +183,12 @@ int main( int argc, char **argv ) { nsurl *url; nserror error; + struct gui_table cocoa_gui_table = { + .browser = cocoa_browser_table, + .window = cocoa_window_table, + .clipboard = cocoa_clipboard_table, + .download = cocoa_download_table, + }; cocoa_autorelease(); @@ -203,9 +209,7 @@ int main( int argc, char **argv ) nsoption_commandline(&argc, argv, NULL); /* common initialisation */ - cocoa_gui_table->download = cocoa_gui_download_table; - - error = netsurf_init(messages, cocoa_gui_table); + error = netsurf_init(messages, &cocoa_gui_table); if (error != NSERROR_OK) { die("NetSurf failed to initialise"); } diff --git a/cocoa/gui.h b/cocoa/gui.h index 6ceefa848..757140030 100644 --- a/cocoa/gui.h +++ b/cocoa/gui.h @@ -18,6 +18,10 @@ #import +extern struct gui_window_table *cocoa_window_table; +extern struct gui_clipboard_table *cocoa_clipboard_table; +extern struct gui_browser_table *cocoa_browser_table; + extern NSString * const kCookiesFileOption; extern NSString * const kURLsFileOption; extern NSString * const kHotlistFileOption; @@ -27,5 +31,3 @@ extern NSString * const kAlwaysCancelDownload; extern NSString * const kAlwaysCloseMultipleTabs; void cocoa_autorelease( void ); - -extern struct gui_table *cocoa_gui_table; diff --git a/cocoa/gui.m b/cocoa/gui.m index 2c3680994..c2cadfe5a 100644 --- a/cocoa/gui.m +++ b/cocoa/gui.m @@ -282,7 +282,7 @@ void gui_401login_open(nsurl *url, const char *realm, } -static struct gui_window_table cocoa_window_table = { +static struct gui_window_table window_table = { .create = gui_window_create, .destroy = gui_window_destroy, .redraw = gui_window_redraw_window, @@ -304,18 +304,25 @@ static struct gui_window_table cocoa_window_table = { .stop_throbber = gui_window_stop_throbber, }; -static struct gui_table gui_table = { +struct gui_window_table *cocoa_window_table = &window_table; + + +static struct gui_clipboard_table clipboard_table = { + .get_clipboard = gui_get_clipboard, + .set_clipboard = gui_set_clipboard, +}; + +struct gui_clipboard_table *cocoa_clipboard_table = &clipboard_table; + + +static struct gui_browser_table browser_table = { .poll = gui_poll, .get_resource_url = gui_get_resource_url, .launch_url = gui_launch_url, .create_form_select_menu = gui_create_form_select_menu, .cert_verify = gui_cert_verify, - - .get_clipboard = gui_get_clipboard, - .set_clipboard = gui_set_clipboard, - - .window = &cocoa_window_table, }; -struct gui_table *cocoa_gui_table = &gui_table; +struct gui_browser_table *cocoa_browser_table = &browser_table; + -- cgit v1.2.3