1 #include "test-common.h"
2 
3 void translate_integer(GeglBuffer *buffer);
4 void translate_nearest(GeglBuffer *buffer);
5 
6 gint
main(gint argc,gchar ** argv)7 main (gint    argc,
8       gchar **argv)
9 {
10   GeglBuffer *buffer;
11 
12   gegl_init (&argc, &argv);
13 
14   buffer = test_buffer (1024, 1024, babl_format ("R'G'B' u8"));
15   bench ("translate-integer", buffer, &translate_integer);
16   bench ("translate-nearest", buffer, &translate_nearest);
17 
18   return 0;
19 }
20 
translate_integer(GeglBuffer * buffer)21 void translate_integer(GeglBuffer *buffer)
22 {
23   GeglBuffer *buffer2;
24   GeglNode   *gegl, *source, *translate, *sink;
25 
26   gegl = gegl_node_new ();
27   source = gegl_node_new_child (gegl, "operation", "gegl:buffer-source", "buffer", buffer, NULL);
28   translate = gegl_node_new_child (gegl, "operation", "gegl:translate", "x", 10.0, "y", 10.0, NULL);
29   sink = gegl_node_new_child (gegl, "operation", "gegl:buffer-sink", "buffer", &buffer2, NULL);
30 
31   gegl_node_link_many (source, translate, sink, NULL);
32   gegl_node_process (sink);
33   g_object_unref (gegl);
34   g_object_unref (buffer2);
35 }
36 
translate_nearest(GeglBuffer * buffer)37 void translate_nearest(GeglBuffer *buffer)
38 {
39   GeglBuffer *buffer2;
40   GeglNode   *gegl, *source, *translate, *sink;
41 
42   gegl = gegl_node_new ();
43   source = gegl_node_new_child (gegl, "operation", "gegl:buffer-source", "buffer", buffer, NULL);
44   translate = gegl_node_new_child (gegl,
45                                    "operation", "gegl:translate",
46                                    "x", 10.5,
47                                    "y", 10.5,
48                                    "sampler", GEGL_SAMPLER_NEAREST,
49                                    NULL);
50   sink = gegl_node_new_child (gegl, "operation", "gegl:buffer-sink", "buffer", &buffer2, NULL);
51 
52   gegl_node_link_many (source, translate, sink, NULL);
53   gegl_node_process (sink);
54   g_object_unref (gegl);
55   g_object_unref (buffer2);
56 }
57