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