X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=pdf2swf%2Fxpdf%2FGfx.cc;h=e86d6b1e2865e173d1d7718a1c612cb6fb48ed0b;hb=f5fbd173ec19772ac0689d8644b90b36ec0a7daa;hp=a52aa02ac8dbfe71ca43cf3774e3d2a047f8f7ca;hpb=c7432833fe3a6469d63fad135151a92e12877b94;p=swftools.git diff --git a/pdf2swf/xpdf/Gfx.cc b/pdf2swf/xpdf/Gfx.cc index a52aa02..e86d6b1 100644 --- a/pdf2swf/xpdf/Gfx.cc +++ b/pdf2swf/xpdf/Gfx.cc @@ -424,7 +424,7 @@ Gfx::Gfx(XRef *xrefA, OutputDev *outA, int pageNum, Dict *resDict, fontChanged = gFalse; clip = clipNone; ignoreUndef = 0; - out->startPage(pageNum, state); + out->startPage(pageNum, state, cropBox->x1,cropBox->y1,cropBox->x2,cropBox->y2); out->setDefaultCTM(state->getCTM()); out->updateAll(state); for (i = 0; i < 6; ++i) { @@ -435,7 +435,7 @@ Gfx::Gfx(XRef *xrefA, OutputDev *outA, int pageNum, Dict *resDict, abortCheckCbkData = abortCheckCbkDataA; // set crop box - if (crop) { + /*if (crop) { state->moveTo(cropBox->x1, cropBox->y1); state->lineTo(cropBox->x2, cropBox->y1); state->lineTo(cropBox->x2, cropBox->y2); @@ -444,7 +444,7 @@ Gfx::Gfx(XRef *xrefA, OutputDev *outA, int pageNum, Dict *resDict, state->clip(); out->clip(state); state->clearPath(); - } + }*/ } Gfx::Gfx(XRef *xrefA, OutputDev *outA, Dict *resDict, @@ -1581,6 +1581,8 @@ void Gfx::doFunctionShFill1(GfxFunctionShading *shading, // center of the rectangle xM = 0.5 * (x0 + x1); yM = 0.5 * (y0 + y1); + + out->useGradients(); // the four corner colors are close (or we hit the recursive limit) // -- fill the rectangle; but require at least one subdivision @@ -1799,6 +1801,9 @@ void Gfx::doAxialShFill(GfxAxialShading *shading) { vy0 = ty + sMax * dx; i = 0; + if(i < axialMaxSplits) + out->useGradients(); + while (i < axialMaxSplits) { // bisect until color difference is small enough or we hit the @@ -2009,6 +2014,9 @@ void Gfx::doRadialShFill(GfxRadialShading *shading) { shading->getColor(ta, &colorA); } + if(ia < radialMaxSplits) + out->useGradients(); + while (ia < radialMaxSplits) { // go as far along the t axis (toward t1) as we can, such that the