summaryrefslogtreecommitdiff
path: root/windows
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2014-01-15 19:37:05 +0000
committerVincent Sanders <vince@netsurf-browser.org>2014-01-15 19:37:05 +0000
commitbd065d4a434755e67642a071e255cba596de8d1e (patch)
tree343a4343ace1c38f3ab67b3a9405a629fbbaa117 /windows
parent68eaec5cb4208ee80e7c0610361405fd01fc1b69 (diff)
downloadnetsurf-bd065d4a434755e67642a071e255cba596de8d1e.tar.gz
netsurf-bd065d4a434755e67642a071e255cba596de8d1e.tar.bz2
split browser gui operations up
Diffstat (limited to 'windows')
-rw-r--r--windows/download.c4
-rw-r--r--windows/download.h4
-rw-r--r--windows/gui.c19
-rw-r--r--windows/gui.h4
-rw-r--r--windows/main.c13
5 files changed, 27 insertions, 17 deletions
diff --git a/windows/download.c b/windows/download.c
index 5bf9798aa..189baa819 100644
--- a/windows/download.c
+++ b/windows/download.c
@@ -296,12 +296,12 @@ static void gui_download_window_done(struct gui_download_window *w)
nsws_download_clear_data(w);
}
-static struct gui_download_table gui_download_table = {
+static struct gui_download_table download_table = {
.create = gui_download_window_create,
.data = gui_download_window_data,
.error = gui_download_window_error,
.done = gui_download_window_done,
};
-struct gui_download_table *win32_gui_download_table = &gui_download_table;
+struct gui_download_table *win32_download_table = &download_table;
diff --git a/windows/download.h b/windows/download.h
index c1b13bf65..a53fab89f 100644
--- a/windows/download.h
+++ b/windows/download.h
@@ -23,6 +23,8 @@
#include <windows.h>
#include "desktop/gui.h"
+struct gui_download_table *win32_download_table;
+
typedef enum {
DOWNLOAD_NONE,
DOWNLOAD_WORKING,
@@ -60,6 +62,4 @@ struct gui_download_window {
void nsws_download_window_init(struct gui_window *);
-struct gui_download_table *win32_gui_download_table;
-
#endif
diff --git a/windows/gui.c b/windows/gui.c
index fc0af679e..fa748254c 100644
--- a/windows/gui.c
+++ b/windows/gui.c
@@ -1809,7 +1809,7 @@ nsws_create_main_class(HINSTANCE hinstance) {
return ret;
}
-static struct gui_window_table win32_window_table = {
+static struct gui_window_table window_table = {
.create = gui_window_create,
.destroy = gui_window_destroy,
.redraw = gui_window_redraw_window,
@@ -1829,12 +1829,17 @@ static struct gui_window_table win32_window_table = {
.stop_throbber = gui_window_stop_throbber,
};
-static struct gui_table gui_table = {
- .poll = gui_poll,
- .get_clipboard = gui_get_clipboard,
- .set_clipboard = gui_set_clipboard,
+struct gui_window_table *win32_window_table = &window_table;
+
+static struct gui_clipboard_table clipboard_table = {
+ .get = gui_get_clipboard,
+ .set = gui_set_clipboard,
+};
- .window = &win32_window_table,
+struct gui_clipboard_table *win32_clipboard_table = &clipboard_table;
+
+static struct gui_table browser_table = {
+ .poll = gui_poll,
};
-struct gui_table *win32_gui_table = &gui_table;
+struct gui_browser_table *win32_browser_table = &browser_table;
diff --git a/windows/gui.h b/windows/gui.h
index 29c7f8485..3372dcc21 100644
--- a/windows/gui.h
+++ b/windows/gui.h
@@ -24,7 +24,9 @@
#include "desktop/gui.h"
#include "windows/localhistory.h"
-extern struct gui_table *win32_gui_table;
+extern struct gui_window_table *win32_window_table;
+extern struct gui_clipboard_table *win32_clipboard_table;
+extern struct gui_browser_table *win32_browser_table;
extern HINSTANCE hInstance;
diff --git a/windows/main.c b/windows/main.c
index 997d98120..638db6c5c 100644
--- a/windows/main.c
+++ b/windows/main.c
@@ -104,6 +104,13 @@ WinMain(HINSTANCE hInstance, HINSTANCE hLastInstance, LPSTR lpcli, int ncmd)
const char *addr;
nsurl *url;
nserror error;
+ struct gui_table win32_gui_table = {
+ .browser = win32_browser_table,
+ .window = win32_window_table,
+ .clipboard = win32_clipboard_table,
+ .download = win32_download_table,
+ };
+ win32_gui_table->browser->get_resource_url = get_resource_url;
if (SLEN(lpcli) > 0) {
argvw = CommandLineToArgvW(GetCommandLineW(), &argc);
@@ -150,11 +157,7 @@ WinMain(HINSTANCE hInstance, HINSTANCE hLastInstance, LPSTR lpcli, int ncmd)
/* common initialisation */
messages = filepath_find(respaths, "messages");
-
- win32_gui_table->download = nsgtk_gui_download_table;
- win32_gui_table->get_resource_url = get_resource_url;
-
- ret = netsurf_init(messages, win32_gui_table);
+ ret = netsurf_init(messages, &win32_gui_table);
free(messages);
if (ret != NSERROR_OK) {
free(options_file_location);