Private CurrentPosition As Int
Private BeginTime As Long = DateTime.Now
CurrentPosition = MoveTo
Dim tempValueA As Float
Do While DateTime.Now < BeginTime + Duration
tempValueA = CallAnimation(DateTime.Now - BeginTime, MoveFrom, MoveTo - MoveFrom, Duration)
' tempValueA = CubicTimeEaseInOut(DateTime.Now - BeginTime, MoveFrom, MoveTo - MoveFrom, Duration)
DrawCircle(tempValueA)
Sleep(5)
If MoveTo <> CurrentPosition Then Return 'will happen if another update has started
DrawMovingDot(DateTime.Now - BeginTime, Duration)
Loop
DrawCircle(CurrentPosition)
cvsMovement.ClearRect(cvsMovement.TargetRect)