applied external xpdf patch from Patrice Dumas
[swftools.git] / lib / pdf / InfoOutputDev.cc
index d78c418..1653978 100644 (file)
@@ -1,8 +1,18 @@
-#include "SplashTypes.h"
+#include "config.h"
+#include "Object.h"
+#include "InfoOutputDev.h"
 #include "SplashOutputDev.h"
+#ifdef HAVE_POPPLER
+#include <splash/SplashTypes.h>
+#include <splash/SplashPath.h>
+#include <splash/SplashFont.h>
+#include <splash/SplashFontFile.h>
+#else
+#include "SplashTypes.h"
 #include "SplashPath.h"
+#include "SplashFont.h"
 #include "SplashFontFile.h"
-#include "InfoOutputDev.h"
+#endif
 #include "GfxState.h"
 #include "../log.h"
 #include <math.h>
@@ -12,6 +22,7 @@ InfoOutputDev::InfoOutputDev(XRef*xref)
     num_links = 0;
     num_images = 0;
     num_fonts = 0;
+    num_polygons= 0;
     currentfont = 0;
     currentglyph = 0;
     id2font = new GHash(1);
@@ -30,8 +41,8 @@ InfoOutputDev::~InfoOutputDev()
     }
     id2font->killIter(&i);
 
-    delete id2font;
-    delete splash;
+    delete id2font;id2font=0;
+    delete splash;splash=0;
 }
 void FontInfo::grow(int size)
 {
@@ -64,6 +75,7 @@ FontInfo::~FontInfo()
            glyphs[t]=0;
        }
     }
+    free(glyphs);glyphs=0;
 }
 GBool InfoOutputDev::upsideDown() {return gTrue;}
 GBool InfoOutputDev::useDrawChar() {return gTrue;}
@@ -152,6 +164,17 @@ void InfoOutputDev::updateFont(GfxState *state)
     currentfont->splash_font = splash->getCurrentFont();
     free(id);
 }
+
+void InfoOutputDev::fill(GfxState *state)
+{
+    num_polygons++;
+}
+
+void InfoOutputDev::eoFill(GfxState *state)
+{
+    num_polygons++;
+}
+
 FontInfo* InfoOutputDev::getFont(char*id)
 {
     return (FontInfo*)id2font->lookup(id);