# GraffitiAnimator
Class
## About
GraffitiAnimator makes UI animation effects simple! Use GraffitiAnimator to resize objects, shift colors, move elements, and more! With this event-based animation engine implementation, anything you can dream up is possible.Features:
*
31 different easing methods
*
Keyframe support
*
GraffitiAnimatorControl class for making UI element manipulation super easy
*
Animation chaining
## Enumerations
| Name | Value | Description |
| --- | :---: | --- |
| Easings | Linear <br> QuadIn <br> QuadOut <br> QuadInOut <br> CubicIn <br> CubicOut <br> CubicInOut <br> QuartIn <br> QuartOut <br> QuartInOut <br> QuintIn <br> QuintOut <br> QuintInOut <br> SineIn <br> SineOut <br> SineInOut <br> ExpoIn <br> ExpoOut <br> ExpoInOut <br> CircIn <br> CircOut <br> CircInOut <br> ElasticIn <br> ElasticOut <br> ElasticInOut <br> BackIn <br> BackOut <br> BackInOut <br> BounceIn <br> BounceOut <br> BounceInOut | Easing functions used in animation. |
| States | Idle <br> Running | States of the animator. |
## Event Definitions
| Name | Parameters | Return Type | Description |
| --- | :---: | :---: | --- |
| AnimationComplete | animOp as GraffitiAnimatorOperation | (None) | Raised when the provided animation operation has fully completed. |
| AnimationProgress | animOp as GraffitiAnimatorOperation <br> timePercent as Double <br> newValue as Double | (None) | Raised as the animation operation progresses. |
| AnimationStart | animOp as GraffitiAnimatorOperation | (None) | Raised when the provided animation operation has begun. |
| AtKeyframe | keyframe as GraffitiAnimatorKeyframe | (None) | Raised when the animator hits the specified keyframe. |
## Methods
| Name | Parameters | Return Type | Description |
| --- | :---: | :---: | --- |
| AddAnimation | animOp as GraffitiAnimatorOperation | (None) | Adds an animation operation to the stack. |
| AddKeyframe | NewKeyframe as GraffitiAnimatorKeyframe = Nil | (None) | Adds a keyframe to the stack. |
| Cancel | animOp as GraffitiAnimatorOperation | (None) | Cancels the specified animation operation. |
| Cancel | opName as String <br> inCurrentFrame as Boolean = True | (None) | Cancels the specified animation operation. |
| Constructor | (None) | (None) | Creates a new instance of the class. |
| Destructor | (None) | (None) | |
| NextKeyframe | (None) | (None) | Completes all animations in the current keyframe and moves immediately to the next. |
| Operation | index as Integer | GraffitiAnimatorObject | Returns the operation object at the specified index. |
| OperationCount | inCurrentFrame as Boolean = False | Integer | Returns a count of all operation object. When inCurrentKeyframe is True, only the current keyframe segment of the stack will be searched. |
| Play | (None) | (None) | Begin animation stack. |
| Stop | (None) | (None) | Immediately complete all animations. |
## Properties
| Name | Type | Default Value | Description |
| --- | :---: | :---: | --- |
| PreserveTimes | Boolean | True | If True, animation operations that counter currently added operations will preserve the original length. A keyframe separation cancels this effect. |
| State | States | Nil | The current running status of the animator. |