[gegl] gegl: implement bablformat serialization
- From: Øyvind Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gegl] gegl: implement bablformat serialization
- Date: Thu, 13 Apr 2017 19:22:45 +0000 (UTC)
commit 05db10c45e6051599480dd5402f1c5f49c9d2aac
Author: Øyvind Kolås <pippin gimp org>
Date: Thu Apr 13 19:46:41 2017 +0200
gegl: implement bablformat serialization
gegl/gegl-serialize.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
---
diff --git a/gegl/gegl-serialize.c b/gegl/gegl-serialize.c
index 414eee5..11582fc 100644
--- a/gegl/gegl-serialize.c
+++ b/gegl/gegl-serialize.c
@@ -155,6 +155,7 @@ gegl_create_chain_argv (char **ops,
char *match = strchr (*arg, '=');
{
GType target_type = 0;
+ GParamSpec *pspec = NULL;
GValue gvalue = {0,};
char *key = g_strdup (*arg);
char *value = strchr (key, '=') + 1;
@@ -212,6 +213,7 @@ gegl_create_chain_argv (char **ops,
if (!strcmp (pspecs[i]->name, key))
{
target_type = pspecs[i]->value_type;
+ pspec = pspecs[i];
break;
}
}
@@ -406,6 +408,16 @@ gegl_create_chain_argv (char **ops,
gegl_path_parse_string (path, value);
gegl_node_set (iter[level], key, path, NULL);
}
+ else if (target_type == G_TYPE_POINTER &&
+ GEGL_IS_PARAM_SPEC_FORMAT (pspec))
+ {
+ const Babl *format = NULL;
+
+ if (value[0])
+ format = babl_format (value);
+
+ gegl_node_set (iter[level], key, format, NULL);
+ }
else if (g_type_is_a (target_type, G_TYPE_STRING))
{
gegl_node_set (iter[level], key, value, NULL);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]