diff options
Diffstat (limited to 'gtk')
-rw-r--r-- | gtk/Makefile.target | 2 | ||||
-rw-r--r-- | gtk/resources.c | 46 | ||||
-rw-r--r-- | gtk/resources.h | 27 | ||||
-rw-r--r-- | gtk/window.c | 15 |
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) { |