@ file : Suppress (" NOTH ING _ TO _ INLINE ") Ċ Ċ package Ġcom . so y wiz . k orge . t ween Ċ Ċ import Ġcom . so y wiz . k ds . iter ators .* Ċ import Ġcom . so y wiz . k lock .* Ċ import Ġcom . so y wiz . k lock . hr .* Ċ import Ġcom . so y wiz . k mem .* Ċ import Ġcom . so y wiz . k orge . component .* Ċ import Ġcom . so y wiz . k orge . time .* Ċ import Ġcom . so y wiz . k orge . view .* Ċ import Ġcom . so y wiz . kor im . color .* Ċ import Ġcom . so y wiz . kor io . async .* Ċ import Ġcom . so y wiz . k orm a . geom .* Ċ import Ġcom . so y wiz . k orm a . interpolation .* Ċ import Ġkotlinx . coroutines .* Ċ import Ġkotlin . coroutines .* Ċ import Ġkotlin . reflect .* Ċ Ċ class ĠT ween Component ( Ċ ĉ override Ġval Ġview : ĠView , Ċ ĉ private Ġval Ġvs : ĠList < V 2 <* >>, Ċ ĉ val Ġtime : ĠHR TimeSpan Ġ= ĠHR TimeSpan . NULL , Ċ ĉ val Ġeasing : ĠE asing Ġ= ĠE asing . LINEAR , Ċ ĉ val Ġcallback : Ġ( Double ) Ġ-> ĠUnit , Ċ ĉ val Ġc : ĠC ancellable Continuation < Unit > Ċ ) Ġ: ĠUpdate Component V 2 Ġ{ Ċ ĉ var Ġelapsed Ġ= Ġ 0 . hr Nan oseconds Ċ ĉ val Ġhr time Ġ= Ġif Ġ( time Ġ!= ĠHR TimeSpan . NULL ) Ġtime Ġelse Ġ( vs . map Ġ{ Ġit . endTime . nan oseconds Double Ġ}. max () Ġ?: Ġ 0 . 0 ). hr Nan oseconds Ċ ĉ var Ġcancelled Ġ= Ġfalse Ċ ĉ var Ġdone Ġ= Ġfalse ĊĊ ĉ init Ġ{ Ċĉ ĉ c . invoke On Cancellation Ġ{ Ċĉĉ ĉ cancelled Ġ= Ġtrue Ċĉĉ ĉ // println (" TW E EN ĠCANCEL LED [$ this , Ġ$ vs ]: Ġ$ elapsed ") Ċĉ ĉ } Ċĉ ĉ update ( 0 . hr Nan oseconds ) Ċ ĉ } ĊĊ ĉ fun Ġcomplete Once () Ġ{ Ċĉ ĉ if Ġ(! done ) Ġ{ Ċĉĉ ĉ done Ġ= Ġtrue Ċĉĉ ĉ detach () Ċĉĉ ĉ c . resume ( Unit ) Ċĉĉ ĉ // println (" TW E EN ĠCOMP LETED [$ this , Ġ$ vs ]: Ġ$ elapsed ") Ċĉ ĉ } Ċ ĉ } ĊĊ ĉ override Ġfun Ġupdate ( dt : ĠHR TimeSpan ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( cancelled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// println (" Ġ--> Ġcancelled ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcomplete Once () ĊĠĠĠĠĠĠĠ Ġ} Ċĉ ĉ // println (" TW E EN ĠUPDATE [$ this , Ġ$ vs ]: Ġ$ elapsed Ġ+ Ġ$ dt Ms ") Ċĉ ĉ elapsed Ġ+= Ġdt ĊĊĉ ĉ val Ġratio Ġ= Ġ( elapsed Ġ/ Ġhr time ). clamp ( 0 . 0 , Ġ 1 . 0 ) ĊĠĠĠĠĠĠĠ Ġ// println ("$ elapsed /$ hr time Ġ: Ġ$ ratio ") Ċĉ ĉ set To ( elapsed ) Ċĉ ĉ callback ( easing ( ratio )) ĊĊĠĠĠĠĠĠĠ Ġ// println (" UPDATE ! Ġ: Ġdt =${ dt . time Span } Ġ: Ġratio =$ ratio ") ĊĊĠĠĠĠĠĠĠ Ġif Ġ( ratio Ġ>= Ġ 1 . 0 ) Ġ{ Ċĉĉ ĉ // println (" Ġ--> Ġcompleted ") Ċĉĉ ĉ return Ġcomplete Once () Ċĉ ĉ } Ċ ĉ } ĊĊĠĠĠ Ġ@ Deprecated ("") ĊĠĠĠ Ġfun Ġset To Ms ( elapsed : ĠInt ) Ġ= Ġset To ( elapsed . hr Milliseconds ) ĊĊ ĉ fun Ġset To ( elapsed : ĠHR TimeSpan ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( elapsed Ġ== Ġ 0 . hr Nan oseconds ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvs . fast ForEach Ġ{ Ġv Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġv . init () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċĉ ĉ vs . fast ForEach Ġ{ Ġv Ġ-> Ċĉĉ ĉ val Ġduration In Tween Ġ= Ġv . duration . co alesce Ġ{ Ġ( hr time Ġ- Ġv . startTime ) Ġ} Ċĉĉ ĉ val Ġelapsed In Tween Ġ= Ġ( elapsed Ġ- Ġv . startTime ). clamp ( 0 . hr Nan oseconds , Ġduration In Tween ) Ċĉĉ ĉ val Ġratio In Tween Ġ= Ġif Ġ( duration In Tween Ġ<= Ġ 0 . hr Nan oseconds Ġ|| Ġelapsed In Tween Ġ>= Ġduration In Tween ) Ġ 1 . 0 Ġelse Ġelapsed In Tween Ġ/ Ġduration In Tween ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġease d Ratio In Tween Ġ= Ġeasing ( ratio In Tween ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// println (" e ased Ratio In Tween : Ġ$ e ased Ratio In Tween ") Ċĉĉ ĉ v . set ( e ased Ratio In Tween ) Ċĉ ĉ } Ċ ĉ } ĊĊ ĉ override Ġfun ĠtoString (): ĠString Ġ= Ġ" Tween Component ($ view )" Ċ } Ċ Ċ private Ġval Ġempty Callback : Ġ( Double ) Ġ-> ĠUnit Ġ= Ġ{} Ċ Ċ suspend Ġfun ĠView ?. t ween ( Ċ ĉ var arg Ġvs : ĠV 2 <* >, Ċ ĉ time : ĠTimeSpan , Ċ ĉ easing : ĠE asing Ġ= ĠE asing . LINEAR , Ċ ĉ callback : Ġ( Double ) Ġ-> ĠUnit Ġ= Ġempty Callback Ċ ): ĠUnit Ġ{ Ċ ĉ if Ġ( this Ġ!= Ġnull ) Ġ{ Ċĉ ĉ var Ġtc : ĠT ween Component ? Ġ= Ġnull Ċĉ ĉ try Ġ{ Ċĉĉ ĉ with Timeout ( 3 0 0 Ġ+ Ġtime . milliseconds Long Ġ* Ġ 2 ) Ġ{ Ċĉĉĉ ĉ suspend C ancellable Coroutine < Unit > Ġ{ Ġc Ġ-> Ċĉĉĉĉ ĉ val Ġview Ġ= Ġthis @ t ween Ċĉĉĉĉ ĉ // println (" STARTED ĠT WEEN Ġat Ġthread Ġ$ currentThread Id ") Ċĉĉĉĉ ĉ tc Ġ= ĠT ween Component ( view , Ġvs . toList (), Ġtime . hr , Ġeasing , Ġcallback , Ġc ). also Ġ{ Ġit . attach () Ġ} Ċĉĉĉ ĉ } Ċĉĉ ĉ } Ċĉ ĉ } Ġcatch Ġ( e : ĠTimeout Cancellation Exception ) Ġ{ Ċĉĉ ĉ tc ?. set To ( time . hr ) Ċĉ ĉ } Ċ ĉ } Ċ } Ċ Ċ suspend Ġfun ĠView ?. t ween Async ( Ċ ĉ var arg Ġvs : ĠV 2 <* >, Ċ ĉ time : ĠTimeSpan , Ċ ĉ easing : ĠE asing Ġ= ĠE asing . LINEAR , Ċ ĉ callback : Ġ( Double ) Ġ-> ĠUnit Ġ= Ġempty Callback Ċ ) Ġ= Ġasync Immediate ly ( coroutine Context ) Ġ{ Ġt ween (* vs , Ġtime Ġ= Ġtime , Ġeasing Ġ= Ġeasing , Ġcallback Ġ= Ġcallback ) Ġ} Ċ Ċ fun ĠView ?. t ween Async ( Ċ ĉ var arg Ġvs : ĠV 2 <* >, Ċ ĉ coroutine Context : ĠCor outine Context , Ċ ĉ time : ĠTimeSpan , Ċ ĉ easing : ĠE asing Ġ= ĠE asing . LINEAR , Ċ ĉ callback : Ġ( Double ) Ġ-> ĠUnit Ġ= Ġempty Callback Ċ ) Ġ= Ġasync Immediate ly ( coroutine Context ) Ġ{ Ġt ween (* vs , Ġtime Ġ= Ġtime , Ġeasing Ġ= Ġeasing , Ġcallback Ġ= Ġcallback ) Ġ} Ċ Ċ suspend Ġfun ĠView . show ( time : ĠTimeSpan , Ġeasing : ĠE asing Ġ= ĠE asing . LINEAR ) Ġ= Ċ ĉ t ween ( this :: alpha [ 1 . 0 ], Ġtime Ġ= Ġtime , Ġeasing Ġ= Ġeasing ) Ġ{ Ġthis . visible Ġ= Ġtrue Ġ} Ċ Ċ suspend Ġfun ĠView . hide ( time : ĠTimeSpan , Ġeasing : ĠE asing Ġ= ĠE asing . LINEAR ) Ġ= Ċ ĉ t ween ( this :: alpha [ 0 . 0 ], Ġtime Ġ= Ġtime , Ġeasing Ġ= Ġeasing ) Ċ Ċ suspend Ġinline Ġfun ĠView . moveTo ( x : ĠDouble , Ġy : ĠDouble , Ġtime : ĠTimeSpan , Ġeasing : ĠE asing Ġ= ĠE asing . LINEAR ) Ġ= Ġt ween ( this :: x [ x ], Ġthis :: y [ y ], Ġtime Ġ= Ġtime , Ġeasing Ġ= Ġeasing ) Ċ suspend Ġinline Ġfun ĠView . move By ( dx : ĠDouble , Ġdy : ĠDouble , Ġtime : ĠTimeSpan , Ġeasing : ĠE asing Ġ= ĠE asing . LINEAR ) Ġ= Ġt ween ( this :: x [ this . x Ġ+ Ġdx ], Ġthis :: y [ this . y Ġ+ Ġdy ], Ġtime Ġ= Ġtime , Ġeasing Ġ= Ġeasing ) Ċ suspend Ġinline Ġfun ĠView . scale To ( sx : ĠDouble , Ġsy : ĠDouble , Ġtime : ĠTimeSpan , Ġeasing : ĠE asing Ġ= ĠE asing . LINEAR ) Ġ= Ġt ween ( this :: scale X [ sx ], Ġthis :: scale Y [ sy ], Ġtime Ġ= Ġtime , Ġeasing Ġ= Ġeasing ) Ċ Ċ @ Deprecated (" Kotlin / Native Ġboxes Ġinline + Number ") Ċ suspend Ġinline Ġfun ĠView . moveTo ( x : ĠNumber , Ġy : ĠNumber , Ġtime : ĠTimeSpan , Ġeasing : ĠE asing Ġ= ĠE asing . LINEAR ) Ġ= Ġmove To ( x . toDouble (), Ġy . toDouble (), Ġtime , Ġeasing ) Ċ @ Deprecated (" Kotlin / Native Ġboxes Ġinline + Number ") Ċ suspend Ġinline Ġfun ĠView . move By ( dx : ĠNumber , Ġdy : ĠNumber , Ġtime : ĠTimeSpan , Ġeasing : ĠE asing Ġ= ĠE asing . LINEAR ) Ġ= Ġmove By ( dx . toDouble (), Ġdy . toDouble (), Ġtime , Ġeasing ) Ċ @ Deprecated (" Kotlin / Native Ġboxes Ġinline + Number ") Ċ suspend Ġinline Ġfun ĠView . scale To ( sx : ĠNumber , Ġsy : ĠNumber , Ġtime : ĠTimeSpan , Ġeasing : ĠE asing Ġ= ĠE asing . LINEAR ) Ġ= Ġscale To ( sx . toDouble (), Ġsy . toDouble (), Ġtime , Ġeasing ) Ċ Ċ suspend Ġinline Ġfun ĠView . rotate To ( deg : ĠAngle , Ġtime : ĠTimeSpan , Ġeasing : ĠE asing Ġ= ĠE asing . LINEAR ) Ġ= Ċ ĉ t ween ( this :: rotation Radians [ deg . radians ], Ġtime Ġ= Ġtime , Ġeasing Ġ= Ġeasing ) Ċ Ċ suspend Ġinline Ġfun ĠView . rotate By ( d deg : ĠAngle , Ġtime : ĠTimeSpan , Ġeasing : ĠE asing Ġ= ĠE asing . LINEAR ) Ġ= Ċ ĉ t ween ( this :: rotation Radians [ this . rotation Radians Ġ+ Ġd deg . radians ], Ġtime Ġ= Ġtime , Ġeasing Ġ= Ġeasing ) Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ data Ġclass ĠV 2 < V >( Ċ ĉ val Ġkey : ĠK Mutable Property 0 < V >, Ċ ĉ var Ġinitial : ĠV , Ċ ĉ val Ġend : ĠV , Ċ ĉ val Ġinterpol ator : Ġ( Double , ĠV , ĠV ) Ġ-> ĠV , ĊĠĠĠ Ġval Ġinclude Start : ĠBoolean , Ċ ĉ val ĠstartTime : ĠHR TimeSpan Ġ= Ġ 0 . hr Nan oseconds , Ċ ĉ val Ġduration : ĠHR TimeSpan Ġ= ĠHR TimeSpan . NULL Ċ ) Ġ{ Ċ ĉ val ĠendTime Ġ= ĠstartTime Ġ+ Ġduration . co alesce Ġ{ Ġ 0 . hr Nan oseconds Ġ} ĊĊ ĉ @ Deprecated ("", Ġreplace With Ġ= ĠReplace With (" key Ġ.. Ġ( initial ... end )", Ġ" com . so y wiz . k orge . t ween . range To ")) Ċ ĉ constructor ( key : ĠK Mutable Property 0 < V >, Ġinitial : ĠV , Ġend : ĠV , Ġinclude Start : ĠBoolean Ġ= Ġfalse ) Ġ: Ġthis ( key , Ġinitial , Ġend , Ġ:: _ interpolate Any , Ġinclude Start ) ĊĊĠĠĠ Ġfun Ġinit () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! include Start ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinitial Ġ= Ġkey . get () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ ĉ fun Ġset ( ratio : ĠDouble ) Ġ= Ġkey . set ( interpol ator ( ratio , Ġinitial , Ġend )) ĊĊ ĉ override Ġfun ĠtoString (): ĠString Ġ= Ċĉ ĉ " V 2 ( key =${ key . name }, Ġrange = [$ initial -$ end ], ĠstartTime =$ startTime , Ġduration =$ duration )" Ċ } Ċ Ċ operator Ġfun Ġ< V > ĠK Mutable Property 0 < V >. get ( end : ĠV ) Ġ= ĠV 2 ( this , Ġthis . get (), Ġend , Ġ:: _ interpolate Any , Ġinclude Start Ġ= Ġfalse ) Ċ operator Ġfun Ġ< V > ĠK Mutable Property 0 < V >. get ( initial : ĠV , Ġend : ĠV ) Ġ= ĠV 2 ( this , Ġinitial , Ġend , Ġ:: _ interpolate Any , Ġinclude Start Ġ= Ġtrue ) Ċ Ċ @ Published Api Ċ internal Ġfun Ġ_ interpolate ( ratio : ĠDouble , Ġl : ĠDouble , Ġr : ĠDouble ): ĠDouble Ġ= Ġwhen Ġ{ ĊĠĠĠ Ġratio Ġ< Ġ 0 . 0 Ġ-> Ġl ĊĠĠĠ Ġratio Ġ>= Ġ 1 . 0 Ġ-> Ġr ĊĠĠĠ Ġelse Ġ-> Ġratio . interpolate ( l , Ġr ) Ċ } Ċ Ċ @ Published Api Ċ internal Ġfun Ġ_ interpolate Float ( ratio : ĠDouble , Ġl : ĠFloat , Ġr : ĠFloat ): ĠFloat Ġ= Ġwhen Ġ{ ĊĠĠĠ Ġratio Ġ< Ġ 0 . 0 Ġ-> Ġl ĊĠĠĠ Ġratio Ġ>= Ġ 1 . 0 Ġ-> Ġr ĊĠĠĠ Ġelse Ġ-> Ġratio . interpolate ( l , Ġr ) Ċ } Ċ Ċ @ Published Api Ċ internal Ġfun Ġ< V > Ġ_ interpolate Any ( ratio : ĠDouble , Ġl : ĠV , Ġr : ĠV ) Ġ= Ġratio . interpolate Any ( l , Ġr ) Ċ Ċ @ Published Api Ċ internal Ġfun Ġ_ interpolate Color ( ratio : ĠDouble , Ġl : ĠRGBA , Ġr : ĠRGBA ): ĠRGBA Ġ= ĠRGBA . mix Rg ba ( l , Ġr , Ġratio ) Ċ Ċ @ Published Api Ċ internal Ġfun Ġ_ interpolate Angle ( ratio : ĠDouble , Ġl : ĠAngle , Ġr : ĠAngle ): ĠAngle = Ġ_ interpolate Angle Any ( ratio , Ġl , Ġr , Ġminimize Angle Ġ= Ġtrue ) Ċ Ċ @ Published Api Ċ internal Ġfun Ġ_ interpolate Angle Den ormal ized ( ratio : ĠDouble , Ġl : ĠAngle , Ġr : ĠAngle ): ĠAngle = Ġ_ interpolate Angle Any ( ratio , Ġl , Ġr , Ġminimize Angle Ġ= Ġfalse ) Ċ Ċ internal Ġfun Ġ_ interpolate Angle Any ( ratio : ĠDouble , Ġl : ĠAngle , Ġr : ĠAngle , Ġminimize Angle : ĠBoolean Ġ= Ġtrue ): ĠAngle Ġ{ ĊĠĠĠ Ġif Ġ(! minimize Angle ) Ġreturn ĠAngle (_ interpolate ( ratio , Ġl . radians , Ġr . radians )) ĊĠĠĠ Ġval Ġln Ġ= Ġl . normalized ĊĠĠĠ Ġval Ġrn Ġ= Ġr . normalized ĊĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġ( rn Ġ- Ġln ). absolute Value Ġ<= Ġ 1 8 0 . degrees Ġ-> ĠAngle (_ interpolate ( ratio , Ġln . radians , Ġrn . radians )) ĊĠĠĠĠĠĠĠ Ġln Ġ< Ġrn Ġ-> ĠAngle (_ interpolate ( ratio , Ġ( ln Ġ+ Ġ 3 6 0 . degrees ). radians , Ġrn . radians )). normalized ĊĠĠĠĠĠĠĠ Ġelse Ġ-> ĠAngle (_ interpolate ( ratio , Ġln . radians , Ġ( rn Ġ+ Ġ 3 6 0 . degrees ). radians )). normalized ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Published Api Ċ internal Ġfun Ġ_ interpolate TimeSpan ( ratio : ĠDouble , Ġl : ĠTimeSpan , Ġr : ĠTimeSpan ): ĠTimeSpan Ġ= Ġ_ interpolate ( ratio , Ġl . milliseconds , Ġr . milliseconds ). milliseconds Ċ Ċ // inline Ġoperator Ġfun ĠK Mutable Property 0 < Float >. get ( end : ĠNumber ) Ġ= ĠV 2 ( this , Ġthis . get (), Ġend . toFloat (), Ġ:: _ interpolate Float ) Ċ // inline Ġoperator Ġfun ĠK Mutable Property 0 < Float >. get ( initial : ĠNumber , Ġend : ĠNumber ) Ġ= Ċ // ĉ V 2 ( this , Ġinitial . toFloat (), Ġend . toFloat (), Ġ:: _ interpolate Float ) Ċ Ċ inline Ġoperator Ġfun ĠK Mutable Property 0 < Double >. get ( end : ĠDouble ) Ġ= ĠV 2 ( this , Ġthis . get (), Ġend , Ġ:: _ interpolate , Ġinclude Start Ġ= Ġfalse ) Ċ inline Ġoperator Ġfun ĠK Mutable Property 0 < Double >. get ( initial : ĠDouble , Ġend : ĠDouble ) Ġ= ĠV 2 ( this , Ġinitial , Ġend , Ġ:: _ interpolate , Ġtrue ) Ċ Ċ inline Ġoperator Ġfun ĠK Mutable Property 0 < Double >. get ( end : ĠInt ) Ġ= Ġget ( end . toDouble ()) Ċ inline Ġoperator Ġfun ĠK Mutable Property 0 < Double >. get ( initial : ĠInt , Ġend : ĠInt ) Ġ= Ġget ( initial . toDouble (), Ġend . toDouble ()) Ċ Ċ inline Ġoperator Ġfun ĠK Mutable Property 0 < Double >. get ( end : ĠFloat ) Ġ= Ġget ( end . toDouble ()) Ċ inline Ġoperator Ġfun ĠK Mutable Property 0 < Double >. get ( initial : ĠFloat , Ġend : ĠFloat ) Ġ= Ġget ( initial . toDouble (), Ġend . toDouble ()) Ċ Ċ @ Deprecated (" Kotlin / Native Ġboxes Ġinline + Number ") Ċ inline Ġoperator Ġfun ĠK Mutable Property 0 < Double >. get ( end : ĠNumber ) Ġ= Ġget ( end . toDouble ()) Ċ @ Deprecated (" Kotlin / Native Ġboxes Ġinline + Number ") Ċ inline Ġoperator Ġfun ĠK Mutable Property 0 < Double >. get ( initial : ĠNumber , Ġend : ĠNumber ) Ġ= Ġget ( initial . toDouble (), Ġend . toDouble ()) Ċ Ċ inline Ġoperator Ġfun ĠK Mutable Property 0 < RGBA >. get ( end : ĠRGBA ) Ġ= ĠV 2 ( this , Ġthis . get (), Ġend , Ġ:: _ interpolate Color , Ġinclude Start Ġ= Ġfalse ) Ċ inline Ġoperator Ġfun ĠK Mutable Property 0 < RGBA >. get ( initial : ĠRGBA , Ġend : ĠRGBA ) Ġ= Ċ ĉ V 2 ( this , Ġinitial , Ġend , Ġ:: _ interpolate Color , Ġinclude Start Ġ= Ġtrue ) Ċ Ċ inline Ġoperator Ġfun ĠK Mutable Property 0 < Angle >. get ( end : ĠAngle ) Ġ= ĠV 2 ( this , Ġthis . get (), Ġend , Ġ:: _ interpolate Angle , Ġinclude Start Ġ= Ġfalse ) Ċ inline Ġoperator Ġfun ĠK Mutable Property 0 < Angle >. get ( initial : ĠAngle , Ġend : ĠAngle ) Ġ= Ċ ĉ V 2 ( this , Ġinitial , Ġend , Ġ:: _ interpolate Angle , Ġinclude Start Ġ= Ġtrue ) Ċ Ċ fun ĠV 2 < Angle >. den ormal ized (): ĠV 2 < Angle > Ġ= Ġthis . copy ( interpol ator Ġ= Ġ:: _ interpolate Angle Den ormal ized ) Ċ Ċ inline Ġoperator Ġfun ĠK Mutable Property 0 < TimeSpan >. get ( end : ĠTimeSpan ) Ġ= ĠV 2 ( this , Ġthis . get (), Ġend , Ġ:: _ interpolate TimeSpan , Ġinclude Start Ġ= Ġfalse ) Ċ inline Ġoperator Ġfun ĠK Mutable Property 0 < TimeSpan >. get ( initial : ĠTimeSpan , Ġend : ĠTimeSpan ) Ġ= ĊĠĠĠ ĠV 2 ( this , Ġinitial , Ġend , Ġ:: _ interpolate TimeSpan , Ġinclude Start Ġ= Ġtrue ) Ċ Ċ fun Ġ< V > ĠV 2 < V >. easing ( easing : ĠE asing ): ĠV 2 < V > Ġ= Ċ ĉ this . copy ( interpol ator Ġ= Ġ{ Ġratio , Ġa , Ġb Ġ-> Ġthis . interpol ator ( easing ( ratio ), Ġa , Ġb ) Ġ}) Ċ Ċ inline Ġfun Ġ< V > ĠV 2 < V >. delay ( startTime : ĠTimeSpan ) Ġ= Ġthis . copy ( startTime Ġ= ĠstartTime . hr ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. duration ( duration : ĠTimeSpan ) Ġ= Ġthis . copy ( duration Ġ= Ġduration . hr ) Ċ Ċ inline Ġfun Ġ< V > ĠV 2 < V >. delay ( startTime : ĠHR TimeSpan ) Ġ= Ġthis . copy ( startTime Ġ= ĠstartTime ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. duration ( duration : ĠHR TimeSpan ) Ġ= Ġthis . copy ( duration Ġ= Ġduration ) Ċ Ċ inline Ġfun Ġ< V > ĠV 2 < V >. linear () Ġ= Ġthis Ċ inline Ġfun Ġ< V > ĠV 2 < V >. smooth () Ġ= Ġthis . easing ( E asing . S MO OTH ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease In () Ġ= Ġthis . easing ( E asing . E ASE _ IN ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease Out () Ġ= Ġthis . easing ( E asing . E ASE _ OUT ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease InOut () Ġ= Ġthis . easing ( E asing . E ASE _ IN _ OUT ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease Out In () Ġ= Ġthis . easing ( E asing . E ASE _ OUT _ IN ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease In Back () Ġ= Ġthis . easing ( E asing . E ASE _ IN _ BACK ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease Out Back () Ġ= Ġthis . easing ( E asing . E ASE _ OUT _ BACK ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease InOut Back () Ġ= Ġthis . easing ( E asing . E ASE _ IN _ OUT _ BACK ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease Out In Back () Ġ= Ġthis . easing ( E asing . E ASE _ OUT _ IN _ BACK ) Ċ Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease In Elastic () Ġ= Ġthis . easing ( E asing . E ASE _ IN _ EL AST IC ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease Out Elastic () Ġ= Ġthis . easing ( E asing . E ASE _ OUT _ EL AST IC ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease InOut Elastic () Ġ= Ġthis . easing ( E asing . E ASE _ IN _ OUT _ EL AST IC ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease Out In Elastic () Ġ= Ġthis . easing ( E asing . E ASE _ OUT _ IN _ EL AST IC ) Ċ Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease In Bo unce () Ġ= Ġthis . easing ( E asing . E ASE _ IN _ BOUN CE ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease Out Bo unce () Ġ= Ġthis . easing ( E asing . E ASE _ OUT _ BOUN CE ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease InOut Bo unce () Ġ= Ġthis . easing ( E asing . E ASE _ IN _ OUT _ BOUN CE ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease Out In Bo unce () Ġ= Ġthis . easing ( E asing . E ASE _ OUT _ IN _ BOUN CE ) Ċ Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease In Quad () Ġ= Ġthis . easing ( E asing . E ASE _ IN _ QUAD ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease Out Quad () Ġ= Ġthis . easing ( E asing . E ASE _ OUT _ QUAD ) Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease InOut Quad () Ġ= Ġthis . easing ( E asing . E ASE _ IN _ OUT _ QUAD ) Ċ Ċ inline Ġfun Ġ< V > ĠV 2 < V >. ease Sine () Ġ= Ġthis . easing ( E asing . E ASE _ S INE ) Ċ