You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.2 KiB
88 lines
2.2 KiB
//======================================================================== |
|
// |
|
// SplashState.h |
|
// |
|
//======================================================================== |
|
|
|
#ifndef SPLASHSTATE_H |
|
#define SPLASHSTATE_H |
|
|
|
#include <aconf.h> |
|
|
|
#ifdef USE_GCC_PRAGMAS |
|
#pragma interface |
|
#endif |
|
|
|
#include "SplashTypes.h" |
|
|
|
class SplashPattern; |
|
class SplashScreen; |
|
class SplashClip; |
|
|
|
//------------------------------------------------------------------------ |
|
// line cap values |
|
//------------------------------------------------------------------------ |
|
|
|
#define splashLineCapButt 0 |
|
#define splashLineCapRound 1 |
|
#define splashLineCapProjecting 2 |
|
|
|
//------------------------------------------------------------------------ |
|
// line join values |
|
//------------------------------------------------------------------------ |
|
|
|
#define splashLineJoinMiter 0 |
|
#define splashLineJoinRound 1 |
|
#define splashLineJoinBevel 2 |
|
|
|
//------------------------------------------------------------------------ |
|
// SplashState |
|
//------------------------------------------------------------------------ |
|
|
|
class SplashState { |
|
public: |
|
|
|
// Create a new state object, initialized with default settings. |
|
SplashState(int width, int height); |
|
|
|
// Copy a state object. |
|
SplashState *copy() { return new SplashState(this); } |
|
|
|
~SplashState(); |
|
|
|
// Set the stroke pattern. This does not copy <strokePatternA>. |
|
void setStrokePattern(SplashPattern *strokePatternA); |
|
|
|
// Set the fill pattern. This does not copy <fillPatternA>. |
|
void setFillPattern(SplashPattern *fillPatternA); |
|
|
|
// Set the screen. This does not copy <screenA>. |
|
void setScreen(SplashScreen *screenA); |
|
|
|
// Set the line dash pattern. This copies the <lineDashA> array. |
|
void setLineDash(SplashCoord *lineDashA, int lineDashLengthA, |
|
SplashCoord lineDashPhaseA); |
|
|
|
private: |
|
|
|
SplashState(SplashState *state); |
|
|
|
SplashPattern *strokePattern; |
|
SplashPattern *fillPattern; |
|
SplashScreen *screen; |
|
SplashCoord lineWidth; |
|
int lineCap; |
|
int lineJoin; |
|
SplashCoord miterLimit; |
|
SplashCoord flatness; |
|
SplashCoord *lineDash; |
|
int lineDashLength; |
|
SplashCoord lineDashPhase; |
|
SplashClip *clip; |
|
|
|
SplashState *next; // used by Splash class |
|
|
|
friend class Splash; |
|
}; |
|
|
|
#endif
|
|
|