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

📄 gfx.h

📁 source code: Covert TXT to PDF
💻 H
字号:
//========================================================================//// Gfx.h//// Copyright 1996-2002 Glyph & Cog, LLC////========================================================================#ifndef GFX_H#define GFX_H#include <aconf.h>#ifdef USE_GCC_PRAGMAS#pragma interface#endif#include "gtypes.h"class GString;class XRef;class Array;class Stream;class Parser;class Dict;class OutputDev;class GfxFontDict;class GfxFont;class GfxPattern;class GfxShading;class GfxAxialShading;class GfxRadialShading;class GfxState;class Gfx;class PDFRectangle;//------------------------------------------------------------------------// Gfx//------------------------------------------------------------------------enum GfxClipType {  clipNone,  clipNormal,  clipEO};enum TchkType {  tchkBool,			// boolean  tchkInt,			// integer  tchkNum,			// number (integer or real)  tchkString,			// string  tchkName,			// name  tchkArray,			// array  tchkProps,			// properties (dictionary or name)  tchkSCN,			// scn/SCN args (number of name)  tchkNone			// used to avoid empty initializer lists};#define maxArgs 8struct Operator {  char name[4];  int numArgs;  TchkType tchk[maxArgs];  void (Gfx::*func)(Object args[], int numArgs);};class GfxResources {public:  GfxResources(XRef *xref, Dict *resDict, GfxResources *nextA);  ~GfxResources();  GfxFont *lookupFont(char *name);  GBool lookupXObject(char *name, Object *obj);  GBool lookupXObjectNF(char *name, Object *obj);  void lookupColorSpace(char *name, Object *obj);  GfxPattern *lookupPattern(char *name);  GfxShading *lookupShading(char *name);  GBool lookupGState(char *name, Object *obj);  GfxResources *getNext() { return next; }private:  GfxFontDict *fonts;  Object xObjDict;  Object colorSpaceDict;  Object patternDict;  Object shadingDict;  Object gStateDict;  GfxResources *next;};class Gfx {public:  // Constructor for regular output.  Gfx(XRef *xrefA, OutputDev *outA, int pageNum, Dict *resDict, double dpi,      PDFRectangle *box, GBool crop, PDFRectangle *cropBox, int rotate,      GBool (*abortCheckCbkA)(void *data) = NULL,      void *abortCheckCbkDataA = NULL);  // Constructor for a sub-page object.  Gfx(XRef *xrefA, OutputDev *outA, Dict *resDict,      PDFRectangle *box, GBool crop, PDFRectangle *cropBox,      GBool (*abortCheckCbkA)(void *data) = NULL,      void *abortCheckCbkDataA = NULL);  ~Gfx();  // Interpret a stream or array of streams.  void display(Object *obj, GBool topLevel = gTrue);  // Display an annotation, given its appearance (a Form XObject) and  // bounding box (in default user space).  void doAnnot(Object *str, double xMin, double yMin,	       double xMax, double yMax);  void pushResources(Dict *resDict);  void popResources();private:  XRef *xref;			// the xref table for this PDF file  OutputDev *out;		// output device  GBool subPage;		// is this a sub-page object?  GBool printCommands;		// print the drawing commands (for debugging)  GfxResources *res;		// resource stack  int updateLevel;  GfxState *state;		// current graphics state  GBool fontChanged;		// set if font or text matrix has changed  GfxClipType clip;		// do a clip?  int ignoreUndef;		// current BX/EX nesting level  double baseMatrix[6];		// default matrix for most recent				//   page/form/pattern  Parser *parser;		// parser for page content stream(s)  GBool				// callback to check for an abort    (*abortCheckCbk)(void *data);  void *abortCheckCbkData;  static Operator opTab[];	// table of operators  void go(GBool topLevel);  void execOp(Object *cmd, Object args[], int numArgs);  Operator *findOp(char *name);  GBool checkArg(Object *arg, TchkType type);  int getPos();  // graphics state operators  void opSave(Object args[], int numArgs);  void opRestore(Object args[], int numArgs);  void opConcat(Object args[], int numArgs);  void opSetDash(Object args[], int numArgs);  void opSetFlat(Object args[], int numArgs);  void opSetLineJoin(Object args[], int numArgs);  void opSetLineCap(Object args[], int numArgs);  void opSetMiterLimit(Object args[], int numArgs);  void opSetLineWidth(Object args[], int numArgs);  void opSetExtGState(Object args[], int numArgs);  void opSetRenderingIntent(Object args[], int numArgs);  // color operators  void opSetFillGray(Object args[], int numArgs);  void opSetStrokeGray(Object args[], int numArgs);  void opSetFillCMYKColor(Object args[], int numArgs);  void opSetStrokeCMYKColor(Object args[], int numArgs);  void opSetFillRGBColor(Object args[], int numArgs);  void opSetStrokeRGBColor(Object args[], int numArgs);  void opSetFillColorSpace(Object args[], int numArgs);  void opSetStrokeColorSpace(Object args[], int numArgs);  void opSetFillColor(Object args[], int numArgs);  void opSetStrokeColor(Object args[], int numArgs);  void opSetFillColorN(Object args[], int numArgs);  void opSetStrokeColorN(Object args[], int numArgs);  // path segment operators  void opMoveTo(Object args[], int numArgs);  void opLineTo(Object args[], int numArgs);  void opCurveTo(Object args[], int numArgs);  void opCurveTo1(Object args[], int numArgs);  void opCurveTo2(Object args[], int numArgs);  void opRectangle(Object args[], int numArgs);  void opClosePath(Object args[], int numArgs);  // path painting operators  void opEndPath(Object args[], int numArgs);  void opStroke(Object args[], int numArgs);  void opCloseStroke(Object args[], int numArgs);  void opFill(Object args[], int numArgs);  void opEOFill(Object args[], int numArgs);  void opFillStroke(Object args[], int numArgs);  void opCloseFillStroke(Object args[], int numArgs);  void opEOFillStroke(Object args[], int numArgs);  void opCloseEOFillStroke(Object args[], int numArgs);  void doPatternFill(GBool eoFill);  void opShFill(Object args[], int numArgs);  void doAxialShFill(GfxAxialShading *shading);  void doRadialShFill(GfxRadialShading *shading);  void doEndPath();  // path clipping operators  void opClip(Object args[], int numArgs);  void opEOClip(Object args[], int numArgs);  // text object operators  void opBeginText(Object args[], int numArgs);  void opEndText(Object args[], int numArgs);  // text state operators  void opSetCharSpacing(Object args[], int numArgs);  void opSetFont(Object args[], int numArgs);  void opSetTextLeading(Object args[], int numArgs);  void opSetTextRender(Object args[], int numArgs);  void opSetTextRise(Object args[], int numArgs);  void opSetWordSpacing(Object args[], int numArgs);  void opSetHorizScaling(Object args[], int numArgs);  // text positioning operators  void opTextMove(Object args[], int numArgs);  void opTextMoveSet(Object args[], int numArgs);  void opSetTextMatrix(Object args[], int numArgs);  void opTextNextLine(Object args[], int numArgs);  // text string operators  void opShowText(Object args[], int numArgs);  void opMoveShowText(Object args[], int numArgs);  void opMoveSetShowText(Object args[], int numArgs);  void opShowSpaceText(Object args[], int numArgs);  void doShowText(GString *s);  // XObject operators  void opXObject(Object args[], int numArgs);  void doImage(Object *ref, Stream *str, GBool inlineImg);  void doForm(Object *str);  void doForm1(Object *str, Dict *resDict, double *matrix, double *bbox);  // in-line image operators  void opBeginImage(Object args[], int numArgs);  Stream *buildImageStream();  void opImageData(Object args[], int numArgs);  void opEndImage(Object args[], int numArgs);  // type 3 font operators  void opSetCharWidth(Object args[], int numArgs);  void opSetCacheDevice(Object args[], int numArgs);  // compatibility operators  void opBeginIgnoreUndef(Object args[], int numArgs);  void opEndIgnoreUndef(Object args[], int numArgs);  // marked content operators  void opBeginMarkedContent(Object args[], int numArgs);  void opEndMarkedContent(Object args[], int numArgs);  void opMarkPoint(Object args[], int numArgs);};#endif

⌨️ 快捷键说明

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