public override Path draw(Insert insert) { center.X += insert.anchor.X; center.Y += insert.anchor.Y; Path path = draw(); center.X -= insert.anchor.X; center.Y -= insert.anchor.Y; path.RenderTransform = insert.getTransforms(path.RenderTransform); return(path); }
public override Path draw(Insert insert) { anchor.X += insert.anchor.X; anchor.Y += insert.anchor.Y; xScale *= insert.xScale; yScale *= insert.yScale; angle -= insert.angle; Path path = draw(); anchor.X -= insert.anchor.X; anchor.Y -= insert.anchor.Y; xScale /= insert.xScale; yScale /= insert.yScale; angle += insert.angle; path.RenderTransform = insert.getTransforms(path.RenderTransform); return(path); }
public override Path draw(Insert insert) { for (int i = 0; i < vertices.Length; i++) { vertices[i].lastVertex.X += insert.anchor.X; vertices[i].lastVertex.Y += insert.anchor.Y; vertices[i].vertex.X += insert.anchor.X; vertices[i].vertex.Y += insert.anchor.Y; } Path path = draw(); for (int i = 0; i < vertices.Length; i++) { vertices[i].lastVertex.X -= insert.anchor.X; vertices[i].lastVertex.Y -= insert.anchor.Y; vertices[i].vertex.X -= insert.anchor.X; vertices[i].vertex.Y -= insert.anchor.Y; } path.RenderTransform = insert.getTransforms(path.RenderTransform); return(path); }
public override Path draw(Insert insert) { //Add the offset from the composite entity for (int i = 0; i < vertices.Length; i++) { vertices[i].X += insert.anchor.X; vertices[i].Y += insert.anchor.Y; } //Draw the offset entity Path path = this.draw(); //Revert the offset from the composite entity for (int i = 0; i < vertices.Length; i++) { vertices[i].X -= insert.anchor.X; vertices[i].Y -= insert.anchor.Y; } //Apply block level scale and rotation transforms path.RenderTransform = insert.getTransforms(path.RenderTransform); //return the offset entity leaving the object unaltered return(path); }