[gegl] gegl: implement bablformat serialization



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]