summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorVincent Sanders <vince@netsurf-browser.org>2014-01-29 21:35:53 +0000
committerVincent Sanders <vince@netsurf-browser.org>2014-01-29 21:35:53 +0000
commitdb33103fa3d0e7b4623dc321792963969e15e683 (patch)
tree75becbaeddbf38c2d199f76ba168577258758d8d /desktop
parent829b4fd4546670512f8543c8bc8ed80372566f08 (diff)
downloadnetsurf-db33103fa3d0e7b4623dc321792963969e15e683.tar.gz
netsurf-db33103fa3d0e7b4623dc321792963969e15e683.tar.bz2
clean up desktop/gui.h include usage
Diffstat (limited to 'desktop')
-rw-r--r--desktop/browser.c1
-rw-r--r--desktop/browser.h2
-rw-r--r--desktop/download.c2
-rw-r--r--desktop/frames.c2
-rw-r--r--desktop/gui.h58
-rw-r--r--desktop/gui_factory.c3
-rw-r--r--desktop/local_history.c2
-rw-r--r--desktop/search.c1
-rw-r--r--desktop/searchweb.c1
-rw-r--r--desktop/selection.c1
-rw-r--r--desktop/textinput.c1
11 files changed, 56 insertions, 18 deletions
diff --git a/desktop/browser.c b/desktop/browser.c
index a33c1b6eb..f46d50eec 100644
--- a/desktop/browser.c
+++ b/desktop/browser.c
@@ -45,7 +45,6 @@
#include "desktop/download.h"
#include "desktop/frames.h"
#include "desktop/global_history.h"
-#include "desktop/gui.h"
#include "desktop/gui_factory.h"
#include "desktop/hotlist.h"
#include "desktop/knockout.h"
diff --git a/desktop/browser.h b/desktop/browser.h
index 0ca2e009b..d61e6a012 100644
--- a/desktop/browser.h
+++ b/desktop/browser.h
@@ -27,8 +27,8 @@
#include <stdbool.h>
#include "content/content.h"
+#include "content/hlcache.h"
#include "desktop/frame_types.h"
-#include "desktop/gui.h"
#include "desktop/mouse.h"
#include "utils/types.h"
diff --git a/desktop/download.c b/desktop/download.c
index b5427b405..b458f577c 100644
--- a/desktop/download.c
+++ b/desktop/download.c
@@ -23,10 +23,10 @@
#include <assert.h>
#include <stdlib.h>
+#include <string.h>
#include "content/llcache.h"
#include "desktop/download.h"
-#include "desktop/gui.h"
#include "desktop/gui_factory.h"
#include "utils/corestrings.h"
#include "utils/http.h"
diff --git a/desktop/frames.c b/desktop/frames.c
index 3f7613f32..354c70da4 100644
--- a/desktop/frames.c
+++ b/desktop/frames.c
@@ -28,12 +28,12 @@
#include <string.h>
#include <time.h>
#include <math.h>
+
#include "utils/config.h"
#include "content/hlcache.h"
#include "desktop/browser_private.h"
#include "desktop/frames.h"
#include "desktop/local_history.h"
-#include "desktop/gui.h"
#include "desktop/scrollbar.h"
#include "desktop/selection.h"
#include "utils/log.h"
diff --git a/desktop/gui.h b/desktop/gui.h
index da609b1e3..37066e1a7 100644
--- a/desktop/gui.h
+++ b/desktop/gui.h
@@ -24,10 +24,13 @@
#define _NETSURF_DESKTOP_GUI_H_
#include <stdbool.h>
+#include <stdlib.h>
-#include "content/hlcache.h"
-#include "desktop/download.h"
+#include "utils/types.h"
#include "utils/errors.h"
+#include "utils/nsurl.h"
+#include "desktop/plot_style.h"
+#include "desktop/mouse.h"
typedef enum {
GUI_SAVE_SOURCE,
@@ -58,6 +61,8 @@ struct gui_download_window;
struct browser_window;
struct form_control;
struct ssl_cert_info;
+struct hlcache_handle;
+struct download_context;
typedef struct nsnsclipboard_styles {
size_t start; /**< Start of run */
@@ -155,7 +160,7 @@ struct gui_window_table {
void (*set_url)(struct gui_window *g, const char *url);
/** set favicon */
- void (*set_icon)(struct gui_window *g, hlcache_handle *icon);
+ void (*set_icon)(struct gui_window *g, struct hlcache_handle *icon);
/**
* Set the status bar of a browser window.
@@ -232,10 +237,10 @@ struct gui_window_table {
/**
* Called when file chooser gadget is activated
*/
- void (*file_gadget_open)(struct gui_window *g, hlcache_handle *hl, struct form_control *gadget);
+ void (*file_gadget_open)(struct gui_window *g, struct hlcache_handle *hl, struct form_control *gadget);
/** object dragged to window*/
- void (*drag_save_object)(struct gui_window *g, hlcache_handle *c, gui_save_type type);
+ void (*drag_save_object)(struct gui_window *g, struct hlcache_handle *c, gui_save_type type);
/** drag selection save */
void (*drag_save_selection)(struct gui_window *g, const char *selection);
@@ -248,7 +253,7 @@ struct gui_window_table {
* function table for download windows
*/
struct gui_download_table {
- struct gui_download_window *(*create)(download_context *ctx, struct gui_window *parent);
+ struct gui_download_window *(*create)(struct download_context *ctx, struct gui_window *parent);
nserror (*data)(struct gui_download_window *dw, const char *data, unsigned int size);
@@ -365,6 +370,31 @@ struct gui_fetch_table {
};
+/**
+ * User interface utf8 characterset conversion routines
+ */
+struct gui_utf8_table {
+ /**
+ * Convert a UTF-8 encoded string into the system local encoding
+ *
+ * \param string The string to convert
+ * \param len The length (in bytes) of the string, or 0
+ * \param result Pointer to location in which to store result
+ * \return An nserror code
+ */
+ nserror (*utf8_to_local)(const char *string, size_t len, char **result);
+
+ /**
+ * Convert a string encoded in the system local encoding to UTF-8
+ *
+ * \param string The string to convert
+ * \param len The length (in bytes) of the string, or 0
+ * \param result Pointer to location in which to store result
+ * \return An nserror code
+ */
+ nserror (*local_to_utf8)(const char *string, size_t len, char **result);
+};
+
/** Graphical user interface browser misc function table
*
* function table implementing GUI interface to miscelaneous browser
@@ -392,7 +422,7 @@ struct gui_browser_table {
* \param ico may be NULL for local calls; then access current
* cache from search_web_ico()
*/
- void (*set_search_ico)(hlcache_handle *ico);
+ void (*set_search_ico)(struct hlcache_handle *ico);
/**
* core has no fetcher for url
@@ -424,7 +454,11 @@ struct gui_browser_table {
*/
struct gui_table {
- /** Browser table */
+ /** Browser table.
+ *
+ * Provides miscellaneous browser functionality. The table
+ * is mandantory and must be provided.
+ */
struct gui_browser_table *browser;
/** Window table */
@@ -438,6 +472,14 @@ struct gui_table {
/** Fetcher table */
struct gui_fetch_table *fetch;
+
+ /** UTF8 table
+ *
+ * Provides for conversion between the gui local character
+ * encoding and utf8. The table optional and may be NULL which
+ * implies the local encoding is utf8.
+ */
+ struct gui_utf8_table *utf8;
};
diff --git a/desktop/gui_factory.c b/desktop/gui_factory.c
index dfe775571..b61fdf0be 100644
--- a/desktop/gui_factory.c
+++ b/desktop/gui_factory.c
@@ -16,7 +16,8 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "desktop/gui.h"
+#include "content/hlcache.h"
+#include "desktop/download.h"
#include "desktop/gui_factory.h"
/** The global GUI interface table */
diff --git a/desktop/local_history.c b/desktop/local_history.c
index d4ecfd3bb..9829f51b6 100644
--- a/desktop/local_history.c
+++ b/desktop/local_history.c
@@ -26,12 +26,12 @@
#include <stdlib.h>
#include <string.h>
#include <time.h>
+
#include "content/content.h"
#include "content/hlcache.h"
#include "content/urldb.h"
#include "css/css.h"
#include "desktop/browser.h"
-#include "desktop/gui.h"
#include "desktop/local_history.h"
#include "desktop/plotters.h"
#include "desktop/thumbnail.h"
diff --git a/desktop/search.c b/desktop/search.c
index 3a7c768a5..4a02f6b7c 100644
--- a/desktop/search.c
+++ b/desktop/search.c
@@ -29,7 +29,6 @@
#include "content/content.h"
#include "content/hlcache.h"
#include "desktop/browser_private.h"
-#include "desktop/gui.h"
#include "utils/nsoption.h"
#include "desktop/search.h"
#include "desktop/selection.h"
diff --git a/desktop/searchweb.c b/desktop/searchweb.c
index b3f6162a6..bdcb2ba8a 100644
--- a/desktop/searchweb.c
+++ b/desktop/searchweb.c
@@ -26,7 +26,6 @@
#include "content/content.h"
#include "content/hlcache.h"
#include "desktop/browser.h"
-#include "desktop/gui.h"
#include "desktop/gui_factory.h"
#include "utils/nsoption.h"
#include "desktop/searchweb.h"
diff --git a/desktop/selection.c b/desktop/selection.c
index 96c7e0c3c..34292fdce 100644
--- a/desktop/selection.c
+++ b/desktop/selection.c
@@ -29,7 +29,6 @@
#include <dom/dom.h>
#include "desktop/browser_private.h"
-#include "desktop/gui.h"
#include "desktop/gui_factory.h"
#include "desktop/mouse.h"
#include "desktop/plotters.h"
diff --git a/desktop/textinput.c b/desktop/textinput.c
index c61b838fe..fd6ae9ff1 100644
--- a/desktop/textinput.c
+++ b/desktop/textinput.c
@@ -30,7 +30,6 @@
#include <dom/dom.h>
#include "desktop/browser_private.h"
-#include "desktop/gui.h"
#include "desktop/gui_factory.h"
#include "desktop/mouse.h"
#include "desktop/scrollbar.h"