📄 splashstate.cc
字号:
//========================================================================//// SplashState.cc////========================================================================#include <aconf.h>#ifdef USE_GCC_PRAGMAS#pragma implementation#endif#include <string.h>#include "gmem.h"#include "SplashPattern.h"#include "SplashScreen.h"#include "SplashClip.h"#include "SplashState.h"//------------------------------------------------------------------------// SplashState//------------------------------------------------------------------------// number of components in each color modeint splashColorModeNComps[] = { 1, 1, 2, 3, 3, 4, 4};SplashState::SplashState(int width, int height) { SplashColor color; memset(&color, 0, sizeof(SplashColor)); strokePattern = new SplashSolidColor(color); fillPattern = new SplashSolidColor(color); screen = new SplashScreen(10); blendFunc = NULL; strokeAlpha = 1; fillAlpha = 1; lineWidth = 0; lineCap = splashLineCapButt; lineJoin = splashLineJoinMiter; miterLimit = 10; flatness = 1; lineDash = NULL; lineDashLength = 0; lineDashPhase = 0; clip = new SplashClip(0, 0, width - 1, height - 1); next = NULL;}SplashState::SplashState(SplashState *state) { strokePattern = state->strokePattern->copy(); fillPattern = state->fillPattern->copy(); screen = state->screen->copy(); blendFunc = state->blendFunc; strokeAlpha = state->strokeAlpha; fillAlpha = state->fillAlpha; lineWidth = state->lineWidth; lineCap = state->lineCap; lineJoin = state->lineJoin; miterLimit = state->miterLimit; flatness = state->flatness; if (state->lineDash) { lineDashLength = state->lineDashLength; lineDash = (SplashCoord *)gmallocn(lineDashLength, sizeof(SplashCoord)); memcpy(lineDash, state->lineDash, lineDashLength * sizeof(SplashCoord)); } else { lineDash = NULL; lineDashLength = 0; } lineDashPhase = state->lineDashPhase; clip = state->clip->copy(); next = NULL;}SplashState::~SplashState() { delete strokePattern; delete fillPattern; delete screen; gfree(lineDash); delete clip;}void SplashState::setStrokePattern(SplashPattern *strokePatternA) { delete strokePattern; strokePattern = strokePatternA;}void SplashState::setFillPattern(SplashPattern *fillPatternA) { delete fillPattern; fillPattern = fillPatternA;}void SplashState::setScreen(SplashScreen *screenA) { delete screen; screen = screenA;}void SplashState::setLineDash(SplashCoord *lineDashA, int lineDashLengthA, SplashCoord lineDashPhaseA) { gfree(lineDash); lineDashLength = lineDashLengthA; if (lineDashLength > 0) { lineDash = (SplashCoord *)gmallocn(lineDashLength, sizeof(SplashCoord)); memcpy(lineDash, lineDashA, lineDashLength * sizeof(SplashCoord)); } else { lineDash = NULL; } lineDashPhase = lineDashPhaseA;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -