anchor.diff:  // 2d drawing
   Procedure DrawPoint2D(View:Viewport; Const P:Vector2D; FillColor:Color; Radius:Single = 2.0);
   Procedure DrawLine2D(View:Viewport; Const A,B:Vector2D; LineColor:Color; LineWidth:Single = 1.0);
  +Procedure DrawCircle(View:Viewport; Const P:Vector2D; Radius:Single; LineColor:Color; LineWidth:Single = 1.0);
   Procedure DrawRectangle(View:Viewport; Const A,B:Vector2D; LineColor:Color; LineWidth:Single = 1.0);
   Procedure DrawFilledRect(View:Viewport; Const A,B:Vector2D; FillColor:Color);
   Procedure DrawPolygon2D(View:Viewport; Poly:Polygon2D; LineColor:Color; LineWidth:Single = 1.0);
  
positive.code:   DY := A.Y - B.Y;
    Angle := Atan2(DY, DX);
  
    S := SpriteManager.Instance.DrawSprite(A.X, A.Y, Layer, Tex);
    S.SetColor(LineColor);
    S.Rect.Width := Trunc(A.Distance(B));
    S.Rect.Height := Trunc(LineWidth);
  
negative.code:   S.Rect.Width := Trunc(LineWidth);
    S.Rect.Height := Trunc(MaxY-MinY);
  //  S.ClipRect := Clip;
  End;
  
  Procedure DrawCircle(View:Viewport; Const P:Vector2D; Radius:Single; LineColor:Color; LineWidth:Single = 1.0);
  Const
    SubDivs = 32;
  Var
    I:Integer;
    A, B:Vector2D;
    DX, DY, Angle:Single;
  Begin
    DX := 1.0;
    DY := 0.0;
  
    For I:=1 To SubDivs Do
    Begin
      Angle := (I/SubDivs) * PI * 2;
      A := VectorCreate2D(P.X + DX * Radius, P.Y + DY * Radius);
  
      DX := Cos(Angle);
      DY := Sin(Angle);
      B := VectorCreate2D(P.X + DX * Radius, P.Y + DY * Radius);
  
      DrawLine2D(View, A, B, LineColor, LineWidth);
    End;
  End;
  
  Procedure DrawPolygon2D(View:Viewport; Poly:Polygon2D; LineColor:Color; LineWidth:Single);
  