diff options
Diffstat (limited to 'frontends/gtk/resources.h')
-rw-r--r-- | frontends/gtk/resources.h | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/frontends/gtk/resources.h b/frontends/gtk/resources.h new file mode 100644 index 000000000..923031af4 --- /dev/null +++ b/frontends/gtk/resources.h @@ -0,0 +1,109 @@ +/* + * 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/>. + */ + +/** + * \file + * Interface to gtk builtin resource handling. + * + * This presents a unified interface to the rest of the codebase to + * obtain resources. Note this is not anything to do with the resource + * scheme handling beyond possibly providing the underlying data. + * + */ + +#ifndef NETSURF_GTK_RESOURCES_H +#define NETSURF_GTK_RESOURCES_H 1 + +/** + * Initialise GTK resources handling. + * + * Must be called before attempting to retrieve any resources but + * after logging is initialised as it logs. + * + * \param respath A string vector of paths to search for resources. + * \return NSERROR_OK if all resources were located else an + * appropriate error code. + */ +nserror nsgtk_init_resources(char **respath); + +/** + * Creates a menu cursor from internal resources. + * + * \return Cursor object or NULL on error. + */ +GdkCursor *nsgtk_create_menu_cursor(void); + +/** + * 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); + +/** + * Get direct pointer to resource data. + * + * For a named resource this obtains a direct acesss pointer to the + * data and its length. + * + * The data is read only through this pointer and remains valid until + * program exit. + * + * \param resname The resource name to obtain data for. + * \param data_out The resulting data. + * \param data_size_out The resulting data size. + * \return NSERROR_OK and data_out updated or appropriate error code. + */ +nserror nsgtk_data_from_resname(const char *resname, const uint8_t **data_out, size_t *data_size_out); + +/** + * Get path to resource data. + * + * For a named resource this obtains the on-disc path to that resource. + * + * The path is read only and remains valid untill program exit. + * \param resname The resource name to obtain path for. + * \param path_out The resulting data. + * \return NSERROR_OK and path_out updated or appropriate error code. + */ +nserror nsgtk_path_from_resname(const char *resname, const char **path_out); + +#endif |