I'm late, but here's your function.
Simba Code:
function PixelShiftCircle(CenterX, CenterY, Radius, T: Integer): Integer;
var
BMP, BMP2: Integer;
CIRCLETPA: TPointArray;
B: TBox;
begin
CIRCLETPA := TPAFromCircle(CenterX, CenterY, Radius);
FillEllipse(CIRCLETPA);
B := GetTPABounds(CIRCLETPA);
OffsetTPA(CIRCLETPA, Point(-CenterX + Radius, -CenterY + Radius));
BMP := BitmapFromClient(B.x1,B.y1,B.x2,B.y2);
Wait(T);
BMP2 := BitmapFromClient(B.x1,B.y1,B.x2,B.y2);
Result := CalculatePixelShiftTPA(BMP, BMP2, CIRCLETPA);
FreeBitmap(BMP);
FreeBitmap(BMP2);
end;