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 40 41 42 43 44 45 46 47 48 49
|
#include <math.h>
#include <gtk/gtk.h>
#include <gdk/gdk.h>
/* Essai de scrolled window */
gboolean expose_event_callback (GtkWidget *widget, GdkEventExpose *event, gpointer data)
{
gdk_draw_arc (widget->window,
widget->style->fg_gc[GTK_WIDGET_STATE (widget)],
TRUE,
50, 0, widget->allocation.height, widget->allocation.height,
0, 64 * 360);
gdk_draw_line (widget->window ,widget->style->white_gc ,50 ,50 ,1150, 250);
return TRUE;
}
int main( int argc ,char *argv[] )
{
GtkWidget *gg_main_window ,*gg_main_vbox ,*scrol ,*gg_canvas;
gtk_init (&argc, &argv);
gg_main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_widget_set_size_request (gg_main_window, 500, 500);
/* vbox principale */
gg_main_vbox = gtk_vbox_new (FALSE, 1);
gtk_box_set_homogeneous (GTK_BOX(gg_main_vbox) , FALSE);
gtk_container_add (GTK_CONTAINER (gg_main_window), gg_main_vbox);
scrol = gtk_scrolled_window_new (NULL ,NULL);
gtk_box_pack_start (GTK_BOX (gg_main_vbox) ,scrol , TRUE, TRUE, 0);
gg_canvas = gtk_drawing_area_new ();
gtk_widget_set_size_request (gg_canvas ,700 ,600);
/* Rajoute la drawing_area a la scrolled_window */
gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW(scrol),gg_canvas );
g_signal_connect (G_OBJECT (gg_canvas), "expose_event",
G_CALLBACK (expose_event_callback), NULL);
g_signal_connect (G_OBJECT (gg_main_window), "delete_event"
,G_CALLBACK (gtk_main_quit), NULL);
gtk_widget_show_all (gg_main_window);
gtk_main ();
return 0;
} |
Partager