Is there any reason why AutoMoveTo uses the Rotated coordinates of the defined point but AutoLineTo uses the unRotated coordinates? This makes a real mess of a drawing if the Block is rotated. I have modified AutoLineTo to use RotX() and it works fine for me (so far). Would it be possible to either change this or add a proper procedure that includes Rotation?
procedure TBlockDrawer.AutoLineTo(X, Y: double);
var
P: TPoint;
begin
if Canvas <> nil then
begin
P := RoundPoint(PP(X, Y));
Canvas.LineTo(P.X, P.Y);
end;
end;
procedure TBlockDrawer.AutoMoveTo(X, Y: double);
var
P: TPoint;
begin
if Canvas <> nil then
begin
P := RoundPoint(RotX(PP(X, Y)));
Canvas.MoveTo(P.X, P.Y);
end;
end;