1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
   |  
#include <stdlib.h>
#include <gtk/gtk.h>
 
gboolean Callback_draw(GtkWidget *drawing, GdkEventExpose *event, gpointer user_data)
{
	GdkGC *GC = gdk_gc_new(drawing->window);
	gdk_draw_rectangle (drawing->window, GC, TRUE, 50, 50, 200, 200);
	g_object_unref(GC);
 
	return FALSE;
}
 
 
int main(int argc, char *argv[])
{
	GtkWidget *window;
	GtkWidget *drawing=NULL;
 
	gtk_init(&argc, &argv);
	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_default_size(GTK_WINDOW(window), 300, 300);
	gtk_window_set_title(GTK_WINDOW(window), "Synchromix -- By Cyberbros");
	g_signal_connect(G_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),0);
 
	/* Création d'un GtkDrawingArea et insertion dans la fenêtre principale */
	drawing=gtk_drawing_area_new();
	gtk_widget_set_size_request(drawing, 200,200);
	gtk_container_add(GTK_CONTAINER(window), drawing);
 
	/* Affectation d'un callback dans lequel on va dessiner associé au signal "expose-event" */
	g_signal_connect(G_OBJECT(drawing), "expose-event", (GCallback)Callback_draw, NULL);
 
	gtk_widget_show_all(window);
 
	gtk_main();
 
	return EXIT_SUCCESS;
} | 
Partager