package Ġpl . m are k lang iew ic z . my draw ables Ċ Ċ import Ġandroid . graphics . Path Ċ import Ġandroid . graphics . Rect Ċ import Ġandroidx . annotation . Int Range ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby ĠM are k ĠLang iew ic z Ġon Ġ 1 6 . 0 9 . 1 5 . Ċ Ġ* ĠAn Ġarrow / menu Ġanimation Ċ Ġ*/ Ċ class ĠMy Arrow Drawable Ġ: ĠMy Living Drawable () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġdraw Living Path ( path : ĠPath , Ġ@ Int Range ( from Ġ= Ġ 0 , Ġto Ġ= Ġ 1 0 0 0 0 ) Ġlevel : ĠInt , Ġbounds : ĠRect , Ġcx : ĠInt , Ġcy : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġw 4 Ġ= Ġbounds . width () Ġ/ Ġ 4 ĊĠĠĠĠĠĠĠ Ġval Ġh 4 Ġ= Ġbounds . height () Ġ/ Ġ 4 ĊĠĠĠĠĠĠĠ Ġval Ġh 8 Ġ= Ġbounds . height () Ġ/ Ġ 8 ĊĠĠĠĠĠĠĠ Ġval Ġtop Bar Y Ġ= Ġcy Ġ- Ġh 8 ĊĠĠĠĠĠĠĠ Ġval Ġbottom Bar Y Ġ= Ġcy Ġ+ Ġh 8 ĊĠĠĠĠĠĠĠ Ġval Ġtop Arr Y Ġ= Ġcy Ġ- Ġh 4 ĊĠĠĠĠĠĠĠ Ġval Ġbottom Arr Y Ġ= Ġcy Ġ+ Ġh 4 ĊĠĠĠĠĠĠĠ Ġval Ġleft X Ġ= Ġbounds . left Ġ+ Ġw 4 ĊĠĠĠĠĠĠĠ Ġval Ġright X Ġ= Ġbounds . right Ġ- Ġw 4 ĊĊĠĠĠĠĠĠĠ Ġ// Ġmiddle Ġbar ĊĠĠĠĠĠĠĠ Ġln ( left X , Ġcy , Ġright X , Ġcy ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġtop Ġbar ĊĠĠĠĠĠĠĠ Ġln ( lvl ( left X , Ġcx ), Ġlvl ( top Bar Y , Ġtop Arr Y ), Ġright X , Ġlvl ( top Bar Y , Ġcy )) ĊĊĠĠĠĠĠĠĠ Ġ// Ġbottom Ġbar ĊĠĠĠĠĠĠĠ Ġval Ġy Ġ= Ġlvl ( bottom Bar Y , Ġcy ). toFloat () ĊĠĠĠĠĠĠĠ Ġif Ġ( y Ġ- Ġcy Ġ< Ġ 2 ) Ġpath . lineTo ( right X . toFloat (), Ġy ) ĊĠĠĠĠĠĠĠ Ġelse Ġpath . moveTo ( right X . toFloat (), Ġy ) ĊĠĠĠĠĠĠĠ Ġpath . lineTo ( lvl ( left X , Ġcx ). toFloat (), Ġlvl ( bottom Bar Y , Ġbottom Arr Y ). toFloat ()) ĊĠĠĠ Ġ} Ċ } Ċ