~ubuntu-branches/debian/experimental/cups-filters/experimental

« back to all changes in this revision

Viewing changes to filter/pdftoopvp/oprs/OPVPSplashState.h

Tags: upstream-1.0.20
ImportĀ upstreamĀ versionĀ 1.0.20

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//========================================================================
 
2
//
 
3
// OPVPSplashState.h
 
4
//
 
5
//========================================================================
 
6
 
 
7
#ifndef OPVPSPLASHSTATE_H
 
8
#define OPVPSPLASHSTATE_H
 
9
 
 
10
#ifdef USE_GCC_PRAGMAS
 
11
#pragma interface
 
12
#endif
 
13
 
 
14
#ifdef HAVE_CPP_POPPLER_VERSION_H
 
15
#include "cpp/poppler-version.h"
 
16
#endif
 
17
#include "splash/SplashTypes.h"
 
18
#include "splash/SplashState.h"
 
19
#include "splash/Splash.h"
 
20
 
 
21
class SplashPattern;
 
22
class SplashScreen;
 
23
class OPVPSplashClip;
 
24
class SplashBitmap;
 
25
 
 
26
//------------------------------------------------------------------------
 
27
// SplashState
 
28
//------------------------------------------------------------------------
 
29
 
 
30
class OPVPSplashState {
 
31
public:
 
32
 
 
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);
 
38
 
 
39
  // Copy a state object.
 
40
  OPVPSplashState *copy() { return new OPVPSplashState(this); }
 
41
 
 
42
  ~OPVPSplashState();
 
43
 
 
44
#if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19
 
45
  void setState(Splash *osplash);
 
46
#endif
 
47
 
 
48
  // Set the stroke pattern.  This does not copy <strokePatternA>.
 
49
  void setStrokePattern(SplashPattern *strokePatternA);
 
50
 
 
51
  // Set the fill pattern.  This does not copy <fillPatternA>.
 
52
  void setFillPattern(SplashPattern *fillPatternA);
 
53
 
 
54
  // Set the screen.  This does not copy <screenA>.
 
55
  void setScreen(SplashScreen *screenA);
 
56
 
 
57
  // Set the line dash pattern.  This copies the <lineDashA> array.
 
58
  void setLineDash(SplashCoord *lineDashA, int lineDashLengthA,
 
59
                   SplashCoord lineDashPhaseA);
 
60
 
 
61
  // Set the soft mask bitmap.
 
62
  void setSoftMask(SplashBitmap *softMaskA);
 
63
 
 
64
private:
 
65
 
 
66
  OPVPSplashState(OPVPSplashState *state);
 
67
 
 
68
  SplashCoord matrix[6];
 
69
  SplashPattern *strokePattern;
 
70
  SplashPattern *fillPattern;
 
71
  SplashScreen *screen;
 
72
  SplashBlendFunc blendFunc;
 
73
  SplashCoord strokeAlpha;
 
74
  SplashCoord fillAlpha;
 
75
  SplashCoord lineWidth;
 
76
  int lineCap;
 
77
  int lineJoin;
 
78
  SplashCoord miterLimit;
 
79
  SplashCoord flatness;
 
80
  SplashCoord *lineDash;
 
81
  int lineDashLength;
 
82
  SplashCoord lineDashPhase;
 
83
  GBool strokeAdjust;
 
84
  OPVPSplashClip *clip;
 
85
  SplashBitmap *softMask;
 
86
  GBool deleteSoftMask;
 
87
  GBool inNonIsolatedGroup;
 
88
 
 
89
  OPVPSplashState *next;        // used by OPVPSplash class
 
90
 
 
91
  friend class OPVPSplash;
 
92
  friend class OPVPSplashXPath;
 
93
};
 
94
 
 
95
#endif