summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk/Makefile.target2
-rw-r--r--gtk/resources.c46
-rw-r--r--gtk/resources.h27
-rw-r--r--gtk/window.c15
4 files changed, 75 insertions, 15 deletions
diff --git a/gtk/Makefile.target b/gtk/Makefile.target
index 0b2eaab9a..01c00c2fb 100644
--- a/gtk/Makefile.target
+++ b/gtk/Makefile.target
@@ -112,7 +112,7 @@ S_GTK := font_pango.c bitmap.c gui.c schedule.c plotters.c \
selection.c history.c window.c fetch.c download.c menu.c \
print.c search.c tabs.c theme.c toolbar.c gettext.c \
compat.c cookies.c hotlist.c viewdata.c viewsource.c \
- preferences.c about.c ssl_cert.c
+ preferences.c about.c ssl_cert.c resources.c
S_GTK := $(addprefix gtk/,$(S_GTK)) $(addprefix utils/,container.c)
# code in utils/container.ch is non-universal it seems
diff --git a/gtk/resources.c b/gtk/resources.c
new file mode 100644
index 000000000..e6ad951b8
--- /dev/null
+++ b/gtk/resources.c
@@ -0,0 +1,46 @@
+/*
+ * Copyright 2015 Vincent Sanders <vince@netsurf-browser.org>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * NetSurf is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * NetSurf is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * \file
+ * Implementation of gtk builtin resource handling.
+ *
+ * \todo resource handling in gtk3 has switched to using GResource
+ */
+
+#include <gtk/gtk.h>
+
+#include "gtk/resources.h"
+
+#ifdef __GNUC__
+extern const guint8 menu_cursor_pixdata[] __attribute__ ((__aligned__ (4)));
+#else
+extern const guint8 menu_cursor_pixdata[];
+#endif
+
+GdkCursor *nsgtk_create_menu_cursor(void)
+{
+ GdkCursor *cursor = NULL;
+ GdkPixbuf *pixbuf;
+
+ pixbuf = gdk_pixbuf_new_from_inline(-1, menu_cursor_pixdata, FALSE, NULL);
+ cursor = gdk_cursor_new_from_pixbuf(gdk_display_get_default(), pixbuf, 0, 3);
+ g_object_unref (pixbuf);
+
+ return cursor;
+}
diff --git a/gtk/resources.h b/gtk/resources.h
new file mode 100644
index 000000000..bc08e4727
--- /dev/null
+++ b/gtk/resources.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2006 Daniel Silverstone <dsilvers@digital-scurf.org>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * NetSurf is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * NetSurf is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef NETSURF_GTK_RESOURCES_H
+#define NETSURF_GTK_RESOURCES_H 1
+
+/**
+ * Creates a menu cursor from internal resources
+ */
+GdkCursor *nsgtk_create_menu_cursor(void);
+
+#endif
diff --git a/gtk/window.c b/gtk/window.c
index 75a6d9f6b..239c01e4f 100644
--- a/gtk/window.c
+++ b/gtk/window.c
@@ -54,9 +54,7 @@
#include "gtk/tabs.h"
#include "gtk/bitmap.h"
#include "gtk/gdk.h"
-
-
-extern const guint8 *menu_cursor_pixdata;
+#include "gtk/resources.h"
static GtkWidget *select_menu;
static struct form_control *select_menu_control;
@@ -1078,17 +1076,6 @@ static void gui_window_update_extent(struct gui_window *g)
}
}
-static GdkCursor *nsgtk_create_menu_cursor(void)
-{
- GdkCursor *cursor = NULL;
- GdkPixbuf *pixbuf;
- pixbuf = gdk_pixbuf_new_from_inline(-1, menu_cursor_pixdata, FALSE, NULL);
- cursor = gdk_cursor_new_from_pixbuf(gdk_display_get_default(), pixbuf, 0, 3);
- g_object_unref (pixbuf);
-
- return cursor;
-}
-
static void gui_window_set_pointer(struct gui_window *g,
gui_pointer_shape shape)
{