From 5e1686223c09f4c1860a47f45d7f9750426154b7 Mon Sep 17 00:00:00 2001
From: kramm <kramm>
Date: Sun, 9 Sep 2007 17:53:23 +0000
Subject: [PATCH] added experimental splashoutputdev code

---
 lib/pdf/InfoOutputDev.cc |   12 ++++++++++--
 lib/pdf/InfoOutputDev.h  |    7 +++++--
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/lib/pdf/InfoOutputDev.cc b/lib/pdf/InfoOutputDev.cc
index 830776d..2bcbdaa 100644
--- a/lib/pdf/InfoOutputDev.cc
+++ b/lib/pdf/InfoOutputDev.cc
@@ -1,14 +1,19 @@
+#include "SplashTypes.h"
+#include "SplashOutputDev.h"
 #include "InfoOutputDev.h"
 #include "GfxState.h"
 #include "../log.h"
 #include <math.h>
 
-InfoOutputDev::InfoOutputDev() 
+InfoOutputDev::InfoOutputDev(XRef*xref) 
 {
     num_links = 0;
     num_images = 0;
     num_fonts = 0;
     id2font = new GHash();
+    SplashColor white = {255,255,255};
+    splash = new SplashOutputDev(splashModeRGB8,320,0,white,0,0);
+    splash->startDoc(xref);
 }
 InfoOutputDev::~InfoOutputDev() 
 {
@@ -58,7 +63,6 @@ static char*getFontID(GfxFont*font)
     return strdup(buf);
 }
 
-
 void InfoOutputDev::updateFont(GfxState *state) 
 {
     GfxFont*font = state->getFont();
@@ -77,6 +81,10 @@ void InfoOutputDev::updateFont(GfxState *state)
       num_fonts++;
     }
     currentfont = info;
+
+    splash->doUpdateFont(state);
+    SplashFont* splash_font = splash->font;
+    //printf("%s: %d chars\n", id, splash_font->getNumChars());
 }
 
 void InfoOutputDev::drawChar(GfxState *state, double x, double y,
diff --git a/lib/pdf/InfoOutputDev.h b/lib/pdf/InfoOutputDev.h
index 82fa082..deed876 100644
--- a/lib/pdf/InfoOutputDev.h
+++ b/lib/pdf/InfoOutputDev.h
@@ -3,6 +3,8 @@
 
 #include "GfxFont.h"
 #include "OutputDev.h"
+#include "SplashFont.h"
+#include "SplashOutputDev.h"
 #include "GHash.h"
 
 struct FontInfo
@@ -15,14 +17,15 @@ class InfoOutputDev: public OutputDev
 {
   GHash* id2font;
   FontInfo* currentfont;
+  SplashOutputDev*splash;
   public:
   int x1,y1,x2,y2;
   int num_links;
   int num_images;
   int num_fonts;
 
-  InfoOutputDev();
-  virtual ~InfoOutputDev();
+  InfoOutputDev(XRef*xref);
+  virtual ~InfoOutputDev(); 
   virtual GBool upsideDown();
   virtual GBool useDrawChar();
   virtual GBool interpretType3Chars();
-- 
1.7.10.4