]> www.fi.muni.cz Git - evince.git/blobdiff - pdf/xpdf/ImageOutputDev.h
Fix for a number of integer overflow bugs discovered by Chris Evans.
[evince.git] / pdf / xpdf / ImageOutputDev.h
index 84766dd1f0c019d187bebd37d6b0c053f1c47472..73f2f15f79957c61420feff6b3b5bab666b585bb 100644 (file)
@@ -2,14 +2,16 @@
 //
 // ImageOutputDev.h
 //
-// Copyright 1998 Derek B. Noonburg
+// Copyright 1998-2003 Glyph & Cog, LLC
 //
 //========================================================================
 
 #ifndef IMAGEOUTPUTDEV_H
 #define IMAGEOUTPUTDEV_H
 
-#ifdef __GNUC__
+#include <aconf.h>
+
+#ifdef USE_GCC_PRAGMAS
 #pragma interface
 #endif
 
@@ -30,7 +32,7 @@ public:
   // <fileRoot>-NNN.<type>.  Normally, all images are written as PBM
   // (.pbm) or PPM (.ppm) files.  If <dumpJPEG> is set, JPEG images are
   // written as JPEG (.jpg) files.
-  ImageOutputDev(char *fileRoot1, GBool dumpJPEG1);
+  ImageOutputDev(char *fileRootA, GBool dumpJPEGA);
 
   // Destructor.
   virtual ~ImageOutputDev();
@@ -38,6 +40,13 @@ public:
   // Check if file was successfully created.
   virtual GBool isOk() { return ok; }
 
+  // Does this device use beginType3Char/endType3Char?  Otherwise,
+  // text in Type 3 fonts will be drawn with drawChar/drawString.
+  virtual GBool interpretType3Chars() { return gFalse; }
+
+  // Does this device need non-text content?
+  virtual GBool needNonText() { return gFalse; }
+
   //---- get info about output device
 
   // Does this device use upside-down coordinates?
@@ -48,12 +57,12 @@ public:
   virtual GBool useDrawChar() { return gFalse; }
 
   //----- image drawing
-  virtual void drawImageMask(GfxState *state, Stream *str,
+  virtual void drawImageMask(GfxState *state, Object *ref, Stream *str,
                             int width, int height, GBool invert,
                             GBool inlineImg);
-  virtual void drawImage(GfxState *state, Stream *str, int width,
-                        int height, GfxImageColorMap *colorMap,
-                        GBool inlineImg);
+  virtual void drawImage(GfxState *state, Object *ref, Stream *str,
+                        int width, int height, GfxImageColorMap *colorMap,
+                        int *maskColors, GBool inlineImg);
 
 private: