package Ġcom . dv per my ak ov . image post application . models Ċ Ċ import Ġandroid . graphics . Point Ċ import Ġandroid . graphics . Rect Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġd mit ry per my ak ov Ġon Ġ 0 1 / 0 5 / 2 0 1 8 . Ċ Ġ*/ Ċ Ċ abstract Ġclass ĠDrag gable Model ( val Ġwidth : ĠInt , Ġval Ġheight : ĠInt ) Ġ{ ĊĠĠĠ Ġvar Ġtranslation X Ġ= Ġ. 2 5 f ĠĠĠĠĠĠ Ġ// Ġ[ 0 f , Ġ 1 f ] ĊĠĠĠ Ġvar Ġtranslation Y Ġ= Ġ. 2 5 f ĠĠĠĠĠĠ Ġ// Ġ[ 0 f , Ġ 1 f ] ĊĠĠĠ Ġvar Ġscale Factor Ġ= Ġ 1 f ĠĠĠĠĠĠĠĠĠ Ġ// Ġ[ 0 f , Ġ 1 f ] ĊĠĠĠ Ġvar Ġrotation Degrees Ġ= Ġ 0 f ĊĊĠĠĠ Ġvar Ġstate Ġ= ĠSTATE _ IDLE ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSTATE _ IDLE Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSTATE _ MOVE Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSTATE _ SCALE Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠSTATE _ ROT ATE Ġ= Ġ 3 ĊĊĠĠĠĠĠĠĠ Ġval Ġremove Elimin ated States Ġ= ĠlistOf ( Drag gable Model . STATE _ SCALE , ĠDrag gable Model . STATE _ ROT ATE ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun ĠDrag gable Model . center Point ( view Width : ĠInt , Ġview Height : ĠInt ): ĠPoint Ġ{ ĊĠĠĠ Ġval Ġx Ġ= Ġtranslation X Ġ* Ġview Width ĊĠĠĠ Ġval Ġy Ġ= Ġtranslation Y Ġ* Ġview Height ĊĠĠĠ Ġreturn ĠPoint ( x . toInt (), Ġy . toInt ()) Ċ } Ċ Ċ fun ĠDrag gable Model . get Rect ( view Width : ĠInt , Ġview Height : ĠInt ): ĠRect Ġ{ ĊĠĠĠ Ġval Ġelement Half Width Ġ= Ġwidth Ġ/ Ġ 2 f Ġ* Ġscale Factor ĊĠĠĠ Ġval Ġelement Half Height Ġ= Ġheight Ġ/ Ġ 2 f Ġ* Ġscale Factor ĊĠĠĠ Ġval Ġcenter Point Ġ= Ġcenter Point ( view Width , Ġview Height ) ĊĠĠĠ Ġreturn ĠRect ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( center Point . x Ġ- Ġelement Half Width ). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( center Point . y Ġ- Ġelement Half Height ). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( center Point . x Ġ+ Ġelement Half Width ). toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( center Point . y Ġ+ Ġelement Half Height ). toInt ()) Ċ }