]> www.fi.muni.cz Git - evince.git/blobdiff - pdf/xpdf/Thumb.h
Do real thumbnailing of PDF files. It's slow, but I'll speed it up next!
[evince.git] / pdf / xpdf / Thumb.h
index a3735fe54374a5e173a48317e7ebde4426dc0e83..968b0c423c6bd7e81a026598cb04e707fd745971 100644 (file)
 
 class XRef;
 class GfxColorSpace;
 
 class XRef;
 class GfxColorSpace;
-class GfxRGB;
-class GfxCMYK;
-class GfxColor;
-
-/*
- * ThumbColorMap
- */
-class ThumbColorMap {
-
-      public:
-        ThumbColorMap(int bitsA, Object *obj, GfxColorSpace *csA);
-        ~ThumbColorMap();
-        
-        GBool isOk() {return ok; };
-        
-        GfxColorSpace *getColorSpace() { return cs; }; 
-        
-        int getNumPixelComps() { return nComps; }; 
-        int getBits() { return bits; }; 
-        
-        void getGray(Guchar *x, double *gray);
-        void getRGB(Guchar *x, GfxRGB *rgb);
-        void getCMYK(Guchar *x, GfxCMYK *cmyk);
-        //void getColor(Guchar *x, GfxColor *color);
-
-       static ThumbColorMap *lookupColorMap(XRef *xref, int bitsA, Object *obj, GfxColorSpace *csA); 
-
-      private:
-        GBool ok; 
-        int bits;
-        Stream *str;
-        GfxColorSpace *cs;
-        int nComps;
-        int length;
-        union {
-                double *gray;
-                GfxRGB *rgb;
-                GfxCMYK *cmyk;
-                GfxColor *colors; 
-        };
-};
-
-/*
- * ThumbColorMaps
- */
 
 /* FIXME: Should have a class to avoid reading same colormap for every thumb */
 
 
 /* FIXME: Should have a class to avoid reading same colormap for every thumb */
 
@@ -87,21 +42,23 @@ class Thumb {
 
         int getWidth(void) {return width; };
         int getHeight(void) {return height; };
 
         int getWidth(void) {return width; };
         int getHeight(void) {return height; };
-        GfxColorSpace *getColorSpace(void) {return gfxCS; };
-        int getBitsPerComponent(void) {return bits; };
+        GfxColorSpace *getColorSpace(void) {return colorMap->getColorSpace(); };
+        int getBitsPerComponent(void) {return colorMap->getBits(); };
        int getLength(void) {return length; };
 
        Stream *getStream() {return str; };
 
        unsigned char *getPixbufData();
 
        int getLength(void) {return length; };
 
        Stream *getStream() {return str; };
 
        unsigned char *getPixbufData();
 
+       char ok() {return ok_flag != 0; }; 
+
       private:
         XRef *xref;
        Stream *str;
       private:
         XRef *xref;
        Stream *str;
-       GfxColorSpace *gfxCS;
-        ThumbColorMap *thumbCM; 
+       GfxImageColorMap *colorMap;
         int width, height, bits;
        int length;
         int width, height, bits;
        int length;
+       char ok_flag; 
 };
 
 #endif
 };
 
 #endif