"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "splash/SplashState.cc" between
xpdf-4.03.tar.gz and xpdf-4.04.tar.gz

About: Xpdf is a PDF viewer for X.

SplashState.cc  (xpdf-4.03):SplashState.cc  (xpdf-4.04)
skipping to change at line 66 skipping to change at line 66
lineDash = NULL; lineDash = NULL;
lineDashLength = 0; lineDashLength = 0;
lineDashPhase = 0; lineDashPhase = 0;
strokeAdjust = splashStrokeAdjustOff; strokeAdjust = splashStrokeAdjustOff;
clip = new SplashClip(0, 0, width, height); clip = new SplashClip(0, 0, width, height);
clipIsShared = gFalse; clipIsShared = gFalse;
softMask = NULL; softMask = NULL;
deleteSoftMask = gFalse; deleteSoftMask = gFalse;
inNonIsolatedGroup = gFalse; inNonIsolatedGroup = gFalse;
inKnockoutGroup = gFalse; inKnockoutGroup = gFalse;
#if SPLASH_CMYK
rgbTransferR = (Guchar *)gmalloc(8 * 256);
rgbTransferG = rgbTransferR + 256;
rgbTransferB = rgbTransferG + 256;
grayTransfer = rgbTransferB + 256;
cmykTransferC = grayTransfer + 256;
cmykTransferM = cmykTransferC + 256;
cmykTransferY = cmykTransferM + 256;
cmykTransferK = cmykTransferY + 256;
#else
rgbTransferR = (Guchar *)gmalloc(4 * 256);
rgbTransferG = rgbTransferR + 256;
rgbTransferB = rgbTransferG + 256;
grayTransfer = rgbTransferB + 256;
#endif
for (i = 0; i < 256; ++i) { for (i = 0; i < 256; ++i) {
rgbTransferR[i] = (Guchar)i; rgbTransferR[i] = (Guchar)i;
rgbTransferG[i] = (Guchar)i; rgbTransferG[i] = (Guchar)i;
rgbTransferB[i] = (Guchar)i; rgbTransferB[i] = (Guchar)i;
grayTransfer[i] = (Guchar)i; grayTransfer[i] = (Guchar)i;
#if SPLASH_CMYK #if SPLASH_CMYK
cmykTransferC[i] = (Guchar)i; cmykTransferC[i] = (Guchar)i;
cmykTransferM[i] = (Guchar)i; cmykTransferM[i] = (Guchar)i;
cmykTransferY[i] = (Guchar)i; cmykTransferY[i] = (Guchar)i;
cmykTransferK[i] = (Guchar)i; cmykTransferK[i] = (Guchar)i;
#endif #endif
} }
transferIsShared = gFalse;
overprintMask = 0xffffffff; overprintMask = 0xffffffff;
enablePathSimplification = gFalse; enablePathSimplification = gFalse;
next = NULL; next = NULL;
} }
SplashState::SplashState(int width, int height, GBool vectorAntialias, SplashState::SplashState(int width, int height, GBool vectorAntialias,
SplashScreen *screenA) { SplashScreen *screenA) {
SplashColor color; SplashColor color;
int i; int i;
skipping to change at line 113 skipping to change at line 129
lineDash = NULL; lineDash = NULL;
lineDashLength = 0; lineDashLength = 0;
lineDashPhase = 0; lineDashPhase = 0;
strokeAdjust = splashStrokeAdjustOff; strokeAdjust = splashStrokeAdjustOff;
clip = new SplashClip(0, 0, width, height); clip = new SplashClip(0, 0, width, height);
clipIsShared = gFalse; clipIsShared = gFalse;
softMask = NULL; softMask = NULL;
deleteSoftMask = gFalse; deleteSoftMask = gFalse;
inNonIsolatedGroup = gFalse; inNonIsolatedGroup = gFalse;
inKnockoutGroup = gFalse; inKnockoutGroup = gFalse;
#if SPLASH_CMYK
rgbTransferR = (Guchar *)gmalloc(8 * 256);
rgbTransferG = rgbTransferR + 256;
rgbTransferB = rgbTransferG + 256;
grayTransfer = rgbTransferB + 256;
cmykTransferC = grayTransfer + 256;
cmykTransferM = cmykTransferC + 256;
cmykTransferY = cmykTransferM + 256;
cmykTransferK = cmykTransferY + 256;
#else
rgbTransferR = (Guchar *)gmalloc(4 * 256);
rgbTransferG = rgbTransferR + 256;
rgbTransferB = rgbTransferG + 256;
grayTransfer = rgbTransferB + 256;
#endif
for (i = 0; i < 256; ++i) { for (i = 0; i < 256; ++i) {
rgbTransferR[i] = (Guchar)i; rgbTransferR[i] = (Guchar)i;
rgbTransferG[i] = (Guchar)i; rgbTransferG[i] = (Guchar)i;
rgbTransferB[i] = (Guchar)i; rgbTransferB[i] = (Guchar)i;
grayTransfer[i] = (Guchar)i; grayTransfer[i] = (Guchar)i;
#if SPLASH_CMYK #if SPLASH_CMYK
cmykTransferC[i] = (Guchar)i; cmykTransferC[i] = (Guchar)i;
cmykTransferM[i] = (Guchar)i; cmykTransferM[i] = (Guchar)i;
cmykTransferY[i] = (Guchar)i; cmykTransferY[i] = (Guchar)i;
cmykTransferK[i] = (Guchar)i; cmykTransferK[i] = (Guchar)i;
#endif #endif
} }
transferIsShared = gFalse;
overprintMask = 0xffffffff; overprintMask = 0xffffffff;
enablePathSimplification = gFalse; enablePathSimplification = gFalse;
next = NULL; next = NULL;
} }
SplashState::SplashState(SplashState *state) { SplashState::SplashState(SplashState *state) {
memcpy(matrix, state->matrix, 6 * sizeof(SplashCoord)); memcpy(matrix, state->matrix, 6 * sizeof(SplashCoord));
strokePattern = state->strokePattern->copy(); strokePattern = state->strokePattern->copy();
fillPattern = state->fillPattern->copy(); fillPattern = state->fillPattern->copy();
screen = state->screen->copy(); screen = state->screen->copy();
skipping to change at line 159 skipping to change at line 191
lineDashLength = 0; lineDashLength = 0;
} }
lineDashPhase = state->lineDashPhase; lineDashPhase = state->lineDashPhase;
strokeAdjust = state->strokeAdjust; strokeAdjust = state->strokeAdjust;
clip = state->clip; clip = state->clip;
clipIsShared = gTrue; clipIsShared = gTrue;
softMask = state->softMask; softMask = state->softMask;
deleteSoftMask = gFalse; deleteSoftMask = gFalse;
inNonIsolatedGroup = state->inNonIsolatedGroup; inNonIsolatedGroup = state->inNonIsolatedGroup;
inKnockoutGroup = state->inKnockoutGroup; inKnockoutGroup = state->inKnockoutGroup;
memcpy(rgbTransferR, state->rgbTransferR, 256); rgbTransferR = state->rgbTransferR;
memcpy(rgbTransferG, state->rgbTransferG, 256); rgbTransferG = state->rgbTransferG;
memcpy(rgbTransferB, state->rgbTransferB, 256); rgbTransferB = state->rgbTransferB;
memcpy(grayTransfer, state->grayTransfer, 256); grayTransfer = state->grayTransfer;
#if SPLASH_CMYK #if SPLASH_CMYK
memcpy(cmykTransferC, state->cmykTransferC, 256); cmykTransferC = state->cmykTransferC;
memcpy(cmykTransferM, state->cmykTransferM, 256); cmykTransferM = state->cmykTransferM;
memcpy(cmykTransferY, state->cmykTransferY, 256); cmykTransferY = state->cmykTransferY;
memcpy(cmykTransferK, state->cmykTransferK, 256); cmykTransferK = state->cmykTransferK;
#endif #endif
transferIsShared = gTrue;
overprintMask = state->overprintMask; overprintMask = state->overprintMask;
enablePathSimplification = state->enablePathSimplification; enablePathSimplification = state->enablePathSimplification;
next = NULL; next = NULL;
} }
SplashState::~SplashState() { SplashState::~SplashState() {
delete strokePattern; delete strokePattern;
delete fillPattern; delete fillPattern;
delete screen; delete screen;
gfree(lineDash); gfree(lineDash);
if (!clipIsShared) { if (!clipIsShared) {
delete clip; delete clip;
} }
if (!transferIsShared) {
gfree(rgbTransferR);
}
if (deleteSoftMask && softMask) { if (deleteSoftMask && softMask) {
delete softMask; delete softMask;
} }
} }
void SplashState::setStrokePattern(SplashPattern *strokePatternA) { void SplashState::setStrokePattern(SplashPattern *strokePatternA) {
delete strokePattern; delete strokePattern;
strokePattern = strokePatternA; strokePattern = strokePatternA;
} }
skipping to change at line 268 skipping to change at line 304
SplashError SplashState::clipToPath(SplashPath *path, GBool eo) { SplashError SplashState::clipToPath(SplashPath *path, GBool eo) {
if (clipIsShared) { if (clipIsShared) {
clip = clip->copy(); clip = clip->copy();
clipIsShared = gFalse; clipIsShared = gFalse;
} }
return clip->clipToPath(path, matrix, flatness, eo, return clip->clipToPath(path, matrix, flatness, eo,
enablePathSimplification, strokeAdjust); enablePathSimplification, strokeAdjust);
} }
void SplashState::setSoftMask(SplashBitmap *softMaskA) { void SplashState::setSoftMask(SplashBitmap *softMaskA, GBool deleteBitmap) {
if (deleteSoftMask) { if (deleteSoftMask) {
delete softMask; delete softMask;
} }
softMask = softMaskA; softMask = softMaskA;
deleteSoftMask = gTrue; deleteSoftMask = deleteBitmap;
} }
void SplashState::setTransfer(Guchar *red, Guchar *green, Guchar *blue, void SplashState::setTransfer(Guchar *red, Guchar *green, Guchar *blue,
Guchar *gray) { Guchar *gray) {
#if SPLASH_CMYK #if SPLASH_CMYK
int i; int i;
#endif #endif
if (transferIsShared) {
#if SPLASH_CMYK
rgbTransferR = (Guchar *)gmalloc(8 * 256);
rgbTransferG = rgbTransferR + 256;
rgbTransferB = rgbTransferG + 256;
grayTransfer = rgbTransferB + 256;
cmykTransferC = grayTransfer + 256;
cmykTransferM = cmykTransferC + 256;
cmykTransferY = cmykTransferM + 256;
cmykTransferK = cmykTransferY + 256;
#else
rgbTransferR = (Guchar *)gmalloc(4 * 256);
rgbTransferG = rgbTransferR + 256;
rgbTransferB = rgbTransferG + 256;
grayTransfer = rgbTransferB + 256;
#endif
transferIsShared = gFalse;
}
memcpy(rgbTransferR, red, 256); memcpy(rgbTransferR, red, 256);
memcpy(rgbTransferG, green, 256); memcpy(rgbTransferG, green, 256);
memcpy(rgbTransferB, blue, 256); memcpy(rgbTransferB, blue, 256);
memcpy(grayTransfer, gray, 256); memcpy(grayTransfer, gray, 256);
#if SPLASH_CMYK #if SPLASH_CMYK
for (i = 0; i < 256; ++i) { for (i = 0; i < 256; ++i) {
cmykTransferC[i] = (Guchar)(255 - rgbTransferR[255 - i]); cmykTransferC[i] = (Guchar)(255 - rgbTransferR[255 - i]);
cmykTransferM[i] = (Guchar)(255 - rgbTransferG[255 - i]); cmykTransferM[i] = (Guchar)(255 - rgbTransferG[255 - i]);
cmykTransferY[i] = (Guchar)(255 - rgbTransferB[255 - i]); cmykTransferY[i] = (Guchar)(255 - rgbTransferB[255 - i]);
cmykTransferK[i] = (Guchar)(255 - grayTransfer[255 - i]); cmykTransferK[i] = (Guchar)(255 - grayTransfer[255 - i]);
 End of changes. 10 change blocks. 
11 lines changed or deleted 65 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)