package Ġcom . k ome y ama . openg les _ paint _ demo _ android Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . PointF Ċ import Ġandroid . opengl . GL Surface View Ċ import Ġandroid . util . Attribute Set Ċ import Ġandroid . view . Motion Event Ċ Ċ class ĠMy GL Surface ( context : ĠContext , Ġattrs : ĠAttributeSet ) Ġ: ĠGL Surface View ( context , Ġattrs ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġrenderer : ĠMy GL Renderer Ġ= ĠMy GL Renderer ( context ) ĊĊĠĠĠ Ġprivate Ġvar Ġpre Tap Point : ĠPoint F ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġtap Point : ĠPoint F ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġdisplay Width Ġ= Ġ 0 . 0 f ĊĠĠĠ Ġprivate Ġvar Ġdisplay Height Ġ= Ġ 0 . 0 f ĊĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . set EGL Context Client Version ( 2 ) ĊĠĠĠĠĠĠĠ Ġthis . set Renderer ( renderer ) ĊĠĠĠĠĠĠĠ Ġdisplay Width Ġ= ĠMainActivity . display Width . toFloat () ĊĠĠĠĠĠĠĠ Ġdisplay Height Ġ= ĠMainActivity . display Height . toFloat () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Touch Event ( event : ĠMotion Event ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( event . action ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMotion Event . ACTION _ MOVE Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtap Point Ġ= ĠPoint F ( event . x , Ġevent . y ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( pre Tap Point Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpre Tap Point Ġ= Ġtap Point ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpoints Ġ= Ġget Line Points ( pre Tap Point !! , Ġtap Point !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrenderer . points Ġ= Ġpoints . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPoint F ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( 2 Ġ* Ġit . x Ġ- Ġdisplay Width ) Ġ/ Ġdisplay Width , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( 2 Ġ* Ġit . y Ġ- Ġdisplay Height ) Ġ/ Ġdisplay Height ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġas ĠMutable List < PointF > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpre Tap Point Ġ= Ġtap Point ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMotion Event . ACTION _ UP Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpre Tap Point Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġrenderer . clear () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġchange Color ( rgb : ĠFloat Array ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrenderer . change Color ( rgb ) ĊĠĠĠ Ġ} Ċ }