index 0a278bb6986fcfb884b9d0d0bfa1b659b50ec320..96bda98806a6ed2a0a7920528908906fe74fcc2a 100644 (file)
delete ctrlline->shp;
ctrlline->shp = NULL;
}
-
+
if (GTK_OBJECT_CLASS (parent_class)->destroy)
(* GTK_OBJECT_CLASS (parent_class)->destroy) (object);
}
@@ -141,8 +141,13 @@ sp_ctrlline_update (SPCanvasItem *item, NR::Matrix const &affine, unsigned int f
Path* thePath = new Path;
thePath->MoveTo(NR::Point(cl->s.x, cl->s.y) * affine);
thePath->LineTo(NR::Point(cl->e.x, cl->e.y) * affine);
-
- thePath->Convert(1.0);
+
+ NRRectL area;
+ area.x0=(NR::ICoord)(double)item->x1;
+ area.x1=(NR::ICoord)(double)item->x2;
+ area.y0=(NR::ICoord)(double)item->y1;
+ area.y1=(NR::ICoord)(double)item->y2;
+ thePath->Convert(&area, 1.0);
if ( cl->shp == NULL ) cl->shp=new Shape;
thePath->Stroke(cl->shp,false,0.5,join_straight,butt_straight,20.0,false);
cl->shp->CalcBBox();
@@ -158,7 +163,7 @@ sp_ctrlline_update (SPCanvasItem *item, NR::Matrix const &affine, unsigned int f
}
}
delete thePath;
-
+
item->x1 = (int)dbox.x0;
item->y1 = (int)dbox.y0;
item->x2 = (int)dbox.x1;