From 9390cbb84a9dca0d3d20e02765cc92902b06ec14 Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Mon, 22 Jul 2013 09:10:19 +0000 Subject: dvipdfm-x: Continue merging dvipdfmx and xdvipdfmx git-svn-id: svn://tug.org/texlive/trunk@31262 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/dvipdfm-x/xsrc/xbb.c | 46 +++++++++------------------------- 1 file changed, 12 insertions(+), 34 deletions(-) (limited to 'Build/source/texk/dvipdfm-x/xsrc/xbb.c') diff --git a/Build/source/texk/dvipdfm-x/xsrc/xbb.c b/Build/source/texk/dvipdfm-x/xsrc/xbb.c index a8564b1e042..da771659c78 100644 --- a/Build/source/texk/dvipdfm-x/xsrc/xbb.c +++ b/Build/source/texk/dvipdfm-x/xsrc/xbb.c @@ -119,8 +119,6 @@ static char *make_xbb_filename(const char *name) return result; } -static const char *xbb_file_mode = FOPEN_W_MODE; - static void write_xbb(char *fname, double bbllx_f, double bblly_f, double bburx_f, double bbury_f, @@ -208,29 +206,6 @@ static void do_png (FILE *fp, char *filename) #endif /* HAVE_LIBPNG */ #ifdef XETEX -static void write_xbb_old(char *fname, int bbllx, int bblly, int bburx, int bbury) -{ - char *outname; - FILE *fp; - - outname = make_xbb_filename(fname); - if ((fp = MFOPEN(outname, xbb_file_mode)) == NULL) { - fprintf(stderr, "Unable to open output file: %s\n", outname); - RELEASE(outname); - return; - } - if (verbose) { - MESG("Writing to %s: ", outname); - MESG("Bounding box: %d %d %d %d\n", bbllx, bblly, bburx, bbury); - } - fprintf(fp, "%%%%Title: %s\n", fname); - fprintf(fp, "%%%%Creator: %s %s\n", XBB_PROGRAM, XBB_VERSION); - fprintf(fp, "%%%%BoundingBox: %d %d %d %d\n", bbllx, bblly, bburx, bbury); - do_time(fp); - RELEASE(outname); - MFCLOSE(fp); -} - static int rect_equal (pdf_obj *rect1, pdf_obj *rect2) { int i; @@ -241,7 +216,8 @@ static int rect_equal (pdf_obj *rect1, pdf_obj *rect2) return 1; } -static int pdf_get_info (FILE *image_file, char *filename, int *llx, int *lly, int *urx, int *ury) +static int pdf_get_info (FILE *image_file, char *filename, int *version, + double *llx, double *lly, double *urx, double *ury) { pdf_obj *page_tree; pdf_obj *bbox; @@ -342,10 +318,12 @@ static int pdf_get_info (FILE *image_file, char *filename, int *llx, int *lly, i return -1; } - *llx = (int)pdf_number_value(pdf_get_array(bbox, 0)); - *lly = (int)pdf_number_value(pdf_get_array(bbox, 1)); - *urx = (int)pdf_number_value(pdf_get_array(bbox, 2)); - *ury = (int)pdf_number_value(pdf_get_array(bbox, 3)); + *version = pdf_file_get_version(pf); + + *llx = pdf_number_value(pdf_get_array(bbox, 0)); + *lly = pdf_number_value(pdf_get_array(bbox, 1)); + *urx = pdf_number_value(pdf_get_array(bbox, 2)); + *ury = pdf_number_value(pdf_get_array(bbox, 3)); pdf_release_obj(bbox); @@ -355,13 +333,14 @@ static int pdf_get_info (FILE *image_file, char *filename, int *llx, int *lly, i static void do_pdf (FILE *fp, char *filename) { - int llx, lly, urx, ury; + double llx, lly, urx, ury; + int version; - if (pdf_get_info(fp, filename, &llx, &lly, &urx, &ury) < 0) { + if (pdf_get_info(fp, filename, &version, &llx, &lly, &urx, &ury) < 0) { fprintf (stderr, "%s does not look like a PDF file...\n", filename); return; } - write_xbb_old(filename, llx, lly, urx, ury); + write_xbb(filename, llx, lly, urx, ury, version, 1); return; } #else @@ -405,7 +384,6 @@ int extractbb (int argc, char *argv[]) while (argc > 0 && *argv[0] == '-') { switch (*(argv[0]+1)) { case 'b': - xbb_file_mode = FOPEN_WBIN_MODE; argc -= 1; argv += 1; break; case 'm': -- cgit v1.2.3