+gint traceset_notify(void *hook_data, void *call_data)
+{
+ ControlFlowData *control_flow_data = (ControlFlowData*) hook_data;
+ Drawing_t *drawing = control_flow_data->drawing;
+ GtkWidget *widget = drawing->drawing_area;
+
+ drawing->damage_begin = 0;
+ drawing->damage_end = drawing->width;
+
+
+ // Clear the image
+ gdk_draw_rectangle (drawing->pixmap,
+ widget->style->black_gc,
+ TRUE,
+ 0, 0,
+ drawing->width+SAFETY,
+ drawing->height);
+
+
+ if(drawing->damage_begin < drawing->damage_end)
+ {
+ drawing_data_request(drawing,
+ &drawing->pixmap,
+ drawing->damage_begin,
+ 0,
+ drawing->damage_end-drawing->damage_begin,
+ drawing->height);
+ }
+
+ gtk_widget_queue_draw_area(drawing->drawing_area,
+ 0,0,
+ drawing->width,
+ drawing->height);
+
+ request_background_data(control_flow_data);
+
+ return FALSE;
+}
+
+gint redraw_notify(void *hook_data, void *call_data)
+{
+ ControlFlowData *control_flow_data = (ControlFlowData*) hook_data;
+ Drawing_t *drawing = control_flow_data->drawing;
+ GtkWidget *widget = drawing->drawing_area;
+
+ drawing->damage_begin = 0;
+ drawing->damage_end = drawing->width;
+
+
+ // Clear the image
+ gdk_draw_rectangle (drawing->pixmap,
+ widget->style->black_gc,
+ TRUE,
+ 0, 0,
+ drawing->width+SAFETY,
+ drawing->height);
+
+
+ if(drawing->damage_begin < drawing->damage_end)
+ {
+ drawing_data_request(drawing,
+ &drawing->pixmap,
+ drawing->damage_begin,
+ 0,
+ drawing->damage_end-drawing->damage_begin,
+ drawing->height);
+ }
+
+ gtk_widget_queue_draw_area(drawing->drawing_area,
+ 0,0,
+ drawing->width,
+ drawing->height);
+
+ return FALSE;
+
+}
+
+
+gint continue_notify(void *hook_data, void *call_data)
+{
+ ControlFlowData *control_flow_data = (ControlFlowData*) hook_data;
+ Drawing_t *drawing = control_flow_data->drawing;
+ GtkWidget *widget = drawing->drawing_area;
+
+ //g_assert(widget->allocation.width == drawing->damage_end);
+
+ if(drawing->damage_begin < drawing->damage_end)
+ {
+ drawing_data_request(drawing,
+ &drawing->pixmap,
+ drawing->damage_begin,
+ 0,
+ drawing->damage_end-drawing->damage_begin,
+ drawing->height);
+ }
+
+ return FALSE;
+}
+
+
+gint after_process_traceset_hook(void *hook_data, void *call_data)
+{
+ //ControlFlowData *control_flow_data = (ControlFlowData*) hook_data;
+ EventsRequest *events_request = (EventsRequest *)hook_data;
+
+ ControlFlowData *control_flow_data =
+ (ControlFlowData*)events_request->viewer_data;
+
+
+ drawing_data_request_end(events_request,
+ (LttvTracesetState*)call_data);
+ return 0;
+}
+
+
+