package Ġga . h arr ys ul li van . lang sy . components Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . Paint Ċ import Ġandroid . graphics . Path Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . Motion Event Ċ import Ġandroid . view . View Ċ Ċ class ĠPaint View Ġ: ĠView Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġpath Ġ= ĠPath () ĊĠĠĠ Ġprivate Ġval Ġbrush Ġ= ĠPaint () ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġinit ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbrush . is Anti Alias Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġbrush . color Ġ= ĠColor . WHITE ĊĠĠĠĠĠĠĠ Ġbrush . style Ġ= ĠPaint . Style . ST RO KE ĊĠĠĠĠĠĠĠ Ġbrush . stroke Join Ġ= ĠPaint . Join . ROUND ĊĠĠĠĠĠĠĠ Ġbrush . stroke Width Ġ= Ġ 8 f ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ) Ġ: Ġsuper ( context , Ġattrs ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet , Ġdef Style : ĠInt ) Ġ: Ġsuper ( ĊĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠ Ġattrs , ĊĠĠĠĠĠĠĠ Ġdef Style ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġinit ( context ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Touch Event ( event : ĠMotion Event ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġpoint X Ġ= Ġevent . x ĊĠĠĠĠĠĠĠ Ġval Ġpoint Y Ġ= Ġevent . y ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( event . action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMotion Event . ACTION _ DOWN Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpath . moveTo ( point X , Ġpoint Y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMotion Event . ACTION _ MOVE Ġ-> Ġpath . lineTo ( point X , Ġpoint Y ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġreturn Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġpost Invalidate () ĊĠĠĠĠĠĠĠ Ġreturn Ġfalse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Draw ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcanvas . draw Path ( path , Ġbrush ) ĊĠĠĠ Ġ} Ċ } Ċ