Ignore:
Timestamp:
Jun 30, 2008, 10:13:07 AM (13 years ago)
Author:
Eugene Romanenko
Message:

PDF plugin: poppler library updated to version 0.8.3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/poppler/mypoppler/poppler/PSOutputDev.h

    r134 r250  
    2525class GfxSeparationColorSpace;
    2626class PDFRectangle;
     27struct PSFont8Info;
    2728struct PSFont16Enc;
    2829class PSOutCustomColor;
     
    5354  // Open a PostScript output file, and write the prolog.
    5455  PSOutputDev(const char *fileName, XRef *xrefA, Catalog *catalog,
     56              char *psTitle,
    5557              int firstPage, int lastPage, PSOutMode modeA,
    56               int paperWidthA = -1, int paperHeightA = -1,
    57               GBool duplexA = gTrue,
     58              int paperWidthA = -1, int paperHeightA = -1,
     59              GBool duplexA = gTrue,
    5860              int imgLLXA = 0, int imgLLYA = 0,
    5961              int imgURXA = 0, int imgURYA = 0,
     62              GBool forceRasterizeA = gFalse,
    6063              GBool manualCtrlA = gFalse);
    6164
    6265  // Open a PSOutputDev that will write to a generic stream.
    6366  PSOutputDev(PSOutputFunc outputFuncA, void *outputStreamA,
     67              char *psTitle,
    6468              XRef *xrefA, Catalog *catalog,
    6569              int firstPage, int lastPage, PSOutMode modeA,
    66               int paperWidthA = -1, int paperHeightA = -1,
    67               GBool duplexA = gTrue,
     70              int paperWidthA = -1, int paperHeightA = -1,
     71              GBool duplexA = gTrue,
    6872              int imgLLXA = 0, int imgLLYA = 0,
    6973              int imgURXA = 0, int imgURYA = 0,
     74              GBool forceRasterizeA = gFalse,
    7075              GBool manualCtrlA = gFalse);
    7176
     
    9499  // will be reduced to a series of other drawing operations.
    95100  virtual GBool useShadedFills()
    96     { return level == psLevel2 || level == psLevel3; }
     101    { return level >= psLevel2; }
     102
     103  // Does this device use drawForm()?  If this returns false,
     104  // form-type XObjects will be interpreted (i.e., unrolled).
     105  virtual GBool useDrawForm() { return preload; }
    97106
    98107  // Does this device use beginType3Char/endType3Char?  Otherwise,
     
    105114  void writeHeader(int firstPage, int lastPage,
    106115                   PDFRectangle *mediaBox, PDFRectangle *cropBox,
    107                    int pageRotate);
     116                   int pageRotate, char *pstitle);
    108117
    109118  // Write the Xpdf procset.
     
    120129
    121130  //----- initialization and control
     131
     132  // Check to see if a page slice should be displayed.  If this
     133  // returns false, the page display is aborted.  Typically, an
     134  // OutputDev will use some alternate means to display the page
     135  // before returning false.
     136  virtual GBool checkPageSlice(Page *page, double hDPI, double vDPI,
     137                               int rotate, GBool useMediaBox, GBool crop,
     138                               int sliceX, int sliceY, int sliceW, int sliceH,
     139                               GBool printing, Catalog *catalog,
     140                               GBool (*abortCheckCbk)(void *data) = NULL,
     141                               void *abortCheckCbkData = NULL);
    122142
    123143  // Start a page.
     
    146166  virtual void updateFillOverprint(GfxState *state);
    147167  virtual void updateStrokeOverprint(GfxState *state);
     168  virtual void updateTransfer(GfxState *state);
    148169
    149170  //----- update text state
     
    167188                                 int x0, int y0, int x1, int y1,
    168189                                 double xStep, double yStep);
    169   virtual void functionShadedFill(GfxState *state,
    170                                   GfxFunctionShading *shading);
    171   virtual void axialShadedFill(GfxState *state, GfxAxialShading *shading);
    172   virtual void radialShadedFill(GfxState *state, GfxRadialShading *shading);
     190  virtual GBool functionShadedFill(GfxState *state,
     191                                   GfxFunctionShading *shading);
     192  virtual GBool axialShadedFill(GfxState *state, GfxAxialShading *shading);
     193  virtual GBool radialShadedFill(GfxState *state, GfxRadialShading *shading);
    173194
    174195  //----- path clipping
    175196  virtual void clip(GfxState *state);
    176197  virtual void eoClip(GfxState *state);
     198  virtual void clipToStrokePath(GfxState *state);
    177199
    178200  //----- text drawing
     
    203225  virtual void type3D1(GfxState *state, double wx, double wy,
    204226                       double llx, double lly, double urx, double ury);
     227
     228  //----- form XObjects
     229  virtual void drawForm(Ref ref);
    205230
    206231  //----- PostScript XObjects
     
    222247                     void *data)
    223248    { overlayCbk = cbk; overlayCbkData = data; }
     249  void setDisplayText(GBool display) { displayText = display; }
    224250
    225251private:
    226252
    227253  void init(PSOutputFunc outputFuncA, void *outputStreamA,
    228             PSFileType fileTypeA, XRef *xrefA, Catalog *catalog,
     254            PSFileType fileTypeA, char *pstitle, XRef *xrefA, Catalog *catalog,
    229255            int firstPage, int lastPage, PSOutMode modeA,
    230256            int imgLLXA, int imgLLYA, int imgURXA, int imgURYA,
     
    237263  void setupExternalType1Font(GooString *fileName, GooString *psName);
    238264  void setupEmbeddedType1CFont(GfxFont *font, Ref *id, GooString *psName);
     265  void setupEmbeddedOpenTypeT1CFont(GfxFont *font, Ref *id, GooString *psName);
    239266  void setupEmbeddedTrueTypeFont(GfxFont *font, Ref *id, GooString *psName);
    240267  GooString *setupExternalTrueTypeFont(GfxFont *font);
     
    242269  void setupEmbeddedCIDTrueTypeFont(GfxFont *font, Ref *id, GooString *psName,
    243270                                    GBool needVerticalMetrics);
     271  void setupEmbeddedOpenTypeCFFFont(GfxFont *font, Ref *id, GooString *psName);
    244272  GooString *setupExternalCIDTrueTypeFont(GfxFont *font, GooString *fileName, int faceIndex = 0);
    245273  void setupType3Font(GfxFont *font, GooString *psName, Dict *parentResDict);
    246274  void setupImages(Dict *resDict);
    247275  void setupImage(Ref id, Stream *str);
     276  void setupForms(Dict *resDict);
     277  void setupForm(Ref id, Object *strObj);
    248278  void addProcessColor(double c, double m, double y, double k);
    249279  void addCustomColor(GfxSeparationColorSpace *sepCS);
     
    260290                 int *maskColors, Stream *maskStr,
    261291                 int maskWidth, int maskHeight, GBool maskInvert);
     292  void doImageL3(Object *ref, GfxImageColorMap *colorMap,
     293                 GBool invert, GBool inlineImg,
     294                 Stream *str, int width, int height, int len,
     295                 int *maskColors, Stream *maskStr,
     296                 int maskWidth, int maskHeight, GBool maskInvert);
    262297  void dumpColorSpaceL2(GfxColorSpace *colorSpace,
    263                         GBool genXform, GBool updateColors);
     298                        GBool genXform, GBool updateColors,
     299                        GBool map01);
    264300#if OPI_SUPPORT
    265301  void opiBegin20(GfxState *state, Dict *dict);
     
    272308  void writePSChar(char c);
    273309  void writePS(char *s);
    274   void writePSFmt(const char *fmt, ...) GCC_PRINTF_FORMAT(2, 3);
     310  void writePSFmt(const char *fmt, ...);
    275311  void writePSString(GooString *s);
    276312  void writePSName(char *s);
    277313  GooString *filterPSName(GooString *name);
     314  GooString *filterPSLabel(GooString *label, GBool *needParens=0);
     315  void writePSTextLine(GooString *s);
    278316
    279317  PSLevel level;                // PostScript level (1, 2, separation)
     
    283321  int imgLLX, imgLLY,           // imageable area, in pts
    284322      imgURX, imgURY;
     323  GBool preload;                // load all images into memory, and
     324                                //   predefine forms
    285325
    286326  PSOutputFunc outputFunc;
     
    295335
    296336  XRef *xref;                   // the xref table for this PDF file
     337  Catalog *m_catalog;           // the catalog for this PDF file
    297338
    298339  Ref *fontIDs;                 // list of object IDs of all used fonts
     
    308349  int nextTrueTypeNum;          // next unique number to append to a TrueType
    309350                                //   font name
     351  PSFont8Info *font8Info;       // info for 8-bit fonts
     352  int font8InfoLen;             // number of entries in font8Info array
     353  int font8InfoSize;            // size of font8Info array
    310354  PSFont16Enc *font16Enc;       // encodings for substitute 16-bit fonts
    311355  int font16EncLen;             // number of entries in font16Enc array
    312356  int font16EncSize;            // size of font16Enc array
     357  Ref *imgIDs;                  // list of image IDs for in-memory images
     358  int imgIDLen;                 // number of entries in imgIDs array
     359  int imgIDSize;                // size of imgIDs array
     360  Ref *formIDs;                 // list of IDs for predefined forms
     361  int formIDLen;                // number of entries in formIDs array
     362  int formIDSize;               // size of formIDs array
    313363  GooList *xobjStack;           // stack of XObject dicts currently being
    314364                                //   processed
     
    342392         t3LLX, t3LLY, t3URX, t3URY;
    343393  GBool t3Cacheable;            // cleared if char is not cacheable
     394  GBool t3NeedsRestore;         // set if a 'q' operator was issued
     395  GBool forceRasterize;         // forces the page to be rasterized into a image before printing
     396  GBool displayText;            // displayText
    344397
    345398#if OPI_SUPPORT
Note: See TracChangeset for help on using the changeset viewer.