/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 0 5 - 2 0 2 0 ĠRad iance ĠK ir ill ĠGro uch nik ov . ĠAll ĠRights ĠReserved . Ċ Ġ* Ċ Ġ* ĠRedistribution Ġand Ġuse Ġin Ġsource Ġand Ġbinary Ġforms , Ġwith Ġor Ġwithout Ċ Ġ* Ġmodification , Ġare Ġpermitted Ġprovided Ġthat Ġthe Ġfollowing Ġconditions Ġare Ġmet : Ċ Ġ* Ċ Ġ* Ġ Ġo ĠRedistributions Ġof Ġsource Ġcode Ġmust Ġretain Ġthe Ġabove Ġcopyright Ġnotice , Ċ Ġ* ĠĠĠ Ġthis Ġlist Ġof Ġconditions Ġand Ġthe Ġfollowing Ġdisclaimer . Ċ Ġ* Ċ Ġ* Ġ Ġo ĠRedistributions Ġin Ġbinary Ġform Ġmust Ġreproduce Ġthe Ġabove Ġcopyright Ġnotice , Ċ Ġ* ĠĠĠ Ġthis Ġlist Ġof Ġconditions Ġand Ġthe Ġfollowing Ġdisclaimer Ġin Ġthe Ġdocumentation Ċ Ġ* ĠĠĠ Ġand / or Ġother Ġmaterials Ġprovided Ġwith Ġthe Ġdistribution . Ċ Ġ* Ċ Ġ* Ġ Ġo ĠNeither Ġthe Ġname Ġof Ġthe Ġcopyright Ġholder Ġnor Ġthe Ġnames Ġof Ċ Ġ* ĠĠĠ Ġits Ġcontributors Ġmay Ġbe Ġused Ġto Ġendorse Ġor Ġpromote Ġproducts Ġderived Ċ Ġ* ĠĠĠ Ġfrom Ġthis Ġsoftware Ġwithout Ġspecific Ġprior Ġwritten Ġpermission . Ċ Ġ* Ċ Ġ* ĠTHIS ĠSOFTWARE ĠIS ĠPROVIDED ĠBY ĠTHE ĠCOPYRIGHT ĠHOLDERS ĠAND ĠCONTRIBUTORS Ġ" AS ĠIS " Ċ Ġ* ĠAND ĠANY ĠEXPRESS ĠOR ĠIMPLIED ĠWARRANTIES , ĠINCLUDING , ĠBUT ĠNOT ĠLIMITED ĠTO , Ċ Ġ* ĠTHE ĠIMPLIED ĠWARRANTIES ĠOF ĠMERCHANTABILITY ĠAND ĠFITNESS ĠFOR ĠA ĠPARTICULAR Ċ Ġ* ĠPURPOSE ĠARE ĠDISCLAIMED . ĠIN ĠNO ĠEVENT ĠSHALL ĠTHE ĠCOPYRIGHT ĠOWNER ĠOR Ċ Ġ* ĠCONTRIBUTORS ĠBE ĠLIABLE ĠFOR ĠANY ĠDIRECT , ĠINDIRECT , ĠINCIDENTAL , ĠSPECIAL , Ċ Ġ* ĠEXEMPLARY , ĠOR ĠCONSEQUENTIAL ĠDAMAGES Ġ( INCLUDING , ĠBUT ĠNOT ĠLIMITED ĠTO , Ċ Ġ* ĠPROCUREMENT ĠOF ĠSUBSTITUTE ĠGOODS ĠOR ĠSERVICES ; ĠLOSS ĠOF ĠUSE , ĠDATA , ĠOR ĠPROFITS ; Ċ Ġ* ĠOR ĠBUSINESS ĠINTERRUPTION ) ĠHOWEVER ĠCAUSED ĠAND ĠON ĠANY ĠTHEORY ĠOF ĠLIABILITY , Ċ Ġ* ĠWHETHER ĠIN ĠCONTRACT , ĠSTRICT ĠLIABILITY , ĠOR ĠTORT Ġ( INCLUDING ĠNEGLIGENCE Ċ Ġ* ĠOR ĠOTHERWISE ) ĠARISING ĠIN ĠANY ĠWAY ĠOUT ĠOF ĠTHE ĠUSE ĠOF ĠTHIS ĠSOFTWARE , Ċ Ġ* ĠEVEN ĠIF ĠADVISED ĠOF ĠTHE ĠPOSSIBILITY ĠOF ĠSUCH ĠDAMAGE . Ċ Ġ*/ Ċ package Ġorg . push ing pixels . luc ent . content Ċ Ċ import Ġorg . push ing pixels . torch . component Timeline Ċ import Ġorg . push ing pixels . torch . from Current To Ċ import Ġorg . push ing pixels . tr ident . api . Timeline Ċ Ċ /** Ċ Ġ* ĠAdds Ġthe Ġfollowing Ġfunctionality Ġto Ġthe Ġalbum Ġsc roller Ġcontainer : Ċ Ġ* Ċ Ġ* Ġ< ul > Ċ Ġ* Ġ< li > Animated Ġscrolling Ġof Ġalbum Ġoverview Ġcomponents Ġwith Ġmouse Ġwheel Ġand Ġleft Ċ Ġ* Ġ/ Ġright Ġarrow Ġkeys </ li > Ċ Ġ* Ġ</ ul > Ċ Ġ* Ċ Ġ* Ġ@ author ĠK ir ill ĠGro uch nik ov Ċ Ġ*/ Ċ open Ġclass ĠStage 3 Animated Scrolling Ġ: ĠStage 2 Components () Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠContains Ġthe Ġtarget Ġleading Ġposition Ġ- Ġthis Ġis Ġthe Ġindex Ġof Ġthe Ġalbum ĊĠĠĠĠ Ġ* Ġwhich Ġshould Ġappear Ġat Ġthe Ġleft Ġedge Ġonce Ġthe Ġcurrent ĊĠĠĠĠ Ġ* Ġ[. scroll Timeline ] Ġis Ġdone . ĠNote Ġthat Ġthe Ġuser Ġscrolling Ġcan Ġbe Ġdone ĊĠĠĠĠ Ġ* Ġin Ġthe Ġmiddle Ġof Ġthe Ġcurrent Ġscrolling Ġanimation . ĠIn Ġthis Ġcase , Ġthe Ġfield ĊĠĠĠĠ Ġ* Ġis Ġupdated Ġwith Ġthe Ġnew Ġtarget Ġindex . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinternal Ġvar Ġtarget Leading Position Ġ= Ġ 0 . 0 f ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġscroll Ġtimeline . ĠNote Ġthat Ġthe Ġuser Ġscrolling Ġcan Ġbe Ġdone Ġin Ġthe ĊĠĠĠĠ Ġ* Ġmiddle Ġof Ġthe Ġcurrent Ġscrolling Ġanimation . ĠIn Ġthis Ġcase , Ġthe Ġcurrent ĊĠĠĠĠ Ġ* Ġtimeline Ġis Ġcancelled , Ġand Ġa Ġnew Ġone Ġis Ġcreated Ġ- Ġthis Ġallows Ġquick ĊĠĠĠĠ Ġ* Ġscrolling Ġwith Ġmultiple Ġmouse Ġwheel Ġ/ Ġarrow Ġevents . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġinternal Ġlateinit Ġvar Ġscroll Timeline : ĠTimeline ĊĊĠĠĠ Ġoverride Ġfun Ġscroll To Next () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this . target Leading Position Ġ< Ġthis . comp s . size Ġ- Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . target Leading Position ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscroll Contents () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġscroll To Previous () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this . target Leading Position Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . target Leading Position -- ĊĠĠĠĠĠĠĠĠĠĠĠ Ġscroll Contents () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠScroll s Ġthe Ġcontents Ġof Ġthis Ġcontainer . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Synchron ized ĊĠĠĠ Ġprivate Ġfun Ġscroll Contents () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( this :: scroll Timeline . isInitialized ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġabort Ġthe Ġplaying Ġscroll Ġtimeline ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . scroll Timeline . abort () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġand Ġdynamically Ġcreate Ġa Ġnew Ġone Ġto Ġchange Ġthe ĊĠĠĠĠĠĠĠ Ġ// Ġleading Ġposition ĊĠĠĠĠĠĠĠ Ġthis . scroll Timeline Ġ= Ġthis . component Timeline Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproperty (:: leading Position Ġfrom Current To Ġtarget Leading Position ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġduration Ġ= Ġ 2 5 0 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġthis . scroll Timeline . play () ĊĠĠĠ Ġ} Ċ } Ċ