]> git.ipfire.org Git - thirdparty/cups.git/blame - pdftops/SplashPattern.h
Load cups into easysw/current.
[thirdparty/cups.git] / pdftops / SplashPattern.h
CommitLineData
ef416fc2 1//========================================================================
2//
3// SplashPattern.h
4//
5//========================================================================
6
7#ifndef SPLASHPATTERN_H
8#define SPLASHPATTERN_H
9
10#include <config.h>
11
12#ifdef USE_GCC_PRAGMAS
13#pragma interface
14#endif
15
16#include "SplashTypes.h"
17
18class SplashScreen;
19
20//------------------------------------------------------------------------
21// SplashPattern
22//------------------------------------------------------------------------
23
24class SplashPattern {
25public:
26
27 SplashPattern();
28
29 virtual SplashPattern *copy() = 0;
30
31 virtual ~SplashPattern();
32
33 // Return the color value for a specific pixel.
34 virtual void getColor(int x, int y, SplashColorPtr c) = 0;
35
36 // Returns true if this pattern object will return the same color
37 // value for all pixels.
38 virtual GBool isStatic() = 0;
39
40private:
41};
42
43//------------------------------------------------------------------------
44// SplashSolidColor
45//------------------------------------------------------------------------
46
47class SplashSolidColor: public SplashPattern {
48public:
49
50 SplashSolidColor(SplashColorPtr colorA);
51
52 virtual SplashPattern *copy() { return new SplashSolidColor(color); }
53
54 virtual ~SplashSolidColor();
55
56 virtual void getColor(int x, int y, SplashColorPtr c);
57
58 virtual GBool isStatic() { return gTrue; }
59
60private:
61
62 SplashColor color;
63};
64
65//------------------------------------------------------------------------
66// SplashHalftone
67//------------------------------------------------------------------------
68
69class SplashHalftone: public SplashPattern {
70public:
71
72 SplashHalftone(SplashColorPtr color0A, SplashColorPtr color1A,
73 SplashScreen *screenA, SplashCoord valueA);
74
75 virtual SplashPattern *copy();
76
77 virtual ~SplashHalftone();
78
79 virtual void getColor(int x, int y, SplashColorPtr c);
80
81 virtual GBool isStatic();
82
83private:
84
85 SplashColor color0, color1;
86 SplashScreen *screen;
87 SplashCoord value;
88};
89
90#endif