Bonjour,
je developpe en ce moment une application avec gtk+ et devcpp. Je dois entre autres pouvoir dessiner des schemas. Ainsi j'utilise une drawing area contenant un pixmap sur lequel je dessine. Pour gerer la creation et le rafraichissement j'utilise les evenements realize et expose_event. Le probleme est que lorsque je fais une copie de pointeur dans la fonction de callback du realize, le programme plante et se ferme. Pour mieux comprendre voici le code:
//fonction de callback appellé lors de l'evenement realize sur la drawing area
static gint realisation(GtkWidget *widget, GdkEventConfigure *event, gpointer data)
{
GdkPixmap * pix;
g_print("debug\n");
pix = gdk_pixmap_new(widget->window, widget->allocation.width, widget->allocation.height, -1);
((CFiche*)data)->setPixmap(pix); //La copie se fait ici
gdk_draw_rectangle (((CFiche*)data)->getPixmap(), widget->style->white_gc, TRUE, 0, 0,
widget->allocation.width, widget->allocation.height);
return TRUE;
}
void CFiche::setPixmap(GdkPixmap * _pixmap)
{
pixmap = _pixmap; //Le prog plante sur cette instruction
}
Le but de setPixmap est de recopier le pixmap passé en parametre dans le pixmap de la classe CFiche
Si quelqu'un a une idée?
merci d'avance