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];
swf_SetRect(i->tag,&r);
MATRIX m;
- swf_GetMatrix(0, &m);
+ swf_GetMatrix(0, &m); /* set unit matrix- the real matrix is in the placeobject */
swf_SetMatrix(i->tag,&m);
putcharacters(obj, i->tag);
swf_PlaceObjectFree(&obj);
}
+ i->min_x = x1;
+ i->min_y = y1;
i->max_x = x2;
i->max_y = y2;
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);