package Ġcom . ere z studio . motion monitor . component Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Paint Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . View ĊĊ Ċ class ĠCircle View ( context : ĠContext ?, Ġattrs : ĠAttributeSet ?) Ġ: ĠView ( context , Ġattrs ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġm Paint Ġ= ĠPaint () ĊĠĠĠ Ġprivate Ġvar Ġx C Ġ= Ġ 0 f ĊĠĠĠ Ġprivate Ġvar Ġy C Ġ= Ġ 0 f ĊĠĠĠ Ġprivate Ġvar Ġview Width Ġ= Ġ 0 ĊĠĠĠ Ġprivate Ġvar Ġview Height Ġ= Ġ 0 ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Size Changed ( w : ĠInt , Ġh : ĠInt , Ġold w : ĠInt , Ġold h : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Size Changed ( w , Ġh , Ġold w , Ġold h ) ĊĠĠĠĠĠĠĠ Ġview Width Ġ= Ġw ĊĠĠĠĠĠĠĠ Ġview Height Ġ= Ġh ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmove Circle ( x Coordinate : ĠFloat , Ġy Coordinate : ĠFloat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġx C Ġ-= Ġx Coordinate ĊĠĠĠĠĠĠĠ Ġy C Ġ+= Ġy Coordinate ĊĠĠĠĠĠĠĠ Ġ// Make Ġsure Ġwe Ġdo Ġnot Ġdraw Ġoutside Ġthe Ġbounds Ġof Ġthe Ġview . ĊĠĠĠĠĠĠĠ Ġ// So Ġthe Ġmax Ġvalues Ġwe Ġcan Ġdraw Ġto Ġare Ġthe Ġbounds Ġ+ Ġthe Ġsize Ġof Ġthe Ġcircle ĊĠĠĠĠĠĠĠ Ġif Ġ( xC Ġ<= Ġ 0 Ġ+ ĠC IR CLE _ RADIUS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx C Ġ= Ġ 0 Ġ+ ĠC IR CLE _ RADIUS ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( xC Ġ>= Ġview Width Ġ- ĠC IR CLE _ RADIUS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġx C Ġ= Ġview Width Ġ- ĠC IR CLE _ RADIUS ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( y C Ġ<= Ġ 0 Ġ+ ĠC IR CLE _ RADIUS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy C Ġ= Ġ 0 Ġ+ ĠC IR CLE _ RADIUS ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( y C Ġ>= Ġview Height Ġ- ĠC IR CLE _ RADIUS ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġy C Ġ= Ġview Height Ġ- ĠC IR CLE _ RADIUS ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Draw ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Paint . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcolor Ġ= ĠColor . BLACK ĊĠĠĠĠĠĠĠĠĠĠĠ ĠstrokeWidth Ġ= Ġ 3 f ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= ĠPaint . Style . FILL _ AND _ ST RO KE ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcanvas . draw Circle ( xC , Ġy C , ĠC IR CLE _ RADIUS , Ġm Paint ) ĊĠĠĠĠĠĠĠ Ġ// We Ġneed Ġto Ġcall Ġinvalidate Ġeach Ġtime , Ġso Ġthat Ġthe Ġview Ġcontinuous ly Ġdraw s ĊĠĠĠĠĠĠĠ Ġinvalidate () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠC IR CLE _ RADIUS Ġ= Ġ 5 0 f Ġ// pixels ĊĠĠĠ Ġ} Ċ }