var
x1, y1, x2, y2, w1, h1, w2, h2, px1, py1, px2, py2: Integer ;
cx1, cy1, cx2, cy2, len, dx, dy, r1, r2: Double;
begin
x1 : = 200 ; y1 : = 200 ; w1 : = 100 ; h1 : = 68 ;
x2 : = 400 ; y2 : = 300 ; w2 : = 120 ; h2 : = 190 ;
cx1 : = x1 + w1/ 2 ;
cy1 : = y1 + h1/ 2 ;
cx2 : = x2 + w2/ 2 ;
cy2 : = y2 + h2/ 2 ;
dx : = cx2 - cx1;
dy : = cy2 - cy1;
len : = Hypot( dx, dy) ;
dx : = dx / len;
dy : = dy / len;
r1 : = 0.5 * w1 * h1 / Sqrt ( w1* w1* dy* dy+ h1* h1* dx* dx) ;
px1 : = Round( cx1 + r1 * dx) ;
py1 : = Round( cy1 + r1 * dy) ;
r2 : = 0.5 * w2 * h2 / sqrt ( w2* w2* dy* dy+ h2* h2* dx* dx) ;
px2 : = Round( cx2 - r2 * dx) ;
py2 : = Round( cy2 - r2 * dy) ;
Canvas. Ellipse ( x1, y1, x1 + w1, y1 + h1) ;
Canvas. Ellipse ( x2, y2, x2 + w2, y2 + h2) ;
Canvas. MoveTo ( px1, py1) ;
Canvas. LineTo ( px2, py2) ;
dmFyCiAgeDEsIHkxLCB4MiwgeTIsIHcxLCBoMSwgdzIsIGgyLCBweDEsIHB5MSwgcHgyLCBweTI6IEludGVnZXI7CiAgY3gxLCBjeTEsIGN4MiwgY3kyLCBsZW4sIGR4LCBkeSwgcjEsIHIyOiBEb3VibGU7CmJlZ2luCiAgeDEgOj0gMjAwOyAgeTEgOj0gMjAwOyAgdzEgOj0gMTAwOyAgaDEgOj0gNjg7CiAgeDIgOj0gNDAwOyAgeTIgOj0gMzAwOyAgdzIgOj0gMTIwOyAgaDIgOj0gMTkwOwoKICBjeDEgOj0geDEgKyB3MS8yOwogIGN5MSA6PSB5MSArIGgxLzI7CiAgY3gyIDo9IHgyICsgdzIvMjsKICBjeTIgOj0geTIgKyBoMi8yOwoKICBkeCA6PSBjeDIgLSBjeDE7CiAgZHkgOj0gY3kyIC0gY3kxOwogIGxlbiAgOj0gSHlwb3QoZHgsIGR5KTsKICBkeCA6PSBkeCAvIGxlbjsKICBkeSA6PSBkeSAvIGxlbjsKCiAgcjEgOj0gMC41ICogdzEgKiBoMSAvIFNxcnQodzEqdzEqZHkqZHkraDEqaDEqZHgqZHgpOwogIHB4MSA6PSBSb3VuZChjeDEgKyByMSAqIGR4KTsKICBweTEgOj0gUm91bmQoY3kxICsgcjEgKiBkeSk7CgogIHIyIDo9IDAuNSAqIHcyICogaDIgLyBzcXJ0KHcyKncyKmR5KmR5K2gyKmgyKmR4KmR4KTsKICBweDIgOj0gUm91bmQoY3gyIC0gcjIgKiBkeCk7CiAgcHkyIDo9IFJvdW5kKGN5MiAtIHIyICogZHkpOwoKICBDYW52YXMuRWxsaXBzZSh4MSwgeTEsIHgxICsgdzEsIHkxICsgaDEpOwogIENhbnZhcy5FbGxpcHNlKHgyLCB5MiwgeDIgKyB3MiwgeTIgKyBoMik7CiAgQ2FudmFzLk1vdmVUbyhweDEsIHB5MSk7CiAgQ2FudmFzLkxpbmVUbyhweDIsIHB5Mik7
compilation info
Free Pascal Compiler version 3.0.0+dfsg-10 [2016/12/12] for x86_64
Copyright (c) 1993-2015 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling prog.pas
prog.pas(15,11) Error: Identifier not found "Hypot"
prog.pas(27,3) Error: Identifier not found "Canvas"
prog.pas(28,3) Error: Identifier not found "Canvas"
prog.pas(29,3) Error: Identifier not found "Canvas"
prog.pas(30,3) Error: Identifier not found "Canvas"
prog.pas(30,26) Fatal: Unexpected end of file
Fatal: Compilation aborted
Error: /usr/bin/ppcx64 returned an error exitcode
stdout