X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fpdf%2FBitmapOutputDev.cc;h=c9cbd0c9e3621ff2735f367603288ce252ed03f3;hb=6a529bfa890997a55fec9ae0e0d388cf9d5276c2;hp=8148a8167be9baddfaaea2818f61dfc25283dd0c;hpb=5437824ac399626ab2219baa59b94fb0b2772b29;p=swftools.git diff --git a/lib/pdf/BitmapOutputDev.cc b/lib/pdf/BitmapOutputDev.cc index 8148a81..c9cbd0c 100644 --- a/lib/pdf/BitmapOutputDev.cc +++ b/lib/pdf/BitmapOutputDev.cc @@ -552,6 +552,14 @@ void BitmapOutputDev::startPage(int pageNum, GfxState *state, double crop_x1, do void BitmapOutputDev::endPage() { msg(" endPage (BitmapOutputDev)"); + + /* notice: we're not fully done yet with this page- there might still be + a few calls to drawLink() yet to come */ +} +void BitmapOutputDev::finishPage() +{ + msg(" finishPage (BitmapOutputDev)"); + gfxdev->endPage(); if(layerstate == STATE_BITMAP_IS_ABOVE) { this->flushText(); @@ -568,7 +576,6 @@ void BitmapOutputDev::endPage() rgbdev->endPage(); clip0dev->endPage(); clip1dev->endPage(); - gfxdev->endPage(); } GBool BitmapOutputDev::upsideDown() @@ -1017,7 +1024,6 @@ void BitmapOutputDev::clip(GfxState *state) } void BitmapOutputDev::eoClip(GfxState *state) { - return; msg(" eoClip"); boolpolydev->eoClip(state); booltextdev->eoClip(state); @@ -1272,7 +1278,9 @@ void BitmapOutputDev::beginTransparencyGroup(GfxState *state, double *bbox, #if (xpdfMajorVersion*10000 + xpdfMinorVersion*100 + xpdfUpdateVersion) < 30207 GfxState*state1 = state->copy(); GfxState*state2 = state->copy(); + state1->setPath(0); state1->setPath(state->getPath()->copy()); + state2->setPath(0); state2->setPath(state->getPath()->copy()); #else GfxState*state1 = state->copy(gTrue); @@ -1290,7 +1298,9 @@ void BitmapOutputDev::endTransparencyGroup(GfxState *state) #if (xpdfMajorVersion*10000 + xpdfMinorVersion*100 + xpdfUpdateVersion) < 30207 GfxState*state1 = state->copy(); GfxState*state2 = state->copy(); + state1->setPath(0); state1->setPath(state->getPath()->copy()); + state2->setPath(0); state2->setPath(state->getPath()->copy()); #else GfxState*state1 = state->copy(gTrue);