Simba Code:
program new;
function DebugATPAEx(aPoints: T2DPointArray; BmpName: string; Colors: TIntegerArray): Boolean;
var
Width, Height, ClientBMP{$ifdef scar}, I, L, h, hh{$endif}: Integer;
{$ifdef Simba} ATPA : T2DPointArray; {$endif}
Box : TBox;
begin
result := false;
if length(aPoints) = 0 then
exit;
Box := GetATPABounds(aPoints);
Width := box.x2 - box.x1 + 1;
Height := box.y2 - box.y1 + 1;
DisplayDebugImgWindow(Width, Height);
{$ifdef Simba}
ClientBMP := BitmapFromClient(box.x1,box.y1,box.x2,box.y2);
ATPA := CopyATPA(aPoints);
OffsetATPA(ATPA,point(-box.x1,-box.y1));
DrawATPABitmap(ClientBMP,ATPA);
DrawBitmapDebugImg(ClientBMP);
{$else}
ClientBMP := BitmapFromString(Width, Height, '');
CopyClientToBitmap(ClientBMP, box.x1, box.y1, box.x2, box.y2);
H := High(aPoints);
for I := 0 to H do
begin
HH := High(aPoints[i]);
for L := 0 to HH do
FastSetPixel(ClientBMP, aPoints[i][L].X - box.x1, aPoints[i][L].Y - box.y1, Colors[I]);
end;
SafeDrawBitmap(ClientBMP, GetDebugCanvas, 0, 0);
{$endif}
if BmpName <> '' then
SaveBitmap(ClientBMP, ScriptPath + BmpName + '.bmp');
FreeBitmap(ClientBMP);
Result := True;
end;
procedure one;
var
a,b,x,y,i,w,h: integer;
tpoint1,tpoint2,tpoint3:tpoint;
tpa1,tpa2,tpa3:tpointarray;
atpa1,atpa2,atpa3:t2dpointarray;
box1,box2,box3:tbox;
tba1,tba2,tba3:tboxarray;
begin
GetClientDimensions(w,h);
FindColors(tpa1,32896,0,0,w-1,h-1);
//splittpaWrap(tpa1,10,atpa1);
tpatoatpaexwrap(tpa1,42,42,atpa1);
writeln(length(atpa1));
DebugATPAEx(atpa1,'mspaintsimbaex', [clAqua]);
end;
begin
one;
end.