+//struct _Drawing_t {
+// GtkWidget *Drawing_Area_V;
+// GdkPixmap *Pixmap;
+// ControlFlowData *Control_Flow_Data;
+
+// gint height, width, depth;
+
+//};
+
+/* Function responsible for updating the exposed area.
+ * It must call processTrace() to ask for this update.
+ */
+void Drawing_Data_Request(Drawing_t *Drawing,
+ GdkPixmap **Pixmap,
+ gint x, gint y,
+ gint width,
+ gint height)
+{
+ if(width < 0) return ;
+ if(height < 0) return ;
+
+ gdk_draw_rectangle (*Pixmap,
+ Drawing->Drawing_Area_V->style->white_gc,
+ TRUE,
+ x, y,
+ width, // do not overlap
+ height);
+
+ send_test_process(
+ GuiControlFlow_get_Process_List(Drawing->Control_Flow_Data),
+ Drawing);
+ send_test_drawing(
+ GuiControlFlow_get_Process_List(Drawing->Control_Flow_Data),
+ Drawing, *Pixmap, x, y, width, height);
+
+}
+
+/* Callbacks */
+
+
+/* Create a new backing pixmap of the appropriate size */
+static gboolean
+configure_event( GtkWidget *widget, GdkEventConfigure *event,
+ gpointer user_data)
+{
+ Drawing_t *Drawing = (Drawing_t*)user_data;
+
+ /* New Pixmap, size of the configure event */
+ GdkPixmap *Pixmap = gdk_pixmap_new(widget->window,
+ widget->allocation.width,
+ widget->allocation.height,
+ -1);
+
+ g_critical("drawing configure event");
+
+ /* If no old Pixmap present */
+ if(Drawing->Pixmap == NULL)
+ {
+ Drawing->Pixmap = gdk_pixmap_new(
+ widget->window,
+ widget->allocation.width,
+ widget->allocation.height,
+ //ProcessList_get_height
+ // (GuiControlFlow_get_Process_List(Drawing->Control_Flow_Data)),
+ -1);
+ Drawing->width = widget->allocation.width;
+ Drawing->height = widget->allocation.height;
+g_critical("init data");
+ /* Initial data request */
+ Drawing_Data_Request(Drawing, &Drawing->Pixmap, 0, 0,
+ widget->allocation.width,
+ widget->allocation.height);
+
+ }
+// /* Draw empty background */
+// gdk_draw_rectangle (Pixmap,
+// widget->style->black_gc,
+// TRUE,
+// 0, 0,
+// widget->allocation.width,
+// widget->allocation.height);
+
+ /* Copy old data to new pixmap */
+ gdk_draw_drawable (Pixmap,
+ widget->style->white_gc,
+ Drawing->Pixmap,
+ 0, 0,
+ 0, 0,
+ -1, -1);