package Ġio . github . je ff she e . visual izer . pain ters . modifier Ċ Ċ import Ġandroid . animation . Value Animator Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Paint Ċ import Ġandroid . rend erscript . Sampler Ċ import Ġio . github . je ff she e . visual izer . pain ters . Painter Ċ import Ġio . github . je ff she e . visual izer . utils . Visualizer Helper Ċ Ċ class ĠZoom Ġ: ĠP ainter Ġ{ ĊĠĠĠ Ġvar Ġpain ters : ĠList < Painter > ĊĠĠĠ Ġ// ĊĠĠĠ Ġvar Ġpx R : ĠFloat ĊĠĠĠ Ġvar Ġpy R : ĠFloat ĊĠĠĠ Ġ// ĊĠĠĠ Ġvar Ġanim : ĠValue Animator ĊĊĠĠĠ Ġoverride Ġvar Ġpaint Ġ= ĠPaint () ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġpain ters : ĠList < Painter >, Ġpx R : ĠFloat Ġ= Ġ. 5 f , Ġpy R : ĠFloat Ġ= Ġ. 5 f , ĊĠĠĠĠĠĠĠ Ġanim : ĠValue Animator Ġ= ĠValue Animator . of Float (. 9 f , Ġ 1 . 1 f ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġduration Ġ= Ġ 8 0 0 0 ; repeat Count Ġ= ĠValue Animator . INF IN ITE ; repeat Mode Ġ= ĠValue Animator . RE VERSE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . pain ters Ġ= Ġpain ters ĊĠĠĠĠĠĠĠ Ġthis . px R Ġ= Ġpx R ĊĠĠĠĠĠĠĠ Ġthis . py R Ġ= Ġpy R ĊĠĠĠĠĠĠĠ Ġthis . anim Ġ= Ġanim ĊĠĠĠĠĠĠĠ Ġanim . start () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġpainter : ĠP ainter , Ġpx R : ĠFloat Ġ= Ġ. 5 f , Ġpy R : ĠFloat Ġ= Ġ. 5 f , ĊĠĠĠĠĠĠĠ Ġanim : ĠValue Animator Ġ= ĠValue Animator . of Float (. 9 f , Ġ 1 . 1 f ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġduration Ġ= Ġ 8 0 0 0 ; repeat Count Ġ= ĠValue Animator . INF IN ITE ; repeat Mode Ġ= ĠValue Animator . RE VERSE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ ĠlistOf ( p ainter ), Ġpx R , Ġpy R , Ġanim ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġcalc ( helper : ĠVisual izer Helper ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpain ters . forEach Ġ{ Ġpainter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpainter . calc ( helper ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdraw ( canvas : ĠCanvas , Ġhelper : ĠVisual izer Helper ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcanvas . save () ĊĠĠĠĠĠĠĠ Ġcanvas . scale ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanim . animated Value Ġas ĠFloat , Ġanim . animated Value Ġas ĠFloat , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpx R Ġ* Ġcanvas . width , Ġpy R Ġ* Ġcanvas . height ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġpain ters . forEach Ġ{ Ġpainter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpainter . paint . apply Ġ{ Ġcolor Filter Ġ= Ġpaint . color Filter ; xfer mode Ġ= Ġpaint . xfer mode Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpainter . draw ( canvas , Ġhelper ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcanvas . restore () ĊĠĠĠ Ġ} Ċ }