static void gegl_gtk_view_init(GeglGtkView *self) { self->priv = (GeglGtkViewPrivate *)view_helper_new(); g_signal_connect(self->priv, "redraw-needed", G_CALLBACK(trigger_redraw), (gpointer)self); g_signal_connect(self->priv, "size-changed", G_CALLBACK(view_size_changed), (gpointer)self); g_signal_connect(self, "size-allocate", G_CALLBACK(size_allocate), NULL); }
static void setup_helper_test(ViewHelperTest *test) { gpointer buf; GeglRectangle rect = {0, 0, 512, 512}; /* Create a buffer, fill it with white */ test->buffer = gegl_buffer_new(&rect, babl_format("R'G'B' u8")); buf = gegl_buffer_linear_open(test->buffer, NULL, NULL, babl_format("Y' u8")); memset(buf, 255, rect.width * rect.height); gegl_buffer_linear_close(test->buffer, buf); /* Setup a graph with two nodes, one sourcing the buffer and a no-op */ test->graph = gegl_node_new(); test->loadbuf = gegl_node_new_child(test->graph, "operation", "gegl:buffer-source", "buffer", test->buffer, NULL); test->out = gegl_node_new_child(test->graph, "operation", "gegl:nop", NULL); gegl_node_link_many(test->loadbuf, test->out, NULL); /* Setup the GeglView helper, hook up the output node to it */ test->helper = view_helper_new(); view_helper_set_node(test->helper, test->out); }