don't split tiling pattern fills
[swftools.git] / lib / pdf / InfoOutputDev.h
1 #ifndef __infooutputdev_h__
2 #define __infooutputdev_h__
3
4 #include "GfxFont.h"
5 #include "OutputDev.h"
6 #include "SplashFont.h"
7 #include "SplashOutputDev.h"
8 #include "GHash.h"
9
10 struct FontInfo
11 {
12     GfxFont*font;
13     double max_size;
14 };
15
16 class InfoOutputDev: public OutputDev 
17 {
18   GHash* id2font;
19   FontInfo* currentfont;
20   SplashOutputDev*splash;
21   public:
22   int x1,y1,x2,y2;
23   int num_links;
24   int num_images;
25   int num_fonts;
26
27   InfoOutputDev(XRef*xref);
28   virtual ~InfoOutputDev(); 
29   virtual GBool useTilingPatternFill();
30   virtual GBool upsideDown();
31   virtual GBool useDrawChar();
32   virtual GBool interpretType3Chars();
33   virtual void startPage(int pageNum, GfxState *state, double crop_x1, double crop_y1, double crop_x2, double crop_y2);
34   virtual void drawLink(Link *link, Catalog *catalog);
35   virtual double getMaximumFontSize(char*id);
36   virtual void updateFont(GfxState *state);
37   virtual void drawChar(GfxState *state, double x, double y,
38                         double dx, double dy,
39                         double originX, double originY,
40                         CharCode code, int nBytes, Unicode *u, int uLen);
41   virtual void drawImageMask(GfxState *state, Object *ref, Stream *str,
42                              int width, int height, GBool invert,
43                              GBool inlineImg);
44   virtual void drawImage(GfxState *state, Object *ref, Stream *str,
45                          int width, int height, GfxImageColorMap *colorMap,
46                          int *maskColors, GBool inlineImg);
47   virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str,
48                                 int width, int height,
49                                 GfxImageColorMap *colorMap,
50                                 Stream *maskStr,
51                                 int maskWidth, int maskHeight,
52                                 GBool maskInvert);
53   virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,
54                                     int width, int height,
55                                     GfxImageColorMap *colorMap,
56                                     Stream *maskStr,
57                                     int maskWidth, int maskHeight,
58                                     GfxImageColorMap *maskColorMap);
59 };
60
61 #endif //__infooutputdev_h__