Blame examples/gegl-convert.c

Packit Service 2781ba
#include <gegl.h> 
Packit Service 2781ba
Packit Service 2781ba
gint
Packit Service 2781ba
main (gint    argc,
Packit Service 2781ba
      gchar **argv)
Packit Service 2781ba
{
Packit Service 2781ba
  GeglNode *graph, *sink;
Packit Service 2781ba
  GeglBuffer *buffer = NULL;
Packit Service 2781ba
Packit Service 2781ba
  gegl_init (&argc, &argv);
Packit Service 2781ba
Packit Service 2781ba
  if (argc != 3)
Packit Service 2781ba
    {
Packit Service 2781ba
      g_print ("GEGL based image conversion tool\n");
Packit Service 2781ba
      g_print ("Usage: %s <imageA> <imageB>\n", argv[0]);
Packit Service 2781ba
      return 1;
Packit Service 2781ba
    }
Packit Service 2781ba
Packit Service 2781ba
  graph = gegl_graph (sink=gegl_node ("gegl:buffer-sink", "buffer", &buffer, NULL,
Packit Service 2781ba
                           gegl_node ("gegl:load", "path", argv[1], NULL)));
Packit Service 2781ba
  gegl_node_process (sink);
Packit Service 2781ba
  g_object_unref (graph);
Packit Service 2781ba
  if (!buffer)
Packit Service 2781ba
    {
Packit Service 2781ba
      g_print ("Failed to open %s\n", argv[1]);
Packit Service 2781ba
      return 1;
Packit Service 2781ba
    }
Packit Service 2781ba
Packit Service 2781ba
  graph = gegl_graph (sink=gegl_node ("gegl:save",
Packit Service 2781ba
                      "path", argv[2], NULL,
Packit Service 2781ba
                      gegl_node ("gegl:buffer-source", "buffer", buffer, NULL)));
Packit Service 2781ba
  gegl_node_process (sink);
Packit Service 2781ba
Packit Service 2781ba
  g_object_unref (buffer); 
Packit Service 2781ba
  g_object_unref (buffer);  /* XXX: why is two unrefs needed here? */
Packit Service 2781ba
  g_object_unref (graph);
Packit Service 2781ba
  gegl_exit ();
Packit Service 2781ba
  return 0;
Packit Service 2781ba
}