⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 splashoutputdev.h

📁 swf文件查看工具,能够看flash文件的格式
💻 H
字号:
//========================================================================//// SplashOutputDev.h//// Copyright 2003 Glyph & Cog, LLC////========================================================================#ifndef SPLASHOUTPUTDEV_H#define SPLASHOUTPUTDEV_H#include <aconf.h>#ifdef USE_GCC_PRAGMAS#pragma interface#endif#include "gtypes.h"#include "SplashTypes.h"#include "config.h"#include "OutputDev.h"#include "GfxState.h"class Gfx8BitFont;class SplashBitmap;class Splash;class SplashPath;class SplashPattern;class SplashFontEngine;class SplashFont;class T3FontCache;struct T3FontCacheTag;struct T3GlyphStack;struct SplashTransparencyGroup;//------------------------------------------------------------------------// number of Type 3 fonts to cache#define splashOutT3FontCacheSize 8//------------------------------------------------------------------------// SplashOutputDev//------------------------------------------------------------------------class SplashOutputDev: public OutputDev {public:  // Constructor.  SplashOutputDev(SplashColorMode colorModeA, int bitmapRowPadA,		  GBool reverseVideoA, SplashColorPtr paperColorA,		  GBool bitmapTopDownA = gTrue,		  GBool allowAntialiasA = gTrue);  // Destructor.  virtual ~SplashOutputDev();  //----- get info about output device  // Does this device use upside-down coordinates?  // (Upside-down means (0,0) is the top left corner of the page.)  virtual GBool upsideDown() { return gTrue; }  // Does this device use drawChar() or drawString()?  virtual GBool useDrawChar() { return gTrue; }  // Does this device use beginType3Char/endType3Char?  Otherwise,  // text in Type 3 fonts will be drawn with drawChar/drawString.  virtual GBool interpretType3Chars() { return gTrue; }  //----- initialization and control  // Start a page.  virtual void startPage(int pageNum, GfxState *state, double x1,double y1,double x2,double y2);  // End a page.  virtual void endPage();  //----- save/restore graphics state  virtual void saveState(GfxState *state);  virtual void restoreState(GfxState *state);  //----- update graphics state  virtual void updateAll(GfxState *state);  virtual void updateCTM(GfxState *state, double m11, double m12,			 double m21, double m22, double m31, double m32);  virtual void updateLineDash(GfxState *state);  virtual void updateFlatness(GfxState *state);  virtual void updateLineJoin(GfxState *state);  virtual void updateLineCap(GfxState *state);  virtual void updateMiterLimit(GfxState *state);  virtual void updateLineWidth(GfxState *state);  virtual void updateStrokeAdjust(GfxState *state);  virtual void updateFillColor(GfxState *state);  virtual void updateStrokeColor(GfxState *state);  virtual void updateBlendMode(GfxState *state);  virtual void updateFillOpacity(GfxState *state);  virtual void updateStrokeOpacity(GfxState *state);  //----- update text state  virtual void updateFont(GfxState *state);  //----- path painting  virtual void stroke(GfxState *state);  virtual void fill(GfxState *state);  virtual void eoFill(GfxState *state);  //----- path clipping  virtual void clip(GfxState *state);  virtual void eoClip(GfxState *state);  virtual void clipToStrokePath(GfxState *state);  //----- text drawing  virtual void drawChar(GfxState *state, double x, double y,			double dx, double dy,			double originX, double originY,			CharCode code, int nBytes, Unicode *u, int uLen);  virtual GBool beginType3Char(GfxState *state, double x, double y,			       double dx, double dy,			       CharCode code, Unicode *u, int uLen);  virtual void endType3Char(GfxState *state);  virtual void endTextObject(GfxState *state);  //----- image drawing  virtual void drawImageMask(GfxState *state, Object *ref, Stream *str,			     int width, int height, GBool invert,			     GBool inlineImg);  virtual void drawImage(GfxState *state, Object *ref, Stream *str,			 int width, int height, GfxImageColorMap *colorMap,			 int *maskColors, GBool inlineImg);  virtual void drawMaskedImage(GfxState *state, Object *ref, Stream *str,			       int width, int height,			       GfxImageColorMap *colorMap,			       Stream *maskStr, int maskWidth, int maskHeight,			       GBool maskInvert);  virtual void drawSoftMaskedImage(GfxState *state, Object *ref, Stream *str,				   int width, int height,				   GfxImageColorMap *colorMap,				   Stream *maskStr,				   int maskWidth, int maskHeight,				   GfxImageColorMap *maskColorMap);  //----- Type 3 font operators  virtual void type3D0(GfxState *state, double wx, double wy);  virtual void type3D1(GfxState *state, double wx, double wy,		       double llx, double lly, double urx, double ury);  //----- transparency groups and soft masks  virtual void beginTransparencyGroup(GfxState *state, double *bbox,				      GfxColorSpace *blendingColorSpace,				      GBool isolated, GBool knockout,				      GBool forSoftMask);  virtual void endTransparencyGroup(GfxState *state);  virtual void paintTransparencyGroup(GfxState *state, double *bbox);  virtual void setSoftMask(GfxState *state, double *bbox, GBool alpha,			   Function *transferFunc, GfxColor *backdropColor);  virtual void clearSoftMask(GfxState *state);  //----- special access  // Called to indicate that a new PDF document has been loaded.  void startDoc(XRef *xrefA);   void setPaperColor(SplashColorPtr paperColorA);  GBool isReverseVideo() { return reverseVideo; }  void setReverseVideo(GBool reverseVideoA) { reverseVideo = reverseVideoA; }  // Get the bitmap and its size.  SplashBitmap *getBitmap() { return bitmap; }  int getBitmapWidth();  int getBitmapHeight();  // Returns the last rasterized bitmap, transferring ownership to the  // caller.  SplashBitmap *takeBitmap();  // Get the Splash object.  Splash *getSplash() { return splash; }  // Get the modified region.  void getModRegion(int *xMin, int *yMin, int *xMax, int *yMax);  // Clear the modified region.  void clearModRegion();  // Set the Splash fill color.  void setFillColor(int r, int g, int b);  // Get a font object for a Base-14 font, using the Latin-1 encoding.  SplashFont *getFont(GString *name, double *textMatA);  SplashFont *getCurrentFont() { return font; }#if 1 //~tmp: turn off anti-aliasing temporarily  virtual GBool getVectorAntialias();  virtual void setVectorAntialias(GBool vaa);#endif  void doUpdateFont(GfxState *state);    SplashPath *convertPath(GfxState *state, GfxPath *path);private:  void setupScreenParams(double hDPI, double vDPI);#if SPLASH_CMYK  SplashPattern *getColor(GfxGray gray, GfxRGB *rgb, GfxCMYK *cmyk);#else  SplashPattern *getColor(GfxGray gray, GfxRGB *rgb);#endif  void drawType3Glyph(T3FontCache *t3Font,		      T3FontCacheTag *tag, Guchar *data);  static GBool imageMaskSrc(void *data, SplashColorPtr line);  static GBool imageSrc(void *data, SplashColorPtr colorLine,			Guchar *alphaLine);  static GBool alphaImageSrc(void *data, SplashColorPtr line,			     Guchar *alphaLine);  static GBool maskedImageSrc(void *data, SplashColorPtr line,			      Guchar *alphaLine);  SplashColorMode colorMode;  int bitmapRowPad;  GBool bitmapTopDown;  GBool allowAntialias;  GBool vectorAntialias;  GBool reverseVideo;		// reverse video mode  SplashColor paperColor;	// paper color  SplashScreenParams screenParams;  XRef *xref;			// xref table for current document  SplashBitmap *bitmap;  Splash *splash;  SplashFontEngine *fontEngine;  T3FontCache *			// Type 3 font cache    t3FontCache[splashOutT3FontCacheSize];  int nT3Fonts;			// number of valid entries in t3FontCache  T3GlyphStack *t3GlyphStack;	// Type 3 glyph context stack  SplashFont *font;		// current font  GBool needFontUpdate;		// set when the font needs to be updated  SplashPath *textClipPath;	// clipping path built with text object  SplashTransparencyGroup *	// transparency group stack    transpGroupStack;};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -