void draw_moving_diagramm(void) { guint width, height; uint16_t i, k; GdkWindow* window_para_mov = gtk_widget_get_window((GtkWidget *)drw_para_target_moving); GdkWindow* window_targets = gtk_widget_get_window((GtkWidget *)drw_targets_over_time); cairo_region_t * cairoRegion = cairo_region_create(); GdkDrawingContext * drawingContext; // Fenster für die Position der Targets über der Zeit width = gtk_widget_get_allocated_width ((GtkWidget *)drw_targets_over_time); // normal 400 height = gtk_widget_get_allocated_height ((GtkWidget *)drw_targets_over_time); // normal 120 drawingContext = gdk_window_begin_draw_frame (window_targets, cairoRegion); cairo_t * cr1 = gdk_drawing_context_get_cairo_context (drawingContext); // Löschen cairo_set_source_rgb (cr1, CAIRO_DKLGRAU ); cairo_rectangle(cr1, 0, 0, width-1, height-1); cairo_fill(cr1); // Start drawing cairo_set_source_rgb (cr1, CAIRO_GELB); cairo_set_line_width (cr1, 3); k= idx_buf_m; cairo_move_to (cr1, 0, 120-(buf_moving[k]/5)); for (i= 1; i<40; i++) { cairo_line_to (cr1, i*10, 120-(buf_moving[k]/5)); if(k< 39) k++; else k=0; } cairo_stroke (cr1); gdk_window_end_draw_frame(window_targets,drawingContext); cairo_region_destroy(cairoRegion); // cleanup // Fenster für Parameter Moving Target cairo_region_t * cairoRegion2 = cairo_region_create(); GdkDrawingContext * drawingContext2; width = gtk_widget_get_allocated_width ((GtkWidget *)drw_para_target_moving); // normal 200 height = gtk_widget_get_allocated_height ((GtkWidget *)drw_para_target_moving); // normal 120 drawingContext2 = gdk_window_begin_draw_frame (window_para_mov, cairoRegion2); cairo_t * cr2 = gdk_drawing_context_get_cairo_context (drawingContext2); cairo_set_source_rgb (cr2, CAIRO_SCHWARZ ); cairo_rectangle(cr2, 0, 0, width-1, height-1); cairo_fill(cr2); gdk_window_end_draw_frame(window_targets,drawingContext2); cairo_region_destroy(cairoRegion2); }