diff options
author | Vincent Sanders <vince@kyllikki.org> | 2015-06-13 11:31:23 +0100 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2015-06-17 21:35:40 +0100 |
commit | 8ef292b9caf5cae2197493a87480723138f10344 (patch) | |
tree | fa39583104ab806b81f382eb85bc9f5a05331dfd /gtk/resources.h | |
parent | 16fbb97dbb1688fd9b6f19546792b4173bc30bf1 (diff) | |
download | netsurf-8ef292b9caf5cae2197493a87480723138f10344.tar.gz netsurf-8ef292b9caf5cae2197493a87480723138f10344.tar.bz2 |
Change GTK UI builder handling to use resource API
GTK UI builder resources have till now been exclusively stored on disc
requiring netsurf to ship numerous additional resource files. This
requires going to disc every time a UI action is performed which can
become a lot of unwanted file handling.
GLib/GTK has moved towards GResource handling for such resources
instead. It now seems that migrating to this style of usage is
expected and indeed the only portable way to include pixbufs.
This introduces an API to hide the various implementation details of
how resources are handled from the rest of the codebase.
Diffstat (limited to 'gtk/resources.h')
-rw-r--r-- | gtk/resources.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/gtk/resources.h b/gtk/resources.h index bc08e4727..7c3e73d9e 100644 --- a/gtk/resources.h +++ b/gtk/resources.h @@ -24,4 +24,36 @@ */ GdkCursor *nsgtk_create_menu_cursor(void); +nserror nsgtk_init_resources(char **respath); + +/** + * Create gtk builder object for the named ui resource + * + * Creating gtk builder objects from a named resource requires the + * source xml resource to be parsed. + * + * This creates a gtk builder instance using an identifier name which + * is mapped to the ui_resource table which must be initialised with + * nsgtk_init_resources() + * + * \param resname The resource name to construct for + * \param builder_out The builder result + * \return NSERROR_OK and builder_out updated or appropriate error code + */ +nserror nsgtk_builder_new_from_resname(const char *resname, GtkBuilder **builder_out); + + +/** + * Create gdk pixbuf for the named ui resource + * + * This creates a pixbuf using an identifier name which is mapped to + * the ui_resource table which must be initialised with + * nsgtk_init_resources() + * + * \param resname The resource name to construct for + * \param pixbuf_out The pixbuf result + * \return NSERROR_OK and pixbuf_out updated or appropriate error code + */ +nserror nsgdk_pixbuf_new_from_resname(const char *resname, GdkPixbuf **pixbuf_out); + #endif |