' AnimationPlus object/event wrapper
Sub Class_Globals
' E V E N T Prototypes
' BaseEvent_AnimationEnd(AnimatedView As View, AnimationID As String)
Public Const INT_ACCELERATE As Int = 4
Public Const INT_ACCELERATE_DECELERATE As Int = 5
Public Const INT_ANTICIPATE As Int = 1
Public Const INT_ANTICIPATE_OVERSHOOT As Int = 2
Public Const INT_BOUNCE As Int = 7
Public Const INT_CYCLE As Int = 8
Public Const INT_DECELERATE As Int = 6
Public Const INT_LINEAR As Int = 0
Public Const INT_OVERSHOOT As Int = 3
Public Const REPEAT_INFINITE As Int = -1
Public Const REPEAT_NONE As Int = 0
Public Const REPEAT_RESTART As Int = 1
Public Const REPEAT_REVERSE As Int = 2
Private moCaller As Object
Private msBaseEvent As String
Private mbStarted As Boolean = False
Private moAP As AnimationPlus
Private moTargetView As View
Private msEventID As String
End Sub
Public Sub Initialize(CallingObject As Object, BaseEvent As String)
moCaller = CallingObject
If BaseEvent <> "" Then
msBaseEvent = BaseEvent & "_"
End If
mbStarted = False
End Sub
Public Sub Stop
If mbStarted Then
moAP.Stop(moTargetView)
End If
mbStarted = False
End Sub
Public Sub Start(TargetView As View, AnimationID As String)
moTargetView = TargetView
msEventID = AnimationID
moAP.Start(moTargetView)
mbStarted = True
End Sub
Public Sub SetAnimTranslate(FromDX As Float, FromDY As Float, ToDX As Float, ToDY As Float, Duration As Long, _
Interpolator As Int, RepeatCount As Int, RepeatMode As Int, PersistAfter As Boolean)
Stop
moAP.InitializeTranslate("Anim", FromDX, FromDY, ToDX, ToDY)
moAP.Duration = Duration
moAP.SetInterpolator(Interpolator)
moAP.RepeatCount = RepeatCount
moAP.RepeatMode = RepeatMode
moAP.PersistAfter = PersistAfter
End Sub
Public Sub SetAnimRotate(FromDegrees As Float, ToDegrees As Float, Duration As Long, _
Interpolator As Int, RepeatCount As Int, RepeatMode As Int, PersistAfter As Boolean)
Stop
moAP.InitializeRotate("Anim", FromDegrees, ToDegrees)
moAP.Duration = Duration
moAP.SetInterpolator(Interpolator)
moAP.RepeatCount = RepeatCount
moAP.RepeatMode = RepeatMode
moAP.PersistAfter = PersistAfter
End Sub
Public Sub SetAnimRotateCenter(ViewToRoate As View, FromDegrees As Float, ToDegrees As Float, Duration As Long, _
Interpolator As Int, RepeatCount As Int, RepeatMode As Int, PersistAfter As Boolean)
Stop
moAP.InitializeRotateCenter("Anim", FromDegrees, ToDegrees, ViewToRoate)
moAP.Duration = Duration
moAP.SetInterpolator(Interpolator)
moAP.RepeatCount = RepeatCount
moAP.RepeatMode = RepeatMode
moAP.PersistAfter = PersistAfter
End Sub
Public Sub SetAnimScale(FromX As Float, FromY As Float, ToX As Float, ToY As Float, Duration As Long, _
Interpolator As Int, RepeatCount As Int, RepeatMode As Int, PersistAfter As Boolean)
Stop
moAP.InitializeScale("Anim", FromX, FromY, ToX, ToY)
moAP.Duration = Duration
moAP.SetInterpolator(Interpolator)
moAP.RepeatCount = RepeatCount
moAP.RepeatMode = RepeatMode
moAP.PersistAfter = PersistAfter
End Sub
Public Sub SetAnimScaleCenter(ViewToRoate As View, FromX As Float, FromY As Float, ToX As Float, ToY As Float, Duration As Long, _
Interpolator As Int, RepeatCount As Int, RepeatMode As Int, PersistAfter As Boolean)
Stop
moAP.InitializeScalecenter("Anim", FromX, FromY, ToX, ToY, ViewToRoate)
moAP.Duration = Duration
moAP.SetInterpolator(Interpolator)
moAP.RepeatCount = RepeatCount
moAP.RepeatMode = RepeatMode
moAP.PersistAfter = PersistAfter
End Sub
' Alpha is from 0 to 1 where 0 is fully transparent and 1 is fully opaque.
Public Sub SetAnimAlpha(FromAlpha As Float, ToAlpha As Float, Duration As Long, _
Interpolator As Int, RepeatCount As Int, RepeatMode As Int, PersistAfter As Boolean)
Stop
moAP.InitializeAlpha("Anim", FromAlpha, ToAlpha)
moAP.Duration = Duration
moAP.SetInterpolator(Interpolator)
moAP.RepeatCount = RepeatCount
moAP.RepeatMode = RepeatMode
moAP.PersistAfter = PersistAfter
End Sub
Private Sub Anim_AnimationEnd
mbStarted = False
moAP.Stop(moTargetView)
If SubExists(moCaller, msBaseEvent & "AnimationEnd") Then
CallSub3(moCaller, msBaseEvent & "AnimationEnd", moTargetView, msEventID)
End If
End Sub