Dessiner un point sur un pixmap avec GTK2

Dessiner un point sur un pixmap avec GTK2 - C - Programmation

Marsh Posté le 14-04-2008 à 09:38:53    

Bonjour
 
Je souhaite dans un premier temps dessiner un point sur un pixmap, ce pixmap est inséré dans la fenêtre.
 
VOici le code :
 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <malloc.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <math.h>
#include <locale.h>
 
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <glib/gprintf.h>
//#include "vxctools/h/vxc_typ.h"
#include <stdlib.h>
#include <gtk/gtk.h>
 
 
 
 
int main (int argc, char *argv[])
{
 GtkPixmap *dessin;
 GdkWindow *window1;
 
 gtk_init(&argc,&argv);
 
 window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL);
 
 dessin = gdk_pixmap_new(window1,
                            800,
                            600,-1);
 
 gtk_window_set_default_size(GTK_WINDOW(window1),800,600);
 g_signal_connect(G_OBJECT(window1), "destroy", G_CALLBACK(gtk_main_quit), NULL);
 
 // Recuperation du contexte graphique
 GdkGCValues *gcV;
 GdkGC *gc;
 
 gtk_widget_set_size_request (GTK_WIDGET (dessin), 300, 300);
 
 gc = gdk_gc_new(dessin);
 
 // Pas sur du tout :
 gcV = malloc(sizeof(GdkGCValues));
 
 // Recuperation du contexte graphique
 gdk_gc_get_values(gc,gcV);
 
 // Dessin du point
 gdk_draw_point(dessin, gc, 20,20);
 
 // Ajout du dessin a la fenetre
 gtk_container_add (GTK_CONTAINER(window1), dessin);
 
 // Affichage de la fenetre et de son contenu
 gtk_widget_show_all(window1);
 gtk_main();
}


 
La fenêtre s'affiche bien mais sans le point.  
La console affiche ceci :


(test_dessin:11452): Gdk-CRITICAL **: gdk_pixmap_new: assertion `drawable == NULL || GDK_IS_DRAWABLE (drawable)' failed
 
(test_dessin:11452): Gtk-CRITICAL **: gtk_widget_set_size_request: assertion `GTK_IS_WIDGET (widget)' failed
 
(test_dessin:11452): Gdk-CRITICAL **: gdk_gc_new: assertion `drawable != NULL' failed
 
(test_dessin:11452): Gdk-CRITICAL **: gdk_gc_get_values: assertion `GDK_IS_GC (gc)' failed
 
(test_dessin:11452): Gdk-CRITICAL **: gdk_draw_point: assertion `GDK_IS_DRAWABLE (drawable)' failed
 
(test_dessin:11452): Gtk-CRITICAL **: gtk_container_add: assertion `GTK_IS_WIDGET (widget)' failed


 
Est-ce que j'ommet de parametrer le "pinceau"?  
Je ne comprends pas pourquoi il me réponds que mon window n'est pas drawable alors que je vois dans "prog linux avec GTK+" : "GdkWindow est un drawable.
 
 
Merci


Message édité par jijiz le 14-04-2008 à 09:45:55
Reply

Marsh Posté le 14-04-2008 à 09:38:53   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed