diff -C 3 -P '--exclude-from=/home/ed/src/exclude-iu-file' -r ./ENHANCEMENTS ../grace-5.1.22iu/ENHANCEMENTS *** ./ENHANCEMENTS 1969-12-31 17:00:00.000000000 -0700 --- ../grace-5.1.22iu/ENHANCEMENTS 2011-10-12 21:55:55.000000000 -0600 *************** *** 0 **** --- 1,4 ---- + Instantaneous updating + PDFs can be cropped to the minimum bounding box: use the "Tight BB" device + option + Binary files ./src/buildinfo and ../grace-5.1.22iu/src/buildinfo differ diff -C 3 -P '--exclude-from=/home/ed/src/exclude-iu-file' -r ./src/pdfdrv.c ../grace-5.1.22iu/src/pdfdrv.c *** ./src/pdfdrv.c 2004-08-04 13:37:47.000000000 -0600 --- ../grace-5.1.22iu/src/pdfdrv.c 2011-10-12 16:02:54.000000000 -0600 *************** *** 75,80 **** --- 75,81 ---- static int pdf_setup_pdf1_3 = TRUE; static int pdf_setup_pdfpattern = FALSE; + static int pdf_setup_tightbb = FALSE; static int pdf_setup_compression = 4; extern FILE *prstream; *************** *** 189,195 **** pdfinitpatterns(); ! PDF_begin_page(phandle, pg.width*72.0/pg.dpi, pg.height*72.0/pg.dpi); if ((s = get_project_description())) { PDF_set_border_style(phandle, "dashed", 3.0); --- 190,208 ---- pdfinitpatterns(); ! float xorg; ! float yorg; ! ! if( pdf_setup_tightbb ) { ! view v = get_bbox(BBOX_TYPE_GLOB); ! float bbwidth = (v.xv2-v.xv1)*page_scalef; ! float bbheight = (v.yv2-v.yv1)*page_scalef; ! xorg = (v.xv1)*page_scalef; ! yorg = (v.yv1)*page_scalef; ! PDF_begin_page(phandle, bbwidth, bbheight ); ! } else { ! PDF_begin_page(phandle, pg.width*72.0/pg.dpi, pg.height*72.0/pg.dpi); ! } if ((s = get_project_description())) { PDF_set_border_style(phandle, "dashed", 3.0); *************** *** 200,205 **** --- 213,220 ---- 20.0, 50.0, 320.0, 100.0, s, "Project description", "note", 0); } + if( pdf_setup_tightbb ) + PDF_translate( phandle, -xorg, -yorg ); PDF_scale(phandle, page_scalef, page_scalef); return RETURN_SUCCESS; *************** *** 686,691 **** --- 701,707 ---- static Widget pdf_setup_frame; static Widget pdf_setup_pdf1_3_item; static Widget pdf_setup_pdfpattern_item; + static Widget pdf_setup_tightbb_item; static SpinStructure *pdf_setup_compression_item; void pdf_gui_setup(void) *************** *** 701,706 **** --- 717,723 ---- rc = CreateVContainer(fr); pdf_setup_pdf1_3_item = CreateToggleButton(rc, "PDF-1.3"); pdf_setup_pdfpattern_item = CreateToggleButton(rc, "Use patterns"); + pdf_setup_tightbb_item = CreateToggleButton(rc, "Tight BBox"); pdf_setup_compression_item = CreateSpinChoice(rc, "Compression:", 1, SPIN_TYPE_INT, 0.0, 9.0, 1.0); *************** *** 716,721 **** --- 733,739 ---- if (pdf_setup_frame) { SetToggleButtonState(pdf_setup_pdf1_3_item, pdf_setup_pdf1_3); SetToggleButtonState(pdf_setup_pdfpattern_item, pdf_setup_pdfpattern); + SetToggleButtonState(pdf_setup_tightbb_item, pdf_setup_tightbb); SetSpinChoice(pdf_setup_compression_item, (double) pdf_setup_compression); } } *************** *** 724,729 **** --- 742,748 ---- { pdf_setup_pdf1_3 = GetToggleButtonState(pdf_setup_pdf1_3_item); pdf_setup_pdfpattern = GetToggleButtonState(pdf_setup_pdfpattern_item); + pdf_setup_tightbb = GetToggleButtonState(pdf_setup_tightbb_item); pdf_setup_compression = (int) GetSpinChoice(pdf_setup_compression_item); return RETURN_SUCCESS;