script: Add loading from a resource
GLib has gained support for compiling ancillary data files into the same binary blob as a library or as an executable. We should add this feature to ClutterScript, so that it's possible to bundle UI definitions with an application.
This commit is contained in:
parent
254ebd8765
commit
8d8d4ae7e5
@ -600,6 +600,45 @@ clutter_script_load_from_data (ClutterScript *script,
|
|||||||
return priv->last_merge_id;
|
return priv->last_merge_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* clutter_script_load_from_resource:
|
||||||
|
* @script: a #ClutterScript
|
||||||
|
* @resource_path: the resource path of the file to parse
|
||||||
|
* @error: return location for a #GError, or %NULL
|
||||||
|
*
|
||||||
|
* Loads the definitions from a resource file into @script and merges with
|
||||||
|
* the currently loaded ones, if any.
|
||||||
|
*
|
||||||
|
* Return value: on error, zero is returned and @error is set
|
||||||
|
* accordingly. On success, the merge id for the UI definitions is
|
||||||
|
* returned. You can use the merge id with clutter_script_unmerge_objects().
|
||||||
|
*
|
||||||
|
* Since: 1.10
|
||||||
|
*/
|
||||||
|
guint
|
||||||
|
clutter_script_load_from_resource (ClutterScript *script,
|
||||||
|
const gchar *resource_path,
|
||||||
|
GError **error)
|
||||||
|
{
|
||||||
|
GBytes *data;
|
||||||
|
guint res;
|
||||||
|
|
||||||
|
g_return_val_if_fail (CLUTTER_IS_SCRIPT (script), 0);
|
||||||
|
|
||||||
|
data = g_resources_lookup_data (resource_path, 0, error);
|
||||||
|
if (data == NULL)
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
res = clutter_script_load_from_data (script,
|
||||||
|
g_bytes_get_data (data, NULL),
|
||||||
|
g_bytes_get_size (data),
|
||||||
|
error);
|
||||||
|
|
||||||
|
g_bytes_unref (data);
|
||||||
|
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* clutter_script_get_object:
|
* clutter_script_get_object:
|
||||||
* @script: a #ClutterScript
|
* @script: a #ClutterScript
|
||||||
|
@ -153,6 +153,9 @@ guint clutter_script_load_from_data (ClutterScript
|
|||||||
const gchar *data,
|
const gchar *data,
|
||||||
gssize length,
|
gssize length,
|
||||||
GError **error);
|
GError **error);
|
||||||
|
guint clutter_script_load_from_resource (ClutterScript *script,
|
||||||
|
const gchar *resource_path,
|
||||||
|
GError **error);
|
||||||
|
|
||||||
GObject * clutter_script_get_object (ClutterScript *script,
|
GObject * clutter_script_get_object (ClutterScript *script,
|
||||||
const gchar *name);
|
const gchar *name);
|
||||||
|
@ -936,6 +936,7 @@ clutter_script_get_type_from_name
|
|||||||
clutter_script_list_objects
|
clutter_script_list_objects
|
||||||
clutter_script_load_from_data
|
clutter_script_load_from_data
|
||||||
clutter_script_load_from_file
|
clutter_script_load_from_file
|
||||||
|
clutter_script_load_from_resource
|
||||||
clutter_script_lookup_filename
|
clutter_script_lookup_filename
|
||||||
clutter_script_new
|
clutter_script_new
|
||||||
clutter_script_unmerge_objects
|
clutter_script_unmerge_objects
|
||||||
|
@ -129,7 +129,7 @@ LT_INIT([disable-static])
|
|||||||
AC_HEADER_STDC
|
AC_HEADER_STDC
|
||||||
|
|
||||||
# required versions for dependencies
|
# required versions for dependencies
|
||||||
m4_define([glib_req_version], [2.31.0])
|
m4_define([glib_req_version], [2.31.10])
|
||||||
m4_define([cogl_req_version], [1.9.4])
|
m4_define([cogl_req_version], [1.9.4])
|
||||||
m4_define([json_glib_req_version], [0.12.0])
|
m4_define([json_glib_req_version], [0.12.0])
|
||||||
m4_define([atk_req_version], [2.1.5])
|
m4_define([atk_req_version], [2.1.5])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user