int main(int argc, char *argv[]){ GtkWidget *window1; GtkWidget *vbox1; GtkWidget *scrollw1; GtkWidget *canvas; GtkPlotCanvasChild *child; gint page_width, page_height; gfloat scale = 1.; page_width = GTK_PLOT_LETTER_W * scale; page_height = GTK_PLOT_LETTER_H * scale; gtk_init(&argc,&argv); window1=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window1), "GtkPlotFlux Demo"); gtk_widget_set_size_request(window1,550,650); gtk_container_border_width(GTK_CONTAINER(window1),0); g_signal_connect (GTK_OBJECT (window1), "destroy", GTK_SIGNAL_FUNC (quit), NULL); vbox1=gtk_vbox_new(FALSE,0); gtk_container_add(GTK_CONTAINER(window1),vbox1); gtk_widget_show(vbox1); scrollw1=gtk_scrolled_window_new(NULL, NULL); gtk_container_border_width(GTK_CONTAINER(scrollw1),0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollw1), GTK_POLICY_ALWAYS,GTK_POLICY_ALWAYS); gtk_box_pack_start(GTK_BOX(vbox1),scrollw1, TRUE, TRUE,0); gtk_widget_show(scrollw1); canvas = gtk_plot_canvas_new(page_width, page_height, 1.); GTK_PLOT_CANVAS_SET_FLAGS(GTK_PLOT_CANVAS(canvas), GTK_PLOT_CANVAS_DND_FLAGS); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrollw1), canvas); /* gdk_color_parse("light blue", &color); gdk_color_alloc(gtk_widget_get_colormap(canvas), &color); gtk_plot_canvas_set_background(GTK_PLOT_CANVAS(canvas), &color); */ gtk_widget_show(canvas); active_plot = new_layer(canvas); gtk_plot_set_range(GTK_PLOT(active_plot), -1. ,1., -1., 1.4); gtk_plot_legends_move(GTK_PLOT(active_plot), .500, .05); gtk_plot_set_legends_border(GTK_PLOT(active_plot), 0, 0); gtk_plot_axis_hide_title(gtk_plot_get_axis(GTK_PLOT(active_plot), GTK_PLOT_AXIS_TOP)); gtk_plot_axis_show_ticks(gtk_plot_get_axis(GTK_PLOT(active_plot), 3), 15, 3); gtk_plot_axis_set_ticks(gtk_plot_get_axis(GTK_PLOT(active_plot), 0), 1., 1); gtk_plot_axis_set_ticks(gtk_plot_get_axis(GTK_PLOT(active_plot), 1), 1., 1); gtk_plot_axis_set_visible(gtk_plot_get_axis(GTK_PLOT(active_plot), GTK_PLOT_AXIS_TOP), TRUE); gtk_plot_axis_set_visible(gtk_plot_get_axis(GTK_PLOT(active_plot), GTK_PLOT_AXIS_RIGHT), TRUE); gtk_plot_x0_set_visible(GTK_PLOT(active_plot), TRUE); gtk_plot_y0_set_visible(GTK_PLOT(active_plot), TRUE); gtk_plot_grids_set_visible(GTK_PLOT(active_plot), TRUE, TRUE, TRUE, TRUE); child = gtk_plot_canvas_plot_new(GTK_PLOT(active_plot)); gtk_plot_canvas_put_child(GTK_PLOT_CANVAS(canvas), child, .15, .06, .65, .31); gtk_widget_show(active_plot); build_example1(active_plot); g_signal_connect(GTK_OBJECT(canvas), "select_item", (void *) select_item, NULL); gtk_widget_show(window1); gtk_plot_canvas_export_ps(GTK_PLOT_CANVAS(canvas), "demoflux.ps", 0, 0, GTK_PLOT_LETTER); gtk_main(); return(0); }
int main(int argc, char *argv[]){ GtkWidget *window1; GtkWidget *vbox1; GtkWidget *scrollw1; GtkWidget *active_plot; GtkWidget *canvas; gint page_width, page_height; gfloat scale = 1.; GtkPlotDTnode p; GtkPlotDT *dtdata; char buffer[1000]; FILE *f; gdouble xmin=1e99; gdouble xmax=-1e99; gdouble ymin=1e99; gdouble ymax=-1e99; gdouble dx,dy; gint num_triangles = 0; page_width = GTK_PLOT_LETTER_W * scale; page_height = GTK_PLOT_LETTER_H * scale; gtk_init(&argc,&argv); window1=gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window1), "GtkPlotFlux Demo"); gtk_widget_set_usize(window1,550,650); gtk_container_border_width(GTK_CONTAINER(window1),0); gtk_signal_connect (GTK_OBJECT (window1), "destroy", GTK_SIGNAL_FUNC (quit), NULL); vbox1=gtk_vbox_new(FALSE,0); gtk_container_add(GTK_CONTAINER(window1),vbox1); gtk_widget_show(vbox1); scrollw1=gtk_scrolled_window_new(NULL, NULL); gtk_container_border_width(GTK_CONTAINER(scrollw1),0); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrollw1), GTK_POLICY_ALWAYS,GTK_POLICY_ALWAYS); gtk_box_pack_start(GTK_BOX(vbox1),scrollw1, TRUE, TRUE,0); gtk_widget_show(scrollw1); canvas = gtk_plot_canvas_new(page_width, page_height, 1.); GTK_PLOT_CANVAS_SET_FLAGS(GTK_PLOT_CANVAS(canvas), GTK_PLOT_CANVAS_DND_FLAGS); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scrollw1), canvas); /* gdk_color_parse("light blue", &color); gdk_color_alloc(gtk_widget_get_colormap(canvas), &color); gtk_plot_canvas_set_background(GTK_PLOT_CANVAS(canvas), &color); */ gtk_widget_show(canvas); if (argc!=2) { fprintf(stderr,"\nUsage:\n\ttestgtkplotdt X-Y-FILE\n"); exit(-1); } if (!(f=fopen(argv[1],"r"))) { fprintf(stderr,"\ncould not open file '%s' for reading\n",argv[1]); exit(-2); } /* init with nodelist size 0 */ dtdata= GTK_PLOT_DT(gtk_plot_dt_new(0)); if (!dtdata) exit(-1); /* register the progressmeter */ dtdata->pbar= simpleprogressbar; /* read X/Y pairs from f: */ while (fgets(buffer,1000,f)) { if (sscanf(buffer,"%lf %lf", &p.x, &p.y)==2) { /* add this node */ gtk_plot_dt_add_node(dtdata,p); if (xmin>p.x) xmin= p.x; if (xmax<p.x) xmax= p.x; if (ymin>p.y) ymin= p.y; if (ymax<p.y) ymax= p.y; } } dx= (xmax-xmin)*.02; dy= (ymax-ymin)*.02; fclose(f); /* start the triangulation */ fprintf(stderr,"data ranges from (%g,%g) to (%g,%g)\n", xmin,ymin,xmax,ymax); num_triangles= gtk_plot_dt_triangulate(dtdata); active_plot = new_layer(canvas); gtk_plot_set_range(GTK_PLOT(active_plot), xmin-dx, xmax+dx, ymin-dy, ymax+dy); gtk_plot_legends_move(GTK_PLOT(active_plot), .500, .05); gtk_plot_set_legends_border(GTK_PLOT(active_plot), 0, 0); gtk_plot_axis_hide_title(GTK_PLOT(active_plot), GTK_PLOT_AXIS_TOP); gtk_plot_axis_show_ticks(GTK_PLOT(active_plot), 3, 15, 3); gtk_plot_axis_set_ticks(GTK_PLOT(active_plot), 0, (xmax-xmin)/10., 1); gtk_plot_axis_set_ticks(GTK_PLOT(active_plot), 1, (ymax-ymin)/10., 1); gtk_plot_axis_set_visible(GTK_PLOT(active_plot), GTK_PLOT_AXIS_TOP, TRUE); gtk_plot_axis_set_visible(GTK_PLOT(active_plot), GTK_PLOT_AXIS_RIGHT, TRUE); gtk_plot_x0_set_visible(GTK_PLOT(active_plot), TRUE); gtk_plot_y0_set_visible(GTK_PLOT(active_plot), TRUE); gtk_plot_canvas_add_plot(GTK_PLOT_CANVAS(canvas), GTK_PLOT(active_plot), .15, .06); gtk_widget_show(active_plot); build_example1(active_plot,dtdata, num_triangles); gtk_widget_show(window1); gtk_plot_canvas_export_ps(GTK_PLOT_CANVAS(canvas), "demodtflux.ps", 0, 0, GTK_PLOT_LETTER); gtk_main(); return(0); }