/* Ċ Ġ* Ċ Ġ* Ġ ĠCopyright ( c ) Ġ 2 0 1 8 ĠVer st Si u Ċ Ġ* Ċ Ġ* Ġ ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġ Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* Ġ ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* Ġ ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġ Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* Ġ ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* Ġ ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġ Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ* Ċ Ġ*/ Ċ package Ġcom . i jo ic . item _ plot ter Ċ Ċ import Ġandroid . support . annotation . Id Res Ċ import Ġandroid . view . ViewGroup Ċ Ċ /** Ċ Ġ* ĠBase Ġplot ter Ġgroup . Ċ Ġ* Ċ Ġ* Ġ@ author Ġx iao . yl Ġon Ġ 2 0 1 8 / 1 / 2 0 . Ċ Ġ* Ġ@ version Ġ 1 . 0 Ċ Ġ*/ Ċ abstract Ġclass ĠPlot ter Group < PARAMS : ĠViewGroup . LayoutParams >: ĠPlot ter () Ġ{ ĊĊĠ Ġ/* ĠLayout Params Ġ*/ ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠReturns Ġchild Ġlayout Ġparams . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġplot ter Ġchild Ġplot ter . ĊĠĠ Ġ*/ ĊĠ Ġprotected Ġfun Ġget Child LayoutParams ( plot ter : ĠPlot ter ): ĠPARAM S ? Ġ{ ĊĠĠĠ Ġval Ġold Params Ġ= Ġplot ter . layout Params Ġ?: Ġreturn Ġnull ĊĠĠĠ Ġreturn Ġtransform LayoutParams ( old Params ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠTransform Ġlayout Ġparams . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġold Params Ġold Ġparams . ĊĠĠ Ġ*/ ĊĠ Ġprotected Ġabstract Ġfun Ġtransform LayoutParams ( old Params : ĠViewGroup . LayoutParams ): ĠPARAM S ĊĊĠ Ġ/* ĠPlot ter Items Ġ*/ ĊĊĠ Ġprivate Ġval Ġplot ter Items Ġ= ĠArrayList < Plot ter >() ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠReturns Ġplot ter Ġitems . ĊĠĠ Ġ*/ ĊĠ Ġprotected Ġfun Ġget Plot ter Items (): ĠList < Plot ter > Ġ= Ġplot ter Items . to Mutable List () ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠAdd Ġplot ter . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġplot ter Ġplot ter . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġadd Plot ter ( plot ter : ĠPlot ter , Ġlayout Params : ĠPARAM S ?) Ġ{ ĊĠĠĠ Ġval Ġold Params Ġ= Ġplot ter . layout Params ĊĊĠĠĠ Ġif Ġ( old Params Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠ Ġplot ter . layout Params Ġ= Ġlayout Params ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ Ġplot ter . layout Params Ġ= Ġtransform LayoutParams ( old Params ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġplot ter Items . add ( plot ter ) ĊĠ Ġ} ĊĊĠ Ġ/* ĠTouch Ġ*/ ĊĊĠ Ġoverride Ġfun Ġget Touch Plot ter Id ( left : ĠInt , Ġtop : ĠInt , Ġtouch X : ĠInt , Ġtouch Y : ĠInt ): ĠInt Ġ{ ĊĠĠĠ Ġval Ġchild Plot ter Id Ġ= Ġget Child Touch Plot ter Id ( left , Ġtop , Ġtouch X , Ġtouch Y ) ĊĊĠĠĠ Ġif Ġ( child Plot ter Id Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠ Ġreturn Ġchild Plot ter Id ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġsuper . get Touch Plot ter Id ( left , Ġtop , Ġtouch X , Ġtouch Y ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠReturns Ġchild Ġtouch Ġplot ter Ġid . ĊĠĠ Ġ*/ ĊĠ Ġ@ Id Res ĊĠ Ġprotected Ġabstract Ġfun Ġget Child Touch Plot ter Id ( left : ĠInt , Ġtop : ĠInt , Ġtouch X : ĠInt , Ġtouch Y : ĠInt ): ĠInt ĊĊĠ Ġ/* ĠFind Child Ġ*/ ĊĊĠ Ġoverride Ġfun Ġget Plot ter ById ( plot ter Id : ĠInt ): ĠPlot ter ? Ġ{ ĊĠĠĠ Ġvar Ġplot ter Ġ= Ġsuper . get Plot ter ById ( plot ter Id ) ĊĊĠĠĠ Ġif Ġ( plot ter Ġ== Ġnull Ġ&& Ġplot ter Id Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠ Ġval Ġchild Items Ġ= Ġget Plot ter Items () ĊĊĠĠĠĠĠ Ġchild Items . forEach Ġ{ ĊĠĠĠĠĠĠĠ Ġplot ter Ġ= Ġit . get Plot ter ById ( plot ter Id ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( plot ter Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġreturn Ġplot ter ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġplot ter ĊĠ Ġ} Ċ Ċ }