Bonjour,

je développe un programme Fortran90/C/Gtk+, à une certaine étape je dessine des courbes dans une GtkWindow en utilisant Cairo:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
GtkWidget * info;
cairo_t *cr;
int i;
int sizecurve;
float curvetoprint[sizecurve];
 
info = (GtkWidget *) gtk_builder_get_object (BuilderGtk, "RDFs");
/* RDFs est une Windows décrite dans un fichier xml */
 
cr = gdk_cairo_create(widget -> window);
cairo_set_source_rgb(cr,  0, 0, 0);
cairo_set_line_width (cr, 1.0);
 
for (i=0; i < sizecurve-2; i++)
{
/* On place le tout dans une fenêtre 800x600 */
    cairo_move_to(cr, i*800/sizecurve, 600-50*curvetoprint[i]);
    cairo_line_to(cr, (i+1)*800/sizecurve, 600-50*curvetoprint[i+1]);
}
 
cairo_stroke(cr);
cairo_destroy(cr);
Tout cela fonctionne parfaitement seulement j'ai noté quelque chose de désagréable lors de l'exécution du programme.
La courbe est tracée pas de soucis seulement quand je masque la fenêtre dans la barre des taches et que je la fait réapparaître son contenu a été effacé ...

Une suggestion pour empêcher cela ?

S.