replaced libart with new polygon code
authorMatthias Kramm <kramm@quiss.org>
Fri, 5 Jun 2009 13:33:53 +0000 (15:33 +0200)
committerMatthias Kramm <kramm@quiss.org>
Fri, 5 Jun 2009 13:33:53 +0000 (15:33 +0200)
lib/Makefile.in
lib/devices/polyops.c
lib/devices/swf.c
lib/gfxpoly.h
lib/gfxpoly/convert.c
lib/gfxpoly/convert.h
lib/pdf/GFXOutputDev.cc
lib/pdf/Makefile.in
release.in

index fcf9c9b..8a5ac6c 100644 (file)
@@ -16,14 +16,12 @@ as12compiler_objects = action/assembler.$(O) action/compile.$(O) action/lex.swf4
 as12compiler_in_source = $(as12compiler_objects)
 
 as3compiler_objects = as3/abc.$(O) as3/pool.$(O) as3/files.$(O) as3/opcodes.$(O) as3/code.$(O) as3/registry.$(O) as3/builtin.$(O) as3/parser.tab.$(O) as3/tokenizer.yy.$(O) as3/scripts.$(O) as3/compiler.$(O) as3/import.$(O) as3/expr.$(O) as3/common.$(O) as3/initcode.$(O)
+gfxpoly_objects = gfxpoly/active.$(O) gfxpoly/convert.$(O) gfxpoly/poly.$(O) gfxpoly/renderpoly.$(O) gfxpoly/stroke.$(O) gfxpoly/wind.$(O) gfxpoly/xrow.$(O)
 
 rfxswf_modules =  modules/swfbits.c modules/swfaction.c modules/swfdump.c modules/swfcgi.c modules/swfbutton.c modules/swftext.c modules/swffont.c modules/swftools.c modules/swfsound.c modules/swfshape.c modules/swfobject.c modules/swfdraw.c modules/swffilter.c modules/swfrender.c h.263/swfvideo.c
 
 base_objects=q.$(O) utf8.$(O) png.$(O) jpeg.$(O) wav.$(O) mp3.$(O) os.$(O) bitio.$(O) log.$(O) mem.$(O) 
-gfx_objects=gfxtools.$(O) gfxfont.$(O) gfxpoly.$(O) devices/dummy.$(O) devices/file.$(O) devices/render.$(O) devices/text.$(O) devices/record.$(O) devices/ops.$(O) devices/polyops.$(O) devices/bbox.$(O) devices/rescale.$(O) @DEVICE_OPENGL@
-
-art_objects = art/art_affine.$(O) art/art_alphagamma.$(O) art/art_bpath.$(O) art/art_gray_svp.$(O) art/art_misc.$(O) art/art_pixbuf.$(O) art/art_rect.$(O) art/art_rect_svp.$(O) art/art_rect_uta.$(O) art/art_render.$(O) art/art_render_gradient.$(O) art/art_render_mask.$(O) art/art_render_svp.$(O) art/art_rgb.$(O) art/art_rgb_a_affine.$(O) art/art_rgb_affine.$(O) art/art_rgb_affine_private.$(O) art/art_rgb_bitmap_affine.$(O) art/art_rgb_pixbuf_affine.$(O) art/art_rgb_rgba_affine.$(O) art/art_rgb_svp.$(O) art/art_rgba.$(O) art/art_svp.$(O) art/art_svp_intersect.$(O) art/art_svp_ops.$(O) art/art_svp_point.$(O) art/art_svp_render_aa.$(O) art/art_svp_vpath.$(O) art/art_svp_vpath_stroke.$(O) art/art_svp_wind.$(O) art/art_uta.$(O) art/art_uta_ops.$(O) art/art_uta_rect.$(O) art/art_uta_svp.$(O) art/art_uta_vpath.$(O) art/art_vpath.$(O) art/art_vpath_bpath.$(O) art/art_vpath_dash.$(O) art/art_vpath_svp.$(O)
-art_in_source = @art_in_source@
+gfx_objects=gfxtools.$(O) gfxfont.$(O) devices/dummy.$(O) devices/file.$(O) devices/render.$(O) devices/text.$(O) devices/record.$(O) devices/ops.$(O) devices/polyops.$(O) devices/bbox.$(O) devices/rescale.$(O) @DEVICE_OPENGL@
 
 rfxswf_objects=modules/swfaction.$(O) modules/swfbits.$(O) modules/swfbutton.$(O) modules/swfcgi.$(O) modules/swfdraw.$(O) modules/swfdump.$(O) modules/swffilter.$(O) modules/swffont.$(O) modules/swfobject.$(O) modules/swfrender.$(O) modules/swfshape.$(O) modules/swfsound.$(O) modules/swftext.$(O) modules/swftools.$(O)
 ocr_objects=gocr/box.$(O) gocr/database.$(O) gocr/detect.$(O) gocr/job.$(O) gocr/lines.$(O) gocr/list.$(O) gocr/ocr0.$(O) gocr/ocr0n.$(O) gocr/ocr1.$(O) gocr/otsu.$(O) gocr/output.$(O) gocr/pgm2asc.$(O) gocr/pixel.$(O) gocr/progress.$(O) gocr/remove.$(O) gocr/unicode.$(O)
@@ -36,6 +34,8 @@ action/%.$(O): action/%.c
        $(C) $< -o $@
 as3/%.$(O): as3/%.c
        $(C) $< -o $@
+gfxpoly/%.$(O): gfxpoly/%.c
+       $(C) $< -o $@
 
 bitio.$(O): bitio.c bitio.h
        $(C) bitio.c -o $@
@@ -87,8 +87,6 @@ modules/swftools.$(O): modules/swftools.c rfxswf.h
        $(C) modules/swftools.c -o $@
 gfxtools.$(O): gfxtools.c gfxtools.h $(top_builddir)/config.h
        $(C) gfxtools.c -o $@
-gfxpoly.$(O): gfxpoly.c gfxpoly.h $(top_builddir)/config.h
-       $(C) gfxpoly.c -o $@
 gfxfont.$(O): gfxfont.c gfxfont.h $(top_builddir)/config.h
        $(C) gfxfont.c -o $@
 gfxwindow.$(O): gfxwindow_win32.c gfxwindow_unix.c gfxwindow.c gfxwindow.h
@@ -152,8 +150,8 @@ libbase$(A): $(base_objects) Makefile
 libgfxswf$(A): devices/swf.$(O) readers/swf2.$(O) readers/image.$(O)
        $(AR) r libgfxswf$(A) devices/swf.$(O) readers/swf2.$(O) readers/image.$(O)
 
-libgfx$(A): $(gfx_objects) $(art_in_source) Makefile
-       $(AR) r libgfx$(A) $(gfx_objects) $(art_in_source)
+libgfx$(A): $(gfx_objects) $(gfxpoly_objects) Makefile
+       $(AR) r libgfx$(A) $(gfx_objects) $(gfxpoly_objects)
 
 librfxswf$(A): Makefile $(rfxswf_objects) rfxswf.$(O) drawer.$(O) MD5.$(O) $(lame_in_source) $(h263_objects) $(as12compiler_in_source) $(as3compiler_objects) Makefile
        $(AR) r librfxswf$(A) $(rfxswf_objects) rfxswf.$(O) drawer.$(O) MD5.$(O) $(lame_in_source) $(h263_objects) $(as12compiler_in_source) $(as3compiler_objects)
@@ -170,7 +168,7 @@ uninstall:
 
 clean: 
        rm -f *.o *.obj *.lo *.a *.lib *.la gmon.out
-       for dir in art modules devices swf as3 h.263;do rm -f $$dir/*.o $$dir/*.obj $$dir/*.lo $$dir/*.a $$dir/*.lib $$dir/*.la $$dir/gmon.out;done
+       for dir in modules devices swf as3 h.263;do rm -f $$dir/*.o $$dir/*.obj $$dir/*.lo $$dir/*.a $$dir/*.lib $$dir/*.la $$dir/gmon.out;done
        cd lame && $(MAKE) clean && cd .. || true
        cd action && $(MAKE) clean && cd ..
        cd python && $(MAKE) clean && cd ..
index fa0b7f4..e6dd671 100644 (file)
@@ -92,7 +92,7 @@ void polyops_startclip(struct _gfxdevice*dev, gfxline_t*line)
     internal_t*i = (internal_t*)dev->internal;
 
     gfxpoly_t* oldclip = i->clip?i->clip->poly:0;
-    gfxpoly_t* poly = gfxpoly_fillToPoly(line);
+    gfxpoly_t* poly = gfxpoly_from_fill(line, DEFAULT_GRID);
     if(poly) 
         i->good_polygons++;
     else
@@ -111,7 +111,7 @@ void polyops_startclip(struct _gfxdevice*dev, gfxline_t*line)
        currentclip = 0;
        type = 1;
     } else if(!poly && oldclip) {
-       gfxline_t*oldclipline = gfxpoly_to_gfxline(oldclip);
+       gfxline_t*oldclipline = gfxline_from_gfxpoly(oldclip);
        i->out->startclip(i->out,oldclipline);
        i->out->startclip(i->out,line);
        currentclip = 0;
@@ -121,12 +121,12 @@ void polyops_startclip(struct _gfxdevice*dev, gfxline_t*line)
        if(intersection) {
             i->good_polygons++;
            // this case is what usually happens 
-           gfxpoly_free(poly);poly=0;
+           gfxpoly_destroy(poly);poly=0;
            currentclip = intersection;
            type = 0;
        } else {
             i->bad_polygons++;
-           gfxline_t*oldclipline = gfxpoly_to_gfxline(oldclip);
+           gfxline_t*oldclipline = gfxline_from_gfxpoly(oldclip);
            i->out->startclip(i->out, oldclipline);
            currentclip = poly;
            type = 1;
@@ -156,7 +156,7 @@ void polyops_endclip(struct _gfxdevice*dev)
     clip_t*old = i->clip;
     i->clip = i->clip->next;
     if(old->poly) {
-       gfxpoly_free(old->poly);old->poly = 0;
+       gfxpoly_destroy(old->poly);old->poly = 0;
     }
     int t;
     for(t=0;t<old->openclips;t++)
@@ -172,7 +172,7 @@ static void addtounion(struct _gfxdevice*dev, gfxpoly_t*poly)
        gfxpoly_t*old = i->polyunion;
        gfxpoly_t*newpoly = gfxpoly_union(poly,i->polyunion);
        i->polyunion = newpoly;
-       gfxpoly_free(old);
+       gfxpoly_destroy(old);
     }
 }
 
@@ -183,7 +183,7 @@ static gfxline_t* handle_poly(gfxdevice_t*dev, gfxpoly_t*poly, char*ok)
        gfxpoly_t*old = poly;
        if(poly) {
            poly = gfxpoly_intersect(poly, i->clip->poly);
-           gfxpoly_free(old);
+           gfxpoly_destroy(old);
        }
     }
 
@@ -196,8 +196,8 @@ static gfxline_t* handle_poly(gfxdevice_t*dev, gfxpoly_t*poly, char*ok)
     gfxline_t*gfxline = 0;
     if(poly) {
        // this is the case where everything went right
-       gfxline_t*line = gfxpoly_to_gfxline(poly);
-       gfxpoly_free(poly);
+       gfxline_t*line = gfxline_from_gfxpoly(poly);
+       gfxpoly_destroy(poly);
         *ok = 1;
        return line;
     } else {
@@ -205,10 +205,10 @@ static gfxline_t* handle_poly(gfxdevice_t*dev, gfxpoly_t*poly, char*ok)
            /* convert current clipping from a polygon to an
               actual "startclip" written to the output */
            assert(i->clip->openclips <= 1);
-           gfxline_t*clipline = gfxpoly_to_gfxline(i->clip->poly);
+           gfxline_t*clipline = gfxline_from_gfxpoly(i->clip->poly);
            i->out->startclip(i->out, clipline);
            gfxline_free(clipline);
-           gfxpoly_free(i->clip->poly);i->clip->poly = 0;
+           gfxpoly_destroy(i->clip->poly);i->clip->poly = 0;
            i->clip->openclips++;
            return 0;
        } else {
@@ -222,7 +222,7 @@ void polyops_stroke(struct _gfxdevice*dev, gfxline_t*line, gfxcoord_t width, gfx
     dbg("polyops_stroke");
     internal_t*i = (internal_t*)dev->internal;
 
-    gfxpoly_t* poly = gfxpoly_strokeToPoly(line, width, cap_style, joint_style, miterLimit);
+    gfxpoly_t* poly = gfxpoly_from_stroke(line, width, cap_style, joint_style, miterLimit, DEFAULT_GRID);
     char ok = 0;
     gfxline_t*line2 = handle_poly(dev, poly, &ok);
 
@@ -240,7 +240,7 @@ void polyops_fill(struct _gfxdevice*dev, gfxline_t*line, gfxcolor_t*color)
     dbg("polyops_fill");
     internal_t*i = (internal_t*)dev->internal;
 
-    gfxpoly_t*poly = gfxpoly_fillToPoly(line);
+    gfxpoly_t*poly = gfxpoly_from_fill(line, DEFAULT_GRID);
     char ok = 0;
     gfxline_t*line2 = handle_poly(dev, poly, &ok);
 
@@ -257,7 +257,7 @@ void polyops_fillbitmap(struct _gfxdevice*dev, gfxline_t*line, gfximage_t*img, g
     dbg("polyops_fillbitmap");
     internal_t*i = (internal_t*)dev->internal;
     
-    gfxpoly_t*poly = gfxpoly_fillToPoly(line);
+    gfxpoly_t*poly = gfxpoly_from_fill(line, DEFAULT_GRID);
     char ok = 0;
     gfxline_t*line2 = handle_poly(dev, poly, &ok);
 
@@ -274,7 +274,7 @@ void polyops_fillgradient(struct _gfxdevice*dev, gfxline_t*line, gfxgradient_t*g
     dbg("polyops_fillgradient");
     internal_t*i = (internal_t*)dev->internal;
     
-    gfxpoly_t*poly = gfxpoly_fillToPoly(line);
+    gfxpoly_t*poly = gfxpoly_from_fill(line, DEFAULT_GRID);
     char ok = 0;
     gfxline_t*line2 = handle_poly(dev, poly, &ok);
 
@@ -304,7 +304,7 @@ void polyops_drawchar(struct _gfxdevice*dev, gfxfont_t*font, int glyphnr, gfxcol
 
     if(i->clip && i->clip->poly) {
        gfxbbox_t bbox = gfxline_getbbox(glyph);
-       gfxpoly_t*dummybox = gfxpoly_createbox(bbox.xmin,bbox.ymin,bbox.xmax,bbox.ymax);
+       gfxpoly_t*dummybox = gfxpoly_createbox(bbox.xmin,bbox.ymin,bbox.xmax,bbox.ymax, DEFAULT_GRID);
 
         char ok=0;
        gfxline_t*gfxline = handle_poly(dev, dummybox, &ok);
@@ -353,7 +353,7 @@ gfxresult_t* polyops_finish(struct _gfxdevice*dev)
 
 
     if(i->polyunion) {
-       gfxpoly_free(i->polyunion);i->polyunion=0;
+       gfxpoly_destroy(i->polyunion);i->polyunion=0;
     } else {
         if(i->bad_polygons) {
             msg("<notice> --flatten success rate: %.1f%% (%d failed polygons)", i->good_polygons*100.0 / (i->good_polygons + i->bad_polygons), i->bad_polygons);
@@ -369,7 +369,7 @@ gfxresult_t* polyops_finish(struct _gfxdevice*dev)
 gfxline_t*gfxdevice_union_getunion(struct _gfxdevice*dev)
 {
     internal_t*i = (internal_t*)dev->internal;
-    return gfxpoly_to_gfxline(i->polyunion);
+    return gfxline_from_gfxpoly(i->polyunion);
 }
 
 void gfxdevice_removeclippings_init(gfxdevice_t*dev, gfxdevice_t*out)
@@ -425,6 +425,7 @@ void gfxdevice_union_init(gfxdevice_t*dev,gfxdevice_t*out)
     dev->finish = polyops_finish;
 
     i->out = out;
-    i->polyunion = gfxpoly_strokeToPoly(0, 0, gfx_capButt, gfx_joinMiter, 0);
+    /* create empty polygon */
+    i->polyunion = gfxpoly_from_stroke(0, 0, gfx_capButt, gfx_joinMiter, 0, DEFAULT_GRID);
 }
 
index 0467bf7..4bf636e 100644 (file)
@@ -2547,11 +2547,11 @@ static void swf_stroke(gfxdevice_t*dev, gfxline_t*line, gfxcoord_t width, gfxcol
        if(has_dots)
            gfxline_fix_short_edges(line);
        /* we need to convert the line into a polygon */
-       gfxpoly_t* poly = gfxpoly_strokeToPoly(line, width, cap_style, joint_style, miterLimit);
-       gfxline_t*gfxline = gfxpoly_to_gfxline(poly);
+       gfxpoly_t* poly = gfxpoly_from_stroke(line, width, cap_style, joint_style, miterLimit, DEFAULT_GRID);
+       gfxline_t*gfxline = gfxline_from_gfxpoly(poly);
        dev->fill(dev, gfxline, color);
        gfxline_free(gfxline);
-       gfxpoly_free(poly);
+       gfxpoly_destroy(poly);
        return;
     }
 
index a75833f..c1e3a38 100644 (file)
@@ -28,27 +28,32 @@ extern "C" {
 #endif
 
 #include <stdio.h>
-#include "../lib/mem.h"
-#include "../lib/gfxdevice.h"
-#include "../lib/gfxtools.h"
+#include "mem.h"
+#include "gfxdevice.h"
+#include "gfxtools.h"
+
+/* A "grid" value is the granularity at which polygon intersection operates.
+   It usually makes sense this to the smallest value that can actually be represented
+   in the output device (like 0.05 = 1 twip for SWF).  */
+#define DEFAULT_GRID (0.05)
 
 typedef struct _gfxpoly {
 } gfxpoly_t;
 
-void gfxpoly_free(gfxpoly_t*);
+void gfxpoly_destroy(gfxpoly_t*poly);
 
 /* constructors */
-gfxpoly_t* gfxpoly_fillToPoly(gfxline_t*line);
-gfxpoly_t* gfxpoly_strokeToPoly(gfxline_t*line, gfxcoord_t width, gfx_capType cap_style, gfx_joinType joint_style, double miterLimit);
-gfxpoly_t* gfxpoly_createbox(double x1, double y1,double x2, double y2);
+gfxpoly_t* gfxpoly_from_fill(gfxline_t*line, double gridsize);
+gfxpoly_t* gfxpoly_from_stroke(gfxline_t*line, gfxcoord_t width, gfx_capType cap_style, gfx_joinType joint_style, gfxcoord_t miterLimit, double gridsize);
 
-/* boolean operations */
-gfxpoly_t* gfxpoly_intersect(gfxpoly_t*line1, gfxpoly_t*line2);
-gfxpoly_t* gfxpoly_union(gfxpoly_t*line1, gfxpoly_t*line2);
+/* operators */
+gfxpoly_t* gfxpoly_intersect(gfxpoly_t*p1, gfxpoly_t*p2);
+gfxpoly_t* gfxpoly_union(gfxpoly_t*p1, gfxpoly_t*p2);
 
-/* other things */
-gfxline_t* gfxpoly_to_gfxline(gfxpoly_t*poly);
-gfxline_t* gfxline_circularToEvenOdd(gfxline_t*line);
+/* conversion functions */
+gfxpoly_t* gfxpoly_createbox(double x1, double y1,double x2, double y2, double gridsize);
+gfxline_t* gfxline_from_gfxpoly(gfxpoly_t*poly);
+gfxline_t* gfxpoly_circular_to_evenodd(gfxline_t*line, double gridsize);
 
 #ifdef __cplusplus
 }
index 732033b..3d9763b 100644 (file)
@@ -5,6 +5,7 @@
 #include "../mem.h"
 #include "poly.h"
 #include "convert.h"
+#include "wind.h"
 
 /* factor that determines into how many line fragments a spline is converted */
 #define SUBFRACTION (2.4)
@@ -382,3 +383,22 @@ gfxline_t*gfxline_from_gfxpoly(gfxpoly_t*poly)
     return l;
 }
 
+static windcontext_t onepolygon = {1};
+gfxline_t* gfxpoly_circular_to_evenodd(gfxline_t*line, double gridsize)
+{
+    gfxpoly_t*poly = gfxpoly_from_fill(line, gridsize);
+    gfxpoly_t*poly2 = gfxpoly_process(poly, 0, &windrule_circular, &onepolygon);
+    gfxline_t*line2 = gfxline_from_gfxpoly(poly2);
+    gfxpoly_destroy(poly);
+    gfxpoly_destroy(poly2);
+    return line2;
+}
+
+gfxpoly_t* gfxpoly_createbox(double x1, double y1,double x2, double y2, double gridsize)
+{
+    gfxline_t* line = gfxline_makerectangle(x1, y1, x2, y2);
+    gfxpoly_t* poly = gfxpoly_from_fill(line, gridsize);
+    gfxline_free(line);
+    return poly;
+}
+
index 6eb745c..f0a8fb9 100644 (file)
@@ -23,4 +23,7 @@ void gfxpoly_destroy(gfxpoly_t*poly);
 
 gfxline_t*gfxline_from_gfxpoly(gfxpoly_t*poly);
 
+gfxline_t* gfxpoly_circular_to_evenodd(gfxline_t*line, double gridsize);
+gfxpoly_t* gfxpoly_createbox(double x1, double y1,double x2, double y2, double gridsize);
+
 #endif //__poly_convert_h__
index b0d1169..e963148 100644 (file)
@@ -1180,8 +1180,8 @@ void GFXOutputDev::strokeGfxline(GfxState *state, gfxline_t*line, int flags)
     }
 
     if(flags&STROKE_FILL) {
-        gfxpoly_t* poly = gfxpoly_strokeToPoly(line, width, capType, joinType, miterLimit);
-        gfxline_t*gfxline = gfxpoly_to_gfxline(poly);
+        gfxpoly_t* poly = gfxpoly_from_stroke(line, width, capType, joinType, miterLimit, DEFAULT_GRID);
+        gfxline_t*gfxline = gfxline_from_gfxpoly(poly);
        if(getLogLevel() >= LOGLEVEL_TRACE)  {
            dump_outline(gfxline);
        }
@@ -1195,7 +1195,7 @@ void GFXOutputDev::strokeGfxline(GfxState *state, gfxline_t*line, int flags)
             device->fill(device, gfxline, &col);
         }
         gfxline_free(gfxline);
-       gfxpoly_free(poly);
+       gfxpoly_destroy(poly);
     } else {
         if(flags&STROKE_CLIP) 
             msg("<error> Stroke&clip not supported at the same time");
@@ -1248,7 +1248,7 @@ void GFXOutputDev::clip(GfxState *state)
     msg("<trace> clip");
     gfxline_t*line = gfxPath_to_gfxline(state, path, 1, user_movex + clipmovex, user_movey + clipmovey);
     if(config_optimize_polygons) {
-       gfxline_t*line2 = gfxline_circularToEvenOdd(line);
+       gfxline_t*line2 = gfxpoly_circular_to_evenodd(line, DEFAULT_GRID);
        gfxline_free(line);
        line = line2;
     }
@@ -2469,7 +2469,7 @@ void GFXOutputDev::fill(GfxState *state)
     GfxPath * path = state->getPath();
     gfxline_t*line= gfxPath_to_gfxline(state, path, 1, user_movex + clipmovex, user_movey + clipmovey);
     if(config_optimize_polygons) {
-        gfxline_t*line2 = gfxline_circularToEvenOdd(line);
+        gfxline_t*line2 = gfxpoly_circular_to_evenodd(line, DEFAULT_GRID);
         gfxline_free(line);
         line = line2;
     }
index 53c2ce3..a52a36d 100644 (file)
@@ -154,8 +154,8 @@ xpdfapp_objects=xpdf/XPDFApp.$(O) xpdf/XPDFCore.$(O) xpdf/XPDFTree.$(O) xpdf/XPD
 xxpdf$(E): $(xpdf_objects) $(xpdfapp_objects) $(splash_objects)
        $(LL) $(CPPFLAGS) -DXPDFEXE -g -I xpdf -I . $(xpdfapp_objects) $(xpdf_objects) $(splash_objects) xpdf/parseargs.c -o xxpdf$(E) $(LIBS) -lXm -lX11
 
-pdftoppm$(E): $(xpdf_objects) xpdf/Splash*.cc
-       $(LL) $(CPPFLAGS) -DXPDFEXE -g -I xpdf -I . xpdf/pdftoppm.cc $(xpdf_objects) xpdf/Splash*.cc xpdf/parseargs.c -o pdftoppm$(E) $(LIBS)
+pdftoppm$(E): $(xpdf_objects) $(splash_objects)
+       $(LL) $(CPPFLAGS) -DXPDFEXE -g -I xpdf -I . xpdf/pdftoppm.cc $(xpdf_objects) $(splash_objects) xpdf/parseargs.c -o pdftoppm$(E) $(LIBS)
 pdftotext$(E): $(xpdf_objects) $(splash_objects)
        $(LL) $(CPPFLAGS) -DXPDFEXE -g -I xpdf -I . xpdf/pdftotext.cc $(xpdf_objects) xpdf/TextOutput*.cc xpdf/UnicodeType*.cc xpdf/parseargs.c -o pdftotext$(E) $(LIBS)
 
index 6f0b4cb..ca3f18d 100644 (file)
@@ -59,7 +59,6 @@ ${name}/avi2swf/avi2swf.1"
 
 MAKEFILES="${name}/src/Makefile.in \
 ${name}/lib/readers/Makefile.in \
-${name}/lib/art/Makefile.in \
 ${name}/lib/Makefile.in \
 ${name}/avi2swf/Makefile.in \
 ${name}/lib/pdf/Makefile.in \
@@ -318,8 +317,6 @@ ${name}/lib/pdf/xpdf/XRef.cc \
 ${name}/lib/pdf/xpdf/XRef.h \
 ${name}/lib/pdf/aconf.h \
 ${name}/lib/pdf/xpdf/config.h \
-${name}/lib/art/art_config.h \
-${name}/lib/art/config.h \
 ${name}/lib/pdf/xpdf/gfile.cc \
 ${name}/lib/pdf/xpdf/gfile.h \
 ${name}/lib/pdf/xpdf/gmem.cc \
@@ -389,89 +386,7 @@ ${name}/lib/pdf/xpdf/SplashTypes.h \
 ${name}/lib/pdf/xpdf/SplashXPath.cc \
 ${name}/lib/pdf/xpdf/SplashXPath.h \
 ${name}/lib/pdf/xpdf/SplashXPathScanner.cc \
-${name}/lib/pdf/xpdf/SplashXPathScanner.h \
-${name}/lib/art/art_affine.h \
-${name}/lib/art/art_alphagamma.h \
-${name}/lib/art/art_bpath.h \
-${name}/lib/art/art_filterlevel.h \
-${name}/lib/art/art_gray_svp.h \
-${name}/lib/art/art_misc.h \
-${name}/lib/art/art_pathcode.h \
-${name}/lib/art/art_pixbuf.h \
-${name}/lib/art/art_point.h \
-${name}/lib/art/art_rect.h \
-${name}/lib/art/art_rect_svp.h \
-${name}/lib/art/art_rect_uta.h \
-${name}/lib/art/art_render.h \
-${name}/lib/art/art_render_gradient.h \
-${name}/lib/art/art_render_mask.h \
-${name}/lib/art/art_render_svp.h \
-${name}/lib/art/art_rgb.h \
-${name}/lib/art/art_rgb_a_affine.h \
-${name}/lib/art/art_rgb_affine.h \
-${name}/lib/art/art_rgb_affine_private.h \
-${name}/lib/art/art_rgb_bitmap_affine.h \
-${name}/lib/art/art_rgb_pixbuf_affine.h \
-${name}/lib/art/art_rgb_rgba_affine.h \
-${name}/lib/art/art_rgb_svp.h \
-${name}/lib/art/art_rgba.h \
-${name}/lib/art/art_svp.h \
-${name}/lib/art/art_svp_intersect.h \
-${name}/lib/art/art_svp_ops.h \
-${name}/lib/art/art_svp_point.h \
-${name}/lib/art/art_svp_render_aa.h \
-${name}/lib/art/art_svp_vpath.h \
-${name}/lib/art/art_svp_vpath_stroke.h \
-${name}/lib/art/art_svp_wind.h \
-${name}/lib/art/art_uta.h \
-${name}/lib/art/art_uta_ops.h \
-${name}/lib/art/art_uta_rect.h \
-${name}/lib/art/art_uta_svp.h \
-${name}/lib/art/art_uta_vpath.h \
-${name}/lib/art/art_vpath.h \
-${name}/lib/art/art_vpath_bpath.h \
-${name}/lib/art/art_vpath_dash.h \
-${name}/lib/art/art_vpath_svp.h \
-${name}/lib/art/libart.h \
-${name}/lib/art/art_affine.c \
-${name}/lib/art/art_alphagamma.c \
-${name}/lib/art/art_bpath.c \
-${name}/lib/art/art_gray_svp.c \
-${name}/lib/art/art_misc.c \
-${name}/lib/art/art_pixbuf.c \
-${name}/lib/art/art_rect.c \
-${name}/lib/art/art_rect_svp.c \
-${name}/lib/art/art_rect_uta.c \
-${name}/lib/art/art_render.c \
-${name}/lib/art/art_render_gradient.c \
-${name}/lib/art/art_render_mask.c \
-${name}/lib/art/art_render_svp.c \
-${name}/lib/art/art_rgb.c \
-${name}/lib/art/art_rgb_affine.c \
-${name}/lib/art/art_rgb_a_affine.c \
-${name}/lib/art/art_rgb_affine_private.c \
-${name}/lib/art/art_rgb_bitmap_affine.c \
-${name}/lib/art/art_rgb_pixbuf_affine.c \
-${name}/lib/art/art_rgb_rgba_affine.c \
-${name}/lib/art/art_rgb_svp.c \
-${name}/lib/art/art_rgba.c \
-${name}/lib/art/art_svp.c \
-${name}/lib/art/art_svp_intersect.c \
-${name}/lib/art/art_svp_ops.c \
-${name}/lib/art/art_svp_point.c \
-${name}/lib/art/art_svp_render_aa.c \
-${name}/lib/art/art_svp_vpath.c \
-${name}/lib/art/art_svp_vpath_stroke.c \
-${name}/lib/art/art_svp_wind.c \
-${name}/lib/art/art_uta.c \
-${name}/lib/art/art_uta_ops.c \
-${name}/lib/art/art_uta_rect.c \
-${name}/lib/art/art_uta_svp.c \
-${name}/lib/art/art_uta_vpath.c \
-${name}/lib/art/art_vpath.c \
-${name}/lib/art/art_vpath_bpath.c \
-${name}/lib/art/art_vpath_dash.c \
-${name}/lib/art/art_vpath_svp.c"
+${name}/lib/pdf/xpdf/SplashXPathScanner.h"
 
 PYTHON="${name}/lib/python/Makefile.in \
 ${name}/lib/python/SWF.c \