mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-15 00:32:38 +03:00
e1bbe4528b
This adds API to obtain direct pointers to arrays of data from compiled in resources. Additionally it hooks this up to provide data for the resourece scheme handler.
98 lines
3.1 KiB
C
98 lines
3.1 KiB
C
/*
|
|
* 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);
|
|
|
|
#endif
|