Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pdf/xpdf/Gfx.h
diff options
context:
space:
mode:
authorMartin Kretzschmar <mkretzschmar@src.gnome.org>2002-09-18 22:20:42 (GMT)
committer Martin Kretzschmar <mkretzschmar@src.gnome.org>2002-09-18 22:20:42 (GMT)
commit2a393c134fe3fe8eb85bf818cb7ad6ae4396322a (patch)
treeeba8b0dcaba42d799ed8313faee15fb74a5a0cd2 /pdf/xpdf/Gfx.h
parent7aac8dc8533347e21311b15186e0af82f1b22fd6 (diff)
Synched with Xpdf 1.01
Diffstat (limited to 'pdf/xpdf/Gfx.h')
-rw-r--r--pdf/xpdf/Gfx.h42
1 files changed, 30 insertions, 12 deletions
diff --git a/pdf/xpdf/Gfx.h b/pdf/xpdf/Gfx.h
index 34d8f99..b4da531 100644
--- a/pdf/xpdf/Gfx.h
+++ b/pdf/xpdf/Gfx.h
@@ -2,7 +2,7 @@
//
// Gfx.h
//
-// Copyright 1996 Derek B. Noonburg
+// Copyright 1996-2002 Glyph & Cog, LLC
//
//========================================================================
@@ -16,6 +16,7 @@
#include "gtypes.h"
class GString;
+class XRef;
class Array;
class Stream;
class Parser;
@@ -23,10 +24,13 @@ class Dict;
class OutputDev;
class GfxFontDict;
class GfxFont;
-struct GfxFontEncoding16;
class GfxPattern;
+class GfxShading;
+class GfxAxialShading;
+class GfxRadialShading;
class GfxState;
class Gfx;
+struct PDFRectangle;
//------------------------------------------------------------------------
// Gfx
@@ -62,7 +66,7 @@ struct Operator {
class GfxResources {
public:
- GfxResources(Dict *resDict, GfxResources *next);
+ GfxResources(XRef *xref, Dict *resDict, GfxResources *nextA);
~GfxResources();
GfxFont *lookupFont(char *name);
@@ -70,6 +74,7 @@ public:
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; }
@@ -80,6 +85,7 @@ private:
Object xObjDict;
Object colorSpaceDict;
Object patternDict;
+ Object shadingDict;
Object gStateDict;
GfxResources *next;
};
@@ -88,24 +94,35 @@ class Gfx {
public:
// Constructor for regular output.
- Gfx(OutputDev *out1, int pageNum, Dict *resDict,
- double dpi, double x1, double y1, double x2, double y2, GBool crop,
- double cropX1, double cropY1, double cropX2, double cropY2,
- int rotate);
+ Gfx(XRef *xrefA, OutputDev *outA, int pageNum, Dict *resDict, double dpi,
+ PDFRectangle *box, GBool crop, PDFRectangle *cropBox, int rotate,
+ GBool printCommandsA);
+
+ // Constructor for a sub-page object.
+ Gfx(XRef *xrefA, OutputDev *outA, Dict *resDict,
+ PDFRectangle *box, GBool crop, PDFRectangle *cropBox);
- // Destructor.
~Gfx();
// Interpret a stream or array of streams.
void display(Object *obj, GBool topLevel = gTrue);
- void doWidgetForm(Object *str, double xMin, double yMin,
- double xMax, double yMax);
+ // 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
@@ -170,8 +187,10 @@ private:
void opCloseFillStroke(Object args[], int numArgs);
void opEOFillStroke(Object args[], int numArgs);
void opCloseEOFillStroke(Object args[], int numArgs);
- void opShFill(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
@@ -203,7 +222,6 @@ private:
void opMoveSetShowText(Object args[], int numArgs);
void opShowSpaceText(Object args[], int numArgs);
void doShowText(GString *s);
- int getNextChar16(GfxFontEncoding16 *enc, Guchar *p, int *c16);
// XObject operators
void opXObject(Object args[], int numArgs);