/** canvas.c **/ #include gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data); gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data); #define WIDTH 400 #define HEIGHT 200 int main(int argc,char *argv[]) { GtkWidget *app; GtkWidget *canvas; GnomeCanvasPoints *points; GnomeCanvasGroup *rootGroup; gnome_init("canvas","1.0",argc,argv); app = gnome_app_new("canvas","Gnome Canvas"); gtk_signal_connect(GTK_OBJECT(app),"delete_event", GTK_SIGNAL_FUNC(eventDelete),NULL); gtk_signal_connect(GTK_OBJECT(app),"destroy", GTK_SIGNAL_FUNC(eventDestroy),NULL); canvas = gnome_canvas_new(); gtk_widget_set_usize(canvas,WIDTH,HEIGHT); gnome_canvas_set_scroll_region(GNOME_CANVAS(canvas), 0.0,0.0,WIDTH,HEIGHT); rootGroup = gnome_canvas_root(GNOME_CANVAS(canvas)); gnome_app_set_contents(GNOME_APP(app),canvas); gnome_canvas_item_new(rootGroup, gnome_canvas_rect_get_type(), "x1",(double)10, "y1",(double)10, "x2",(double)(WIDTH - 10), "y2",(double)(HEIGHT - 10), "fill_color","white", "outline_color","black", NULL); points = gnome_canvas_points_new(3); points->coords[0] = 20; points->coords[1] = 20; points->coords[2] = WIDTH - 20; points->coords[3] = HEIGHT / 2; points->coords[4] = 20; points->coords[5] = HEIGHT - 20; gnome_canvas_item_new(rootGroup, gnome_canvas_line_get_type(), "points",points, "fill_color","black", "width_pixels",2, NULL); gnome_canvas_points_free(points); gtk_widget_show_all(app); gtk_main(); exit(0); } gint eventDelete(GtkWidget *widget, GdkEvent *event,gpointer data) { return(FALSE); } gint eventDestroy(GtkWidget *widget, GdkEvent *event,gpointer data) { gtk_main_quit(); return(0); }