|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef SPLASHPATTERN_H |
|
#define SPLASHPATTERN_H |
|
|
|
#include "SplashTypes.h" |
|
#include "poppler_private_export.h" |
|
|
|
class SplashScreen; |
|
|
|
|
|
|
|
|
|
|
|
class POPPLER_PRIVATE_EXPORT SplashPattern |
|
{ |
|
public: |
|
SplashPattern(); |
|
|
|
virtual SplashPattern *copy() const = 0; |
|
|
|
virtual ~SplashPattern(); |
|
|
|
SplashPattern(const SplashPattern &) = delete; |
|
SplashPattern &operator=(const SplashPattern &) = delete; |
|
|
|
|
|
virtual bool getColor(int x, int y, SplashColorPtr c) = 0; |
|
|
|
|
|
virtual bool testPosition(int x, int y) = 0; |
|
|
|
|
|
|
|
virtual bool isStatic() = 0; |
|
|
|
|
|
virtual bool isCMYK() = 0; |
|
|
|
private: |
|
}; |
|
|
|
|
|
|
|
|
|
|
|
class POPPLER_PRIVATE_EXPORT SplashSolidColor : public SplashPattern |
|
{ |
|
public: |
|
explicit SplashSolidColor(SplashColorConstPtr colorA); |
|
|
|
SplashPattern *copy() const override { return new SplashSolidColor(color); } |
|
|
|
~SplashSolidColor() override; |
|
|
|
bool getColor(int x, int y, SplashColorPtr c) override; |
|
|
|
bool testPosition(int x, int y) override { return false; } |
|
|
|
bool isStatic() override { return true; } |
|
|
|
bool isCMYK() override { return false; } |
|
|
|
private: |
|
SplashColor color; |
|
}; |
|
|
|
|
|
|
|
|
|
|
|
class SplashGouraudColor : public SplashPattern |
|
{ |
|
public: |
|
~SplashGouraudColor() override; |
|
|
|
virtual bool isParameterized() = 0; |
|
|
|
virtual int getNTriangles() = 0; |
|
|
|
virtual void getParametrizedTriangle(int i, double *x0, double *y0, double *color0, double *x1, double *y1, double *color1, double *x2, double *y2, double *color2) = 0; |
|
|
|
virtual void getNonParametrizedTriangle(int i, SplashColorMode mode, double *x0, double *y0, SplashColorPtr color0, double *x1, double *y1, SplashColorPtr color1, double *x2, double *y2, SplashColorPtr color2) = 0; |
|
|
|
virtual void getParameterizedColor(double t, SplashColorMode mode, SplashColorPtr c) = 0; |
|
}; |
|
|
|
#endif |
|
|