1
//========================================================================
5
//========================================================================
7
#ifndef OPVPSPLASHSTATE_H
8
#define OPVPSPLASHSTATE_H
10
#ifdef USE_GCC_PRAGMAS
14
#ifdef HAVE_CPP_POPPLER_VERSION_H
15
#include "cpp/poppler-version.h"
17
#include "splash/SplashTypes.h"
18
#include "splash/SplashState.h"
19
#include "splash/Splash.h"
26
//------------------------------------------------------------------------
28
//------------------------------------------------------------------------
30
class OPVPSplashState {
33
// Create a new state object, initialized with default settings.
34
OPVPSplashState(int width, int height, GBool vectorAntialias,
35
SplashScreenParams *screenParams);
36
OPVPSplashState(int width, int height, GBool vectorAntialias,
37
SplashScreen *screenA);
39
// Copy a state object.
40
OPVPSplashState *copy() { return new OPVPSplashState(this); }
44
#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19
45
void setState(Splash *osplash);
48
// Set the stroke pattern. This does not copy <strokePatternA>.
49
void setStrokePattern(SplashPattern *strokePatternA);
51
// Set the fill pattern. This does not copy <fillPatternA>.
52
void setFillPattern(SplashPattern *fillPatternA);
54
// Set the screen. This does not copy <screenA>.
55
void setScreen(SplashScreen *screenA);
57
// Set the line dash pattern. This copies the <lineDashA> array.
58
void setLineDash(SplashCoord *lineDashA, int lineDashLengthA,
59
SplashCoord lineDashPhaseA);
61
// Set the soft mask bitmap.
62
void setSoftMask(SplashBitmap *softMaskA);
66
OPVPSplashState(OPVPSplashState *state);
68
SplashCoord matrix[6];
69
SplashPattern *strokePattern;
70
SplashPattern *fillPattern;
72
SplashBlendFunc blendFunc;
73
SplashCoord strokeAlpha;
74
SplashCoord fillAlpha;
75
SplashCoord lineWidth;
78
SplashCoord miterLimit;
80
SplashCoord *lineDash;
82
SplashCoord lineDashPhase;
85
SplashBitmap *softMask;
87
GBool inNonIsolatedGroup;
89
OPVPSplashState *next; // used by OPVPSplash class
91
friend class OPVPSplash;
92
friend class OPVPSplashXPath;