From 577e282e21131c72d58c7fad098a50beacdf5daa Mon Sep 17 00:00:00 2001 From: kramm Date: Sat, 18 Dec 2004 08:40:38 +0000 Subject: [PATCH] omit drawing of objects outside the page. --- pdf2swf/swfoutput.cc | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/pdf2swf/swfoutput.cc b/pdf2swf/swfoutput.cc index 8f02182..1c12e46 100644 --- a/pdf2swf/swfoutput.cc +++ b/pdf2swf/swfoutput.cc @@ -97,8 +97,8 @@ typedef struct _swfoutput_internal int lastwasfill; int shapeisempty; char fill; - int max_x; - int max_y; + int min_x,max_x; + int min_y,max_y; TAG* cliptags[128]; int clipshapes[128]; U32 clipdepths[128]; @@ -1507,6 +1507,8 @@ void swfoutput_newpage(struct swfoutput*obj, int pageNum, int movex, int movey, swf_PlaceObjectFree(&obj); } + i->min_x = x1; + i->min_y = y1; i->max_x = x2; i->max_y = y2; @@ -1718,8 +1720,15 @@ static void endshape(swfoutput*obj, int clipdepth) fixAreas(obj); if(i->shapeisempty || + /*bbox empty?*/ (i->bboxrect.xmin == i->bboxrect.xmax && - i->bboxrect.ymin == i->bboxrect.ymax)) + i->bboxrect.ymin == i->bboxrect.ymax) || + /*bbox outside page?*/ + (i->bboxrect.xmax <= i->min_x || + i->bboxrect.ymax <= i->min_y || + i->bboxrect.xmin >= i->max_x || + i->bboxrect.ymin >= i->max_y) + ) { // delete the shape again, we didn't do anything cancelshape(obj); -- 1.7.10.4