AnimationKit.Task is the parent class for all animations. It controls things like frame delays and general animation status information.
Event Completed ()
When the task has finished executing, after the final Perform event, the
Completed event will fire. Will not fire if the task was cancelled.
Event Perform (Final As Boolean, Time As Double)
The current state of the animation should be updated. Will not fire if the object referenced by the Item property has gone out of scope. If
Final is true, this is the last
Perform event that will be fired for this task.
Time parameter is a value returned by the Xojo
Microseconds method used to coordinate the execution times of multiple animations. It is strongly recommended that developers calculate based on the
Time parameter, and not by the value returned by
Event Started ()
Started event triggers immediately before the first
Cancelled As Boolean // Read Only
Cancelled will be true if either the
Cancel method has been called, or the object referenced by the
Item property has gone out of scope. The task can no longer execute, and no more
Perform events will trigger. Chained tasks will not be started.
Item As Object = Nil
The target of the animation. This is a weak reference, so that when the target goes out of scope, the animation will automatically cancel.
LastFrameTime As Double // Read Only
The time in microseconds that the last
Perform event was triggered.
NextTask As AnimationKit.Task = Nil
When this task has completed, automatically start the task referenced in this property. The new value will always be set to the end of the chain. To break the chain, set this property to
Nil. To replace an item in the chain, rather than append, set this property to
Nil first, then to the intended value.
Started As Boolean // Read Only
The animation has started.
Sub Cancel ()
Stops the animation where it is.
Sub Completed ()
UnsupportedOperationException. Subclasses must override so the framework knows when a task is complete and can move on to the next task in the chain.
Function ElapsedTime (Time As Double) As Double
Amount of time in microseconds since
Time that has elapsed since the task started execution.
Sub Perform (Time As Double)
Does some status checking and triggers the
Perform event if necessary.
Sub Run ()
Begin the animation using the application global coordinator.
Sub Run (Coordinator As AnimationKit.Coordinator)
Begin the animation using the coordinator specified.
Developers can create subclasses to implement new forms of animation.
Completed method must be overridden.