summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2012-02-15 16:12:10 +0000
committerRobin Watts <robin@ghostscript.com>2012-02-16 00:32:00 +0000
commit1404fbe67da5a72643730ee3000701c85a46a507 (patch)
tree5b82cdee41be2f53f8bb3c69c784893be4d92b2e
parentc77a54335307df40c686a914bba58695cf6b8001 (diff)
downloadmupdf-1404fbe67da5a72643730ee3000701c85a46a507.tar.xz
Remove mupdfdraw and muxpsdraw in favour of mudraw.
No other code changes.
-rw-r--r--Makefile12
-rw-r--r--apps/man/mupdfdraw.178
-rw-r--r--apps/mubusy.c19
-rw-r--r--apps/mubusy_draw.c (renamed from apps/mubusy_pdfdraw.c)2
-rw-r--r--apps/mubusy_xpsdraw.c2
-rw-r--r--apps/mupdfdraw.c489
-rw-r--r--apps/muxpsdraw.c374
-rw-r--r--debian/mupdf-tools.install2
-rw-r--r--debian/mupdf-tools.manpages2
-rw-r--r--win32/mubusy.vcproj8
-rw-r--r--win32/mupdf.sln25
-rw-r--r--win32/mupdfdraw.vcproj246
-rw-r--r--win32/muxpsdraw.vcproj246
13 files changed, 17 insertions, 1488 deletions
diff --git a/Makefile b/Makefile
index 69f4164c..41494f33 100644
--- a/Makefile
+++ b/Makefile
@@ -125,11 +125,9 @@ $(OUT)/cmapdump.o : pdf/pdf_cmap.c pdf/pdf_cmap_parse.c
# --- Tools and Apps ---
-PDF_APPS := $(addprefix $(OUT)/, mudraw mupdfdraw mupdfclean mupdfextract mupdfinfo mupdfshow)
-XPS_APPS := $(addprefix $(OUT)/, muxpsdraw)
+MU_APPS := $(addprefix $(OUT)/, mudraw mupdfclean mupdfextract mupdfinfo mupdfshow)
-$(PDF_APPS) : $(FITZ_LIB) $(THIRD_LIBS)
-$(XPS_APPS) : $(FITZ_LIB) $(THIRD_LIBS)
+$(MU_APPS) : $(FITZ_LIB) $(THIRD_LIBS)
BUSY_SRC := $(notdir $(wildcard apps/mubusy_*.c))
BUSY_APP := $(addprefix $(OUT)/, mubusy)
@@ -151,16 +149,16 @@ libdir ?= $(prefix)/lib
incdir ?= $(prefix)/include
mandir ?= $(prefix)/share/man
-install: $(FITZ_LIB) $(PDF_APPS) $(XPS_APPS) $(MUPDF)
+install: $(FITZ_LIB) $(MU_APPS) $(MUPDF)
install -d $(bindir) $(libdir) $(incdir) $(mandir)/man1
install $(FITZ_LIB) $(libdir)
install fitz/memento.h fitz/fitz.h pdf/mupdf.h xps/muxps.h cbz/mucbz.h $(incdir)
- install $(PDF_APPS) $(XPS_APPS) $(MUPDF) $(bindir)
+ install $(MU_APPS) $(MUPDF) $(bindir)
install $(wildcard apps/man/*.1) $(mandir)/man1
# --- Clean and Default ---
-all: $(THIRD_LIBS) $(FITZ_LIB) $(PDF_APPS) $(XPS_APPS) $(MUPDF) $(BUSY_APP)
+all: $(THIRD_LIBS) $(FITZ_LIB) $(MU_APPS) $(MUPDF) $(BUSY_APP)
clean:
rm -rf $(OUT)
diff --git a/apps/man/mupdfdraw.1 b/apps/man/mupdfdraw.1
deleted file mode 100644
index ea58d570..00000000
--- a/apps/man/mupdfdraw.1
+++ /dev/null
@@ -1,78 +0,0 @@
-.TH PDFDRAW 1 "January 27, 2012"
-.\" Please adjust this date whenever revising the manpage.
-.SH NAME
-mupdfdraw \- render PDF documents
-.SH SYNOPSIS
-.B mupdfdraw
-.RI [ options ]
-.RI input.pdf
-.RI [ pages]
-.SH DESCRIPTION
-.B mupdfdraw
-will render a PDF document to image files.
-The supported image formats are: pgm, ppm, pam and png.
-Select the pages to be rendered by specifying a comma
-separated list of ranges and individual page numbers (for example: 1,5,10-15).
-In no pages are specified all the pages will be rendered.
-.SH OPTIONS
-.TP
-.B \-o output
-The image format is deduced from the output file name.
-Embed %d in the name to indicate the page number (for example: "page%d.png").
-.TP
-.B \-p password
-Use the specified password if the file is encrypted.
-.TP
-.B \-r resolution
-Render the page at the specified resolution.
-The default resolution is 72 dpi.
-.TP
-.B \-R angle
-Rotate clockwise by given number of degrees.
-.TP
-.B \-a
-Save the alpha channel.
-The default behavior is to render each page with a white background.
-With this option, the page background is transparent.
-Only supported for pam and png output formats.
-.TP
-.B \-g
-Render in grayscale.
-The default is to render a full color RGB image.
-If the output format is pgm or ppm this option is ignored.
-.TP
-.B \-m
-Show timing information.
-Take the time it takes for each page to render and print
-a summary at the end.
-.TP
-.B \-5
-Print an MD5 checksum of the rendered image data for each page.
-.TP
-.B \-t
-Print the text contents of each page in UTF-8 encoding.
-Give the option twice to print detailed information
-about the location of each character in XML format.
-.TP
-.B \-x
-Print the display list used to render each page.
-.TP
-.B \-A
-Disable the use of accelerated functions.
-.TP
-.B \-G gamma
-Gamma correct the output image.
-Some typical values are 0.7 or 1.4 to thin or darken text rendering.
-.TP
-.B \-I
-Invert the output image colors.
-.TP
-.B pages
-Comma separated list of ranges to render.
-.SH SEE ALSO
-.BR mupdf (1),
-.BR mupdfclean (1).
-.BR mupdfshow (1).
-.SH AUTHOR
-MuPDF was written by Tor Andersson <tor@ghostscript.com>.
-MuPDF is Copyright 2006-2012 Artifex Software, Inc.
diff --git a/apps/mubusy.c b/apps/mubusy.c
index 0e12d53c..a9df26fa 100644
--- a/apps/mubusy.c
+++ b/apps/mubusy.c
@@ -7,11 +7,10 @@
#include <string.h>
int pdfclean_main(int argc, char *argv[]);
-int pdfdraw_main(int argc, char *argv[]);
+int draw_main(int argc, char *argv[]);
int pdfextract_main(int argc, char *argv[]);
int pdfinfo_main(int argc, char *argv[]);
int pdfshow_main(int argc, char *argv[]);
-int xpsdraw_main(int argc, char *argv[]);
static int
namematch(const char *end, const char *start, const char *match, int len)
@@ -33,8 +32,8 @@ int main(int argc, char **argv)
end++;
if ((end-4 >= start) && (end[-4] == '.') && (end[-3] == 'e') && (end[-2] == 'x') && (end[-1] == 'e'))
end = end-4;
- if (namematch(end, start, "mupdfdraw", 9))
- return pdfdraw_main(argc, argv);
+ if (namematch(end, start, "mupdfdraw", 9) || namematch(end, start, "muxpsdraw", 9) || namematch(end, start, "mudraw", 6))
+ return draw_main(argc, argv);
if (namematch(end, start, "mupdfclean", 10))
return pdfclean_main(argc, argv);
if (namematch(end, start, "mupdfextract", 12))
@@ -43,11 +42,9 @@ int main(int argc, char **argv)
return pdfshow_main(argc, argv);
if (namematch(end, start, "mupdfinfo", 9))
return pdfinfo_main(argc, argv);
- if (namematch(end, start, "muxpsdraw", 9))
- return xpsdraw_main(argc, argv);
/* And include old names for backward compatibility */
- if (namematch(end, start, "pdfdraw", 7))
- return pdfdraw_main(argc, argv);
+ if (namematch(end, start, "pdfdraw", 7) || namematch(end, start, "xpsdraw", 7))
+ return draw_main(argc, argv);
if (namematch(end, start, "pdfclean", 8))
return pdfclean_main(argc, argv);
if (namematch(end, start, "pdfextract", 10))
@@ -56,12 +53,10 @@ int main(int argc, char **argv)
return pdfshow_main(argc, argv);
if (namematch(end, start, "pdfinfo", 7))
return pdfinfo_main(argc, argv);
- if (namematch(end, start, "xpsdraw", 7))
- return xpsdraw_main(argc, argv);
- fprintf(stderr, "mubusy: Combined build of mupdf/muxps tools.\n\n");
+ fprintf(stderr, "mubusy: Combined build of mupdf/mudraw tools.\n\n");
fprintf(stderr, "Invoke as one of the following:\n");
- fprintf(stderr, "\tpdfclean, pdfdraw, pdfextract, pdfinfo, pdfshow, xpsdraw.\n");
+ fprintf(stderr, "\tmupdfclean, mudraw, mupdfextract, mupdfinfo, mupdfshow.\n");
return 0;
}
diff --git a/apps/mubusy_pdfdraw.c b/apps/mubusy_draw.c
index aadde1c9..26b9bd6d 100644
--- a/apps/mubusy_pdfdraw.c
+++ b/apps/mubusy_draw.c
@@ -1,2 +1,2 @@
#define MUPDF_COMBINED_EXE
-#include "mupdfdraw.c"
+#include "mudraw.c"
diff --git a/apps/mubusy_xpsdraw.c b/apps/mubusy_xpsdraw.c
deleted file mode 100644
index 9e2f8b87..00000000
--- a/apps/mubusy_xpsdraw.c
+++ /dev/null
@@ -1,2 +0,0 @@
-#define MUPDF_COMBINED_EXE
-#include "muxpsdraw.c"
diff --git a/apps/mupdfdraw.c b/apps/mupdfdraw.c
deleted file mode 100644
index 7100f5c1..00000000
--- a/apps/mupdfdraw.c
+++ /dev/null
@@ -1,489 +0,0 @@
-/*
- * pdfdraw -- command line tool for drawing pdf documents
- */
-
-#include "fitz.h"
-#include "mupdf.h"
-
-#ifdef _MSC_VER
-#include <winsock2.h>
-#else
-#include <sys/time.h>
-#endif
-
-static char *output = NULL;
-static float resolution = 72;
-static float rotation = 0;
-
-static int showxml = 0;
-static int showtext = 0;
-static int showtime = 0;
-static int showmd5 = 0;
-static int showoutline = 0;
-static int savealpha = 0;
-static int uselist = 1;
-static int alphabits = 8;
-static float gamma_value = 1;
-static int invert = 0;
-
-static fz_colorspace *colorspace;
-static char *filename;
-
-static struct {
- int count, total;
- int min, max;
- int minpage, maxpage;
-} timing;
-
-static void usage(void)
-{
- fprintf(stderr,
- "usage: pdfdraw [options] input.pdf [pages]\n"
- "\t-o -\toutput filename (%%d for page number)\n"
- "\t\tsupported formats: pgm, ppm, pam, png, pbm\n"
- "\t-p -\tpassword\n"
- "\t-r -\tresolution in dpi (default: 72)\n"
- "\t-a\tsave alpha channel (only pam and png)\n"
- "\t-b -\tnumber of bits of antialiasing (0 to 8)\n"
- "\t-g\trender in grayscale\n"
- "\t-m\tshow timing information\n"
- "\t-t\tshow text (-tt for xml)\n"
- "\t-x\tshow display list\n"
- "\t-d\tdisable use of display list\n"
- "\t-5\tshow md5 checksums\n"
- "\t-R -\trotate clockwise by given number of degrees\n"
- "\t-G gamma\tgamma correct output\n"
- "\t-I\tinvert output\n"
- "\t-l\tprint outline\n"
- "\tpages\tcomma separated list of ranges\n");
- exit(1);
-}
-
-static int gettime(void)
-{
- static struct timeval first;
- static int once = 1;
- struct timeval now;
- if (once)
- {
- gettimeofday(&first, NULL);
- once = 0;
- }
- gettimeofday(&now, NULL);
- return (now.tv_sec - first.tv_sec) * 1000 + (now.tv_usec - first.tv_usec) / 1000;
-}
-
-static int isrange(char *s)
-{
- while (*s)
- {
- if ((*s < '0' || *s > '9') && *s != '-' && *s != ',')
- return 0;
- s++;
- }
- return 1;
-}
-
-static void drawpage(pdf_document *doc, int pagenum)
-{
- pdf_page *page;
- fz_display_list *list = NULL;
- fz_device *dev = NULL;
- int start;
- fz_context *ctx = doc->ctx;
-
- fz_var(list);
- fz_var(dev);
-
- if (showtime)
- {
- start = gettime();
- }
-
- fz_try(ctx)
- {
- page = pdf_load_page(doc, pagenum - 1);
- }
- fz_catch(ctx)
- {
- fz_throw(ctx, "cannot load page %d in file '%s'", pagenum, filename);
- }
-
- if (uselist)
- {
- fz_try(ctx)
- {
- list = fz_new_display_list(ctx);
- dev = fz_new_list_device(ctx, list);
- pdf_run_page(doc, page, dev, fz_identity, NULL);
- }
- fz_catch(ctx)
- {
- fz_free_device(dev);
- fz_free_display_list(ctx, list);
- pdf_free_page(doc, page);
- fz_throw(ctx, "cannot draw page %d in file '%s'", pagenum, filename);
- }
- fz_free_device(dev);
- dev = NULL;
- }
-
- if (showxml)
- {
- fz_try(ctx)
- {
- dev = fz_new_trace_device(ctx);
- printf("<page number=\"%d\">\n", pagenum);
- if (list)
- fz_run_display_list(list, dev, fz_identity, fz_infinite_bbox, NULL);
- else
- pdf_run_page(doc, page, dev, fz_identity, NULL);
- printf("</page>\n");
- }
- fz_catch(ctx)
- {
- fz_free_device(dev);
- fz_free_display_list(ctx, list);
- pdf_free_page(doc, page);
- fz_rethrow(ctx);
- }
- fz_free_device(dev);
- dev = NULL;
- }
-
- if (showtext)
- {
- fz_text_span *text = NULL;
-
- fz_var(text);
-
- fz_try(ctx)
- {
- text = fz_new_text_span(ctx);
- dev = fz_new_text_device(ctx, text);
- if (list)
- fz_run_display_list(list, dev, fz_identity, fz_infinite_bbox, NULL);
- else
- pdf_run_page(doc, page, dev, fz_identity, NULL);
- fz_free_device(dev);
- dev = NULL;
- printf("[Page %d]\n", pagenum);
- if (showtext > 1)
- fz_debug_text_span_xml(text);
- else
- fz_debug_text_span(text);
- printf("\n");
- }
- fz_catch(ctx)
- {
- fz_free_device(dev);
- fz_free_text_span(ctx, text);
- fz_free_display_list(ctx, list);
- pdf_free_page(doc, page);
- fz_rethrow(ctx);
- }
- fz_free_text_span(ctx, text);
- }
-
- if (showmd5 || showtime)
- printf("page %s %d", filename, pagenum);
-
- if (output || showmd5 || showtime)
- {
- float zoom;
- fz_matrix ctm;
- fz_rect bounds;
- fz_bbox bbox;
- fz_pixmap *pix = NULL;
-
- fz_var(pix);
-
- bounds = pdf_bound_page(doc, page);
- zoom = resolution / 72;
- ctm = fz_scale(zoom, zoom);
- ctm = fz_concat(ctm, fz_rotate(rotation));
- bbox = fz_round_rect(fz_transform_rect(ctm, bounds));
-
- /* TODO: banded rendering and multi-page ppm */
-
- fz_try(ctx)
- {
- pix = fz_new_pixmap_with_rect(ctx, colorspace, bbox);
-
- if (savealpha)
- fz_clear_pixmap(ctx, pix);
- else
- fz_clear_pixmap_with_value(ctx, pix, 255);
-
- dev = fz_new_draw_device(ctx, pix);
- if (list)
- fz_run_display_list(list, dev, ctm, bbox, NULL);
- else
- pdf_run_page(doc, page, dev, ctm, NULL);
- fz_free_device(dev);
- dev = NULL;
-
- if (invert)
- fz_invert_pixmap(ctx, pix);
- if (gamma_value != 1)
- fz_gamma_pixmap(ctx, pix, gamma_value);
-
- if (savealpha)
- fz_unmultiply_pixmap(ctx, pix);
-
- if (output)
- {
- char buf[512];
- sprintf(buf, output, pagenum);
- if (strstr(output, ".pgm") || strstr(output, ".ppm") || strstr(output, ".pnm"))
- fz_write_pnm(ctx, pix, buf);
- else if (strstr(output, ".pam"))
- fz_write_pam(ctx, pix, buf, savealpha);
- else if (strstr(output, ".png"))
- fz_write_png(ctx, pix, buf, savealpha);
- else if (strstr(output, ".pbm")) {
- fz_halftone *ht = fz_get_default_halftone(ctx, 1);
- fz_bitmap *bit = fz_halftone_pixmap(ctx, pix, ht);
- fz_write_pbm(ctx, bit, buf);
- fz_drop_bitmap(ctx, bit);
- fz_drop_halftone(ctx, ht);
- }
- }
-
- if (showmd5)
- {
- fz_md5 md5;
- unsigned char digest[16];
- int i;
-
- fz_md5_init(&md5);
- fz_md5_update(&md5, pix->samples, pix->w * pix->h * pix->n);
- fz_md5_final(&md5, digest);
-
- printf(" ");
- for (i = 0; i < 16; i++)
- printf("%02x", digest[i]);
- }
-
- fz_drop_pixmap(ctx, pix);
- }
- fz_catch(ctx)
- {
- fz_free_device(dev);
- fz_drop_pixmap(ctx, pix);
- fz_free_display_list(ctx, list);
- pdf_free_page(doc, page);
- fz_rethrow(ctx);
- }
- }
-
- if (list)
- fz_free_display_list(ctx, list);
-
- pdf_free_page(doc, page);
-
- if (showtime)
- {
- int end = gettime();
- int diff = end - start;
-
- if (diff < timing.min)
- {
- timing.min = diff;
- timing.minpage = pagenum;
- }
- if (diff > timing.max)
- {
- timing.max = diff;
- timing.maxpage = pagenum;
- }
- timing.total += diff;
- timing.count ++;
-
- printf(" %dms", diff);
- }
-
- if (showmd5 || showtime)
- printf("\n");
-
- fz_flush_warnings(ctx);
-}
-
-static void drawrange(pdf_document *doc, char *range)
-{
- int page, spage, epage;
- char *spec, *dash;
-
- spec = fz_strsep(&range, ",");
- while (spec)
- {
- dash = strchr(spec, '-');
-
- if (dash == spec)
- spage = epage = pdf_count_pages(doc);
- else
- spage = epage = atoi(spec);
-
- if (dash)
- {
- if (strlen(dash) > 1)
- epage = atoi(dash + 1);
- else
- epage = pdf_count_pages(doc);
- }
-
- spage = CLAMP(spage, 1, pdf_count_pages(doc));
- epage = CLAMP(epage, 1, pdf_count_pages(doc));
-
- if (spage < epage)
- for (page = spage; page <= epage; page++)
- drawpage(doc, page);
- else
- for (page = spage; page >= epage; page--)
- drawpage(doc, page);
-
- spec = fz_strsep(&range, ",");
- }
-}
-
-static void drawoutline(pdf_document *doc)
-{
- fz_outline *outline = pdf_load_outline(doc);
- if (showoutline > 1)
- fz_debug_outline_xml(doc->ctx, outline, 0);
- else
- fz_debug_outline(doc->ctx, outline, 0);
- fz_free_outline(doc->ctx, outline);
-}
-
-#ifdef MUPDF_COMBINED_EXE
-int pdfdraw_main(int argc, char **argv)
-#else
-int main(int argc, char **argv)
-#endif
-{
- char *password = "";
- int grayscale = 0;
- pdf_document *doc = NULL;
- int c;
- fz_context *ctx;
-
- fz_var(doc);
-
- while ((c = fz_getopt(argc, argv, "lo:p:r:R:ab:dgmtx5G:I")) != -1)
- {
- switch (c)
- {
- case 'o': output = fz_optarg; break;
- case 'p': password = fz_optarg; break;
- case 'r': resolution = atof(fz_optarg); break;
- case 'R': rotation = atof(fz_optarg); break;
- case 'a': savealpha = 1; break;
- case 'b': alphabits = atoi(fz_optarg); break;
- case 'l': showoutline++; break;
- case 'm': showtime++; break;
- case 't': showtext++; break;
- case 'x': showxml++; break;
- case '5': showmd5++; break;
- case 'g': grayscale++; break;
- case 'd': uselist = 0; break;
- case 'G': gamma_value = atof(fz_optarg); break;
- case 'I': invert++; break;
- default: usage(); break;
- }
- }
-
- if (fz_optind == argc)
- usage();
-
- if (!showtext && !showxml && !showtime && !showmd5 && !showoutline && !output)
- {
- printf("nothing to do\n");
- exit(0);
- }
-
- ctx = fz_new_context(NULL, NULL, FZ_STORE_DEFAULT);
- if (!ctx)
- {
- fprintf(stderr, "cannot initialise context\n");
- exit(1);
- }
-
- fz_set_aa_level(ctx, alphabits);
-
- colorspace = fz_device_rgb;
- if (grayscale)
- colorspace = fz_device_gray;
- if (output && strstr(output, ".pgm"))
- colorspace = fz_device_gray;
- if (output && strstr(output, ".ppm"))
- colorspace = fz_device_rgb;
- if (output && strstr(output, ".pbm"))
- colorspace = fz_device_gray;
-
- timing.count = 0;
- timing.total = 0;
- timing.min = 1 << 30;
- timing.max = 0;
- timing.minpage = 0;
- timing.maxpage = 0;
-
- if (showxml)
- printf("<?xml version=\"1.0\"?>\n");
-
- fz_try(ctx)
- {
- while (fz_optind < argc)
- {
- filename = argv[fz_optind++];
-
- fz_try(ctx)
- {
- doc = pdf_open_document(ctx, filename);
- }
- fz_catch(ctx)
- {
- fz_throw(ctx, "cannot open document: %s", filename);
- }
-
- if (pdf_needs_password(doc))
- if (!pdf_authenticate_password(doc, password))
- fz_throw(ctx, "cannot authenticate password: %s", filename);
-
- if (showxml)
- printf("<document name=\"%s\">\n", filename);
-
- if (showoutline)
- drawoutline(doc);
-
- if (showtext || showxml || showtime || showmd5 || output)
- {
- if (fz_optind == argc || !isrange(argv[fz_optind]))
- drawrange(doc, "1-");
- if (fz_optind < argc && isrange(argv[fz_optind]))
- drawrange(doc, argv[fz_optind++]);
- }
-
- if (showxml)
- printf("</document>\n");
-
- pdf_close_document(doc);
- doc = NULL;
- }
- }
- fz_catch(ctx)
- {
- pdf_close_document(doc);
- }
-
- if (showtime)
- {
- printf("total %dms / %d pages for an average of %dms\n",
- timing.total, timing.count, timing.total / timing.count);
- printf("fastest page %d: %dms\n", timing.minpage, timing.min);
- printf("slowest page %d: %dms\n", timing.maxpage, timing.max);
- }
-
- fz_free_context(ctx);
- return 0;
-}
diff --git a/apps/muxpsdraw.c b/apps/muxpsdraw.c
deleted file mode 100644
index 74220da6..00000000
--- a/apps/muxpsdraw.c
+++ /dev/null
@@ -1,374 +0,0 @@
-#include "fitz.h"
-#include "muxps.h"
-
-#ifdef _MSC_VER
-#include <winsock2.h>
-#else
-#include <sys/time.h>
-#endif
-
-char *output = NULL;
-float resolution = 72;
-
-int showxml = 0;
-int showtext = 0;
-int showtime = 0;
-int showmd5 = 0;
-int showoutline = 0;
-int savealpha = 0;
-int uselist = 1;
-
-fz_colorspace *colorspace;
-char *filename;
-fz_context *ctx;
-
-struct {
- int count, total;
- int min, max;
- int minpage, maxpage;
-} timing;
-
-static void usage(void)
-{
- fprintf(stderr,
- "usage: xpsdraw [options] input.xps [pages]\n"
- "\t-o -\toutput filename (%%d for page number)\n"
- "\t\tsupported formats: pgm, ppm, pam, png\n"
- "\t-r -\tresolution in dpi (default: 72)\n"
- "\t-a\tsave alpha channel (only pam and png)\n"
- "\t-g\trender in grayscale\n"
- "\t-m\tshow timing information\n"
- "\t-t\tshow text (-tt for xml)\n"
- "\t-x\tshow display list\n"
- "\t-d\tdisable use of display list\n"
- "\t-5\tshow md5 checksums\n"
- "\t-l\tprint outline\n"
- "\tpages\tcomma separated list of ranges\n");
- exit(1);
-}
-
-static int gettime(void)
-{
- static struct timeval first;
- static int once = 1;
- struct timeval now;
- if (once)
- {
- gettimeofday(&first, NULL);
- once = 0;
- }
- gettimeofday(&now, NULL);
- return (now.tv_sec - first.tv_sec) * 1000 + (now.tv_usec - first.tv_usec) / 1000;
-}
-
-static int isrange(char *s)
-{
- while (*s)
- {
- if ((*s < '0' || *s > '9') && *s != '-' && *s != ',')
- return 0;
- s++;
- }
- return 1;
-}
-
-static void drawpage(xps_document *doc, int pagenum)
-{
- xps_page *page;
- fz_display_list *list;
- fz_device *dev;
- int start;
-
- if (showtime)
- {
- start = gettime();
- }
-
- page = xps_load_page(doc, pagenum - 1);
-
- list = NULL;
-
- if (uselist)
- {
- list = fz_new_display_list(doc->ctx);
- dev = fz_new_list_device(doc->ctx, list);
- xps_run_page(doc, page, dev, fz_identity, NULL);
- fz_free_device(dev);
- }
-
- if (showxml)
- {
- dev = fz_new_trace_device(doc->ctx);
- printf("<page number=\"%d\">\n", pagenum);
- if (list)
- fz_run_display_list(list, dev, fz_identity, fz_infinite_bbox, NULL);
- else
- xps_run_page(doc, page, dev, fz_identity, NULL);
- printf("</page>\n");
- fz_free_device(dev);
- }
-
- if (showtext)
- {
- fz_text_span *text = fz_new_text_span(doc->ctx);
- dev = fz_new_text_device(doc->ctx, text);
- if (list)
- fz_run_display_list(list, dev, fz_identity, fz_infinite_bbox, NULL);
- else
- xps_run_page(doc, page, dev, fz_identity, NULL);
- fz_free_device(dev);
- printf("[Page %d]\n", pagenum);
- if (showtext > 1)
- fz_debug_text_span_xml(text);
- else
- fz_debug_text_span(text);
- printf("\n");
- fz_free_text_span(doc->ctx, text);
- }
-
- if (showmd5 || showtime)
- printf("page %s %d", filename, pagenum);
-
- if (output || showmd5 || showtime)
- {
- float zoom;
- fz_matrix ctm;
- fz_rect rect;
- fz_bbox bbox;
- fz_pixmap *pix;
-
- rect = xps_bound_page(doc, page);
- zoom = resolution / 72;
- ctm = fz_scale(zoom, zoom);
- bbox = fz_round_rect(fz_transform_rect(ctm, rect));
-
- /* TODO: banded rendering and multi-page ppm */
-
- pix = fz_new_pixmap_with_rect(doc->ctx, colorspace, bbox);
-
- if (savealpha)
- fz_clear_pixmap(doc->ctx, pix);
- else
- fz_clear_pixmap_with_value(doc->ctx, pix, 255);
-
- dev = fz_new_draw_device(doc->ctx, pix);
- if (list)
- fz_run_display_list(list, dev, ctm, bbox, NULL);
- else
- xps_run_page(doc, page, dev, ctm, NULL);
- fz_free_device(dev);
-
- if (output)
- {
- char buf[512];
- sprintf(buf, output, pagenum);
- if (strstr(output, ".pgm") || strstr(output, ".ppm") || strstr(output, ".pnm"))
- fz_write_pnm(doc->ctx, pix, buf);
- else if (strstr(output, ".pam"))
- fz_write_pam(doc->ctx, pix, buf, savealpha);
- else if (strstr(output, ".png"))
- fz_write_png(doc->ctx, pix, buf, savealpha);
- }
-
- if (showmd5)
- {
- fz_md5 md5;
- unsigned char digest[16];
- int i;
-
- fz_md5_init(&md5);
- fz_md5_update(&md5, pix->samples, pix->w * pix->h * pix->n);
- fz_md5_final(&md5, digest);
-
- printf(" ");
- for (i = 0; i < 16; i++)
- printf("%02x", digest[i]);
- }
-
- fz_drop_pixmap(doc->ctx, pix);
- }
-
- if (list)
- fz_free_display_list(doc->ctx, list);
-
- if (showtime)
- {
- int end = gettime();
- int diff = end - start;
-
- if (diff < timing.min)
- {
- timing.min = diff;
- timing.minpage = pagenum;
- }
- if (diff > timing.max)
- {
- timing.max = diff;
- timing.maxpage = pagenum;
- }
- timing.total += diff;
- timing.count ++;
-
- printf(" %dms", diff);
- }
-
- if (showmd5 || showtime)
- printf("\n");
-}
-
-static void drawrange(xps_document *doc, char *range)
-{
- int page, spage, epage;
- char *spec, *dash;
-
- spec = fz_strsep(&range, ",");
- while (spec)
- {
- dash = strchr(spec, '-');
-
- if (dash == spec)
- spage = epage = xps_count_pages(doc);
- else
- spage = epage = atoi(spec);
-
- if (dash)
- {
- if (strlen(dash) > 1)
- epage = atoi(dash + 1);
- else
- epage = xps_count_pages(doc);
- }
-
- spage = CLAMP(spage, 1, xps_count_pages(doc));
- epage = CLAMP(epage, 1, xps_count_pages(doc));
-
- if (spage < epage)
- for (page = spage; page <= epage; page++)
- drawpage(doc, page);
- else
- for (page = spage; page >= epage; page--)
- drawpage(doc, page);
-
- spec = fz_strsep(&range, ",");
- }
-}
-
-static void drawoutline(xps_document *doc)
-{
- fz_outline *outline = xps_load_outline(doc);
- if (showoutline > 1)
- fz_debug_outline_xml(doc->ctx, outline, 0);
- else
- fz_debug_outline(doc->ctx, outline, 0);
- fz_free_outline(doc->ctx, outline);
-}
-
-#ifdef MUPDF_COMBINED_EXE
-int xpsdraw_main(int argc, char **argv)
-#else
-int main(int argc, char **argv)
-#endif
-{
- int grayscale = 0;
- xps_document *doc = NULL;
- int c;
-
- fz_var(doc);
-
- while ((c = fz_getopt(argc, argv, "o:p:r:adglmtx5")) != -1)
- {
- switch (c)
- {
- case 'o': output = fz_optarg; break;
- case 'r': resolution = atof(fz_optarg); break;
- case 'a': savealpha = 1; break;
- case 'l': showoutline++; break;
- case 'm': showtime++; break;
- case 't': showtext++; break;
- case 'x': showxml++; break;
- case '5': showmd5++; break;
- case 'g': grayscale++; break;
- case 'd': uselist = 0; break;
- default: usage(); break;
- }
- }
-
- if (fz_optind == argc)
- usage();
-
- if (!showtext && !showxml && !showtime && !showmd5 && !showoutline && !output)
- {
- printf("nothing to do\n");
- exit(0);
- }
-
- ctx = fz_new_context(NULL, NULL, FZ_STORE_DEFAULT);
- if (!ctx)
- {
- fprintf(stderr, "cannot initialise context\n");
- exit(1);
- }
-
- colorspace = fz_device_rgb;
- if (grayscale)
- colorspace = fz_device_gray;
- if (output && strstr(output, ".pgm"))
- colorspace = fz_device_gray;
- if (output && strstr(output, ".ppm"))
- colorspace = fz_device_rgb;
-
- timing.count = 0;
- timing.total = 0;
- timing.min = 1 << 30;
- timing.max = 0;
- timing.minpage = 0;
- timing.maxpage = 0;
-
- if (showxml)
- printf("<?xml version=\"1.0\"?>\n");
-
- while (fz_optind < argc)
- {
- filename = argv[fz_optind++];
-
- fz_try(ctx)
- {
- doc = xps_open_document(ctx, filename);
-
- if (showxml)
- printf("<document name=\"%s\">\n", filename);
-
- if (showoutline)
- drawoutline(doc);
-
- if (showtext || showxml || showtime || showmd5 || output)
- {
- if (fz_optind == argc || !isrange(argv[fz_optind]))
- drawrange(doc, "1-");
- if (fz_optind < argc && isrange(argv[fz_optind]))
- drawrange(doc, argv[fz_optind++]);
- }
-
- if (showxml)
- printf("</document>\n");
-
- xps_close_document(doc);
- }
- fz_catch(ctx)
- {
- xps_close_document(doc);
- }
- }
-
- if (showtime)
- {
- printf("total %dms / %d pages for an average of %dms\n",
- timing.total, timing.count, timing.total / timing.count);
- printf("fastest page %d: %dms\n", timing.minpage, timing.min);
- printf("slowest page %d: %dms\n", timing.maxpage, timing.max);
- }
-
- fz_free_context(ctx);
-
- return 0;
-}
diff --git a/debian/mupdf-tools.install b/debian/mupdf-tools.install
index 4381407a..06bdf0b8 100644
--- a/debian/mupdf-tools.install
+++ b/debian/mupdf-tools.install
@@ -1,3 +1,3 @@
debian/tmp/usr/bin/mupdfclean
-debian/tmp/usr/bin/mupdfdraw
+debian/tmp/usr/bin/mudraw
debian/tmp/usr/bin/mupdfshow
diff --git a/debian/mupdf-tools.manpages b/debian/mupdf-tools.manpages
index 7ffbd1a8..ca6b2291 100644
--- a/debian/mupdf-tools.manpages
+++ b/debian/mupdf-tools.manpages
@@ -1,3 +1,3 @@
apps/man/mupdfclean.1
-apps/man/mupdfdraw.1
+apps/man/mudraw.1
apps/man/mupdfshow.1
diff --git a/win32/mubusy.vcproj b/win32/mubusy.vcproj
index a441eace..f7d27360 100644
--- a/win32/mubusy.vcproj
+++ b/win32/mubusy.vcproj
@@ -241,11 +241,11 @@
>
</File>
<File
- RelativePath="..\apps\mubusy_pdfclean.c"
+ RelativePath="..\apps\mubusy_draw.c"
>
</File>
<File
- RelativePath="..\apps\mubusy_pdfdraw.c"
+ RelativePath="..\apps\mubusy_pdfclean.c"
>
</File>
<File
@@ -260,10 +260,6 @@
RelativePath="..\apps\mubusy_pdfshow.c"
>
</File>
- <File
- RelativePath="..\apps\mubusy_xpsdraw.c"
- >
- </File>
</Files>
<Globals>
</Globals>
diff --git a/win32/mupdf.sln b/win32/mupdf.sln
index 3dd78ffd..b3ea58a5 100644
--- a/win32/mupdf.sln
+++ b/win32/mupdf.sln
@@ -14,13 +14,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libmupdf", "libmupdf.vcproj
{A5053AA7-02E5-4903-B596-04F17AEB1526} = {A5053AA7-02E5-4903-B596-04F17AEB1526}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mupdfdraw", "mupdfdraw.vcproj", "{26C5D7C3-BEE9-4886-9CDB-846D26F5BCDB}"
- ProjectSection(ProjectDependencies) = postProject
- {A5053AA7-02E5-4903-B596-04F17AEB1526} = {A5053AA7-02E5-4903-B596-04F17AEB1526}
- {5F615F91-DFF8-4F05-BF48-6222B7D86519} = {5F615F91-DFF8-4F05-BF48-6222B7D86519}
- {5EDCF4FD-0291-4FB9-8D96-D58957CA5E3C} = {5EDCF4FD-0291-4FB9-8D96-D58957CA5E3C}
- EndProjectSection
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mudraw", "mudraw.vcproj", "{0B51171B-B10E-4EAC-8FFA-19226A1828A3}"
ProjectSection(ProjectDependencies) = postProject
{A5053AA7-02E5-4903-B596-04F17AEB1526} = {A5053AA7-02E5-4903-B596-04F17AEB1526}
@@ -46,12 +39,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mupdfextract", "mupdfextrac
{5EDCF4FD-0291-4FB9-8D96-D58957CA5E3C} = {5EDCF4FD-0291-4FB9-8D96-D58957CA5E3C}
EndProjectSection
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "muxpsdraw", "muxpsdraw.vcproj", "{E6A93617-41BD-45B2-BF61-4F7ED263CDF2}"
- ProjectSection(ProjectDependencies) = postProject
- {5F615F91-DFF8-4F05-BF48-6222B7D86519} = {5F615F91-DFF8-4F05-BF48-6222B7D86519}
- {5EDCF4FD-0291-4FB9-8D96-D58957CA5E3C} = {5EDCF4FD-0291-4FB9-8D96-D58957CA5E3C}
- EndProjectSection
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mupdfinfo", "mupdfinfo.vcproj", "{E7578F65-AA5B-43A3-981A-D3632C2A3C04}"
ProjectSection(ProjectDependencies) = postProject
{5EDCF4FD-0291-4FB9-8D96-D58957CA5E3C} = {5EDCF4FD-0291-4FB9-8D96-D58957CA5E3C}
@@ -91,12 +78,6 @@ Global
{5F615F91-DFF8-4F05-BF48-6222B7D86519}.Memento|Win32.Build.0 = Memento|Win32
{5F615F91-DFF8-4F05-BF48-6222B7D86519}.Release|Win32.ActiveCfg = Release|Win32
{5F615F91-DFF8-4F05-BF48-6222B7D86519}.Release|Win32.Build.0 = Release|Win32
- {26C5D7C3-BEE9-4886-9CDB-846D26F5BCDB}.Debug|Win32.ActiveCfg = Debug|Win32
- {26C5D7C3-BEE9-4886-9CDB-846D26F5BCDB}.Debug|Win32.Build.0 = Debug|Win32
- {26C5D7C3-BEE9-4886-9CDB-846D26F5BCDB}.Memento|Win32.ActiveCfg = Memento|Win32
- {26C5D7C3-BEE9-4886-9CDB-846D26F5BCDB}.Memento|Win32.Build.0 = Memento|Win32
- {26C5D7C3-BEE9-4886-9CDB-846D26F5BCDB}.Release|Win32.ActiveCfg = Release|Win32
- {26C5D7C3-BEE9-4886-9CDB-846D26F5BCDB}.Release|Win32.Build.0 = Release|Win32
{0B51171B-B10E-4EAC-8FFA-19226A1828A3}.Debug|Win32.ActiveCfg = Debug|Win32
{0B51171B-B10E-4EAC-8FFA-19226A1828A3}.Debug|Win32.Build.0 = Debug|Win32
{0B51171B-B10E-4EAC-8FFA-19226A1828A3}.Memento|Win32.ActiveCfg = Memento|Win32
@@ -121,12 +102,6 @@ Global
{BD4473E7-2DBE-4568-A0FC-38EED70182DC}.Memento|Win32.Build.0 = Memento|Win32
{BD4473E7-2DBE-4568-A0FC-38EED70182DC}.Release|Win32.ActiveCfg = Release|Win32
{BD4473E7-2DBE-4568-A0FC-38EED70182DC}.Release|Win32.Build.0 = Release|Win32
- {E6A93617-41BD-45B2-BF61-4F7ED263CDF2}.Debug|Win32.ActiveCfg = Debug|Win32
- {E6A93617-41BD-45B2-BF61-4F7ED263CDF2}.Debug|Win32.Build.0 = Debug|Win32
- {E6A93617-41BD-45B2-BF61-4F7ED263CDF2}.Memento|Win32.ActiveCfg = Memento|Win32
- {E6A93617-41BD-45B2-BF61-4F7ED263CDF2}.Memento|Win32.Build.0 = Memento|Win32
- {E6A93617-41BD-45B2-BF61-4F7ED263CDF2}.Release|Win32.ActiveCfg = Release|Win32
- {E6A93617-41BD-45B2-BF61-4F7ED263CDF2}.Release|Win32.Build.0 = Release|Win32
{E7578F65-AA5B-43A3-981A-D3632C2A3C04}.Debug|Win32.ActiveCfg = Debug|Win32
{E7578F65-AA5B-43A3-981A-D3632C2A3C04}.Debug|Win32.Build.0 = Debug|Win32
{E7578F65-AA5B-43A3-981A-D3632C2A3C04}.Memento|Win32.ActiveCfg = Memento|Win32
diff --git a/win32/mupdfdraw.vcproj b/win32/mupdfdraw.vcproj
deleted file mode 100644
index 1f1913d3..00000000
--- a/win32/mupdfdraw.vcproj
+++ /dev/null
@@ -1,246 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="mupdfdraw"
- ProjectGUID="{26C5D7C3-BEE9-4886-9CDB-846D26F5BCDB}"
- RootNamespace="mupdf"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)\$(ProjectName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\fitz;..\pdf"
- PreprocessorDefinitions="DEBUG=1"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- WarningLevel="3"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)\$(ProjectName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories="..\fitz;..\pdf"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- GenerateDebugInformation="true"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Memento|Win32"
- OutputDirectory="$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)\$(ProjectName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\fitz;..\pdf"
- PreprocessorDefinitions="MEMENTO=1;DEBUG=1"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- WarningLevel="3"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="..\apps\mupdfdraw.c"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/win32/muxpsdraw.vcproj b/win32/muxpsdraw.vcproj
deleted file mode 100644
index c27a9cf2..00000000
--- a/win32/muxpsdraw.vcproj
+++ /dev/null
@@ -1,246 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="8.00"
- Name="muxpsdraw"
- ProjectGUID="{E6A93617-41BD-45B2-BF61-4F7ED263CDF2}"
- RootNamespace="mupdf"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)\$(ProjectName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\fitz;..\xps"
- PreprocessorDefinitions="DEBUG=1"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- WarningLevel="3"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)\$(ProjectName)"
- ConfigurationType="1"
- CharacterSet="2"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="2"
- EnableIntrinsicFunctions="true"
- AdditionalIncludeDirectories="..\fitz;..\xps"
- RuntimeLibrary="0"
- EnableFunctionLevelLinking="true"
- WarningLevel="3"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- GenerateDebugInformation="true"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Memento|Win32"
- OutputDirectory="$(ConfigurationName)"
- IntermediateDirectory="$(ConfigurationName)\$(ProjectName)"
- ConfigurationType="1"
- CharacterSet="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\fitz;..\xps"
- PreprocessorDefinitions="MEMENTO=1;DEBUG=1"
- MinimalRebuild="true"
- BasicRuntimeChecks="3"
- RuntimeLibrary="1"
- WarningLevel="3"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCWebDeploymentTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath="..\apps\muxpsdraw.c"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>