Simba/Tests/PS/dtmtest2.mufa

61 lines
1.3 KiB
Plaintext

program new;
const
dtm_Rectangle = 0;
dtm_Cross = 1;
dtm_DiagonalCross = 2;
dtm_Circle = 3;
dtm_Triangle = 4;
var
ppdtm: pdtm;
w,h,x,y,dtm,i: integer;
a: extended;
p,pp: TPointArray;
c,t,asz,ash: TIntegerArray;
begin
p := [Point(0,0), Point(1,1), Point(-4, -4)];
c := [clWhite, clWhite, clWhite];
t := [0, 0, 0];
asz := [0, 4, 4];
ash := [dtm_Rectangle, dtm_Rectangle, dtm_Rectangle];
setlength(ppdtm.p,2);
setlength(ppdtm.c,2);
setlength(ppdtm.t,2);
setlength(ppdtm.asz,2);
setlength(ppdtm.ash,2);
ppdtm.p := p;
ppdtm.c := c;
ppdtm.t := t;
ppdtm.asz := asz;
ppdtm.ash := ash;
dtm := AddpDTM(ppdtm);
getclientdimensions(w,h);
writeln(inttostr(w) + ', ' + inttostr(h));
if FindDTM(dtm, x, y, 0, 0, w-1, h-1) then
begin
writeln('Found DTM at ' + inttostr(x) + ', ' + inttostr(y));
movemouse(x,y);
end;
if FindDTMs(dtm, p, 0, 0, w-1, h-1) then
begin
writeln('Found ' + inttostr(length(p)) + ' DTM(s). First one at ' +
inttostr(p[0].x) + ', ' + inttostr(p[0].y));
movemouse(p[0].x,p[0].y);
end;
if FindDTMRotated(dtm, x, y, 0, 0, w-1, h-1, -3.14, 3.14, 0.05, a) then
begin
writeln('Found DTM at ' + inttostr(x) + ', ' + inttostr(y) + ' Angle: ' + FloatToStr(a));
movemouse(x,y);
end;
end.