mirror of
https://github.com/reactos/reactos.git
synced 2025-03-10 10:14:44 +00:00

* sumatrapdf - vendor import * everything compiles (libjpeg, poppler, fitz, sumatrapdf) * does NOT link (remove the comment tags in the parent directory.rbuild file (rosapps dir) to build it) svn path=/trunk/; revision=29295
89 lines
2.2 KiB
C++
89 lines
2.2 KiB
C++
//========================================================================
|
|
//
|
|
// SplashState.h
|
|
//
|
|
//========================================================================
|
|
|
|
#ifndef SPLASHSTATE_H
|
|
#define SPLASHSTATE_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;
|
|
SplashBlendFunc blendFunc;
|
|
SplashCoord strokeAlpha;
|
|
SplashCoord fillAlpha;
|
|
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
|