package Ġcom . q icode . bezier mask Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics . Canvas Ċ import Ġandroid . graphics . Color . WHITE Ċ import Ġandroid . graphics . Paint Ċ import Ġandroid . graphics . Path Ċ import Ġandroid . support . constraint . Constraint Layout Ċ import Ġandroid . util . Attribute Set Ċ Ċ open Ġclass ĠBe zier Mask View Ġ@ Jvm Over loads Ġconstructor ( context : ĠContext , Ġattrs : ĠAttributeSet ? Ġ= Ġnull , Ġdef Attr : ĠInt Ġ= Ġ 0 ) Ġ: ĊĠĠĠ ĠConstraint Layout ( context , Ġattrs , Ġdef Attr ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åºķ éĥ¨ çŁ© å½¢ åĮºåŁŁ çļĦ é«ĺåº¦ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġground Height Ġ= Ġ 2 0 f ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Invalidate () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åºķ éĥ¨ å¼ § å½¢ çļĦ é«ĺåº¦ ï¼Ī éĻ¤ åİ» çŁ© å½¢ çļĦ é«ĺåº¦ ï¼ī ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġground Size Ġ= Ġ 6 0 f ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Invalidate () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ åºķ éĥ¨ çļĦ é¢ľèī² ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġground Color Ġ= ĠWH ITE ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Invalidate () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ å¼ § å½¢ çļĦ åľĨ æ»ĳ ç¨ĭ åº¦ ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġsmooth Ġ= Ġ 0 . 2 f ĊĠĠĠĠĠĠĠ Ġset ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfield Ġ= Ġvalue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpost Invalidate () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġpath Ġ= ĠPath () ĊĠĠĠ Ġprivate Ġval Ġpaint Ġ= ĠPaint () ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtyped Array Ġ= Ġcontext . obtain Styled Attributes ( attrs , ĠR . style able . Bezier Mask View ) ĊĠĠĠĠĠĠĠ Ġsmooth Ġ= Ġtyped Array . get Float ( R . style able . Bezier Mask View _ smooth , Ġsmooth ) ĊĠĠĠĠĠĠĠ Ġground Height Ġ= Ġtyped Array . get Dimension ( R . style able . Bezier Mask View _ ground Height , Ġground Height ) ĊĠĠĠĠĠĠĠ Ġground Size Ġ= Ġtyped Array . get Dimension ( R . style able . Bezier Mask View _ ground Size , Ġground Size ) ĊĠĠĠĠĠĠĠ Ġground Color Ġ= Ġtyped Array . getColor ( R . style able . Bezier Mask View _ ground Color , Ġground Color ) ĊĠĠĠĠĠĠĠ Ġtyped Array . recycle () ĊĊĠĠĠĠĠĠĠ Ġpaint . color Ġ= Ġground Color ĊĠĠĠĠĠĠĠ Ġpaint . style Ġ= ĠPaint . Style . FILL _ AND _ ST RO KE ĊĠĠĠĠĠĠĠ Ġpaint . is Anti Alias Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġpaint . is D ither Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġpaint . is Filter Bitmap Ġ= Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Draw ( canvas : ĠCanvas ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Draw ( canvas ) ĊĊĠĠĠĠĠĠĠ Ġdraw Ground ( canvas ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġdraw Ground ( canvas : ĠCanvas ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġpath . reset () ĊĠĠĠĠĠĠĠ Ġupdate Path ( path ) ĊĠĠĠĠĠĠĠ Ġcanvas ?. draw Path ( path , Ġpaint ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprotected Ġfun Ġupdate Path ( path : ĠPath , Ġexclude Radius : ĠFloat Ġ= Ġ 8 f ): ĠPath Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġground Ġ= Ġmeasured Height Ġ- Ġground Height Ġ- Ġexclude Radius ĊĠĠĠĠĠĠĠ Ġval Ġtop Ġ= Ġground Ġ- Ġground Size ĊĠĠĠĠĠĠĠ Ġval Ġpercent Ġ= Ġ 0 . 5 f ĊĠĠĠĠĠĠĠ Ġpath . reset () ĊĠĠĠĠĠĠĠ Ġpath . moveTo ( 0 f , Ġmeasured Height . toFloat ()) ĊĠĠĠĠĠĠĠ Ġpath . lineTo ( 0 f , Ġground ) ĊĠĠĠĠĠĠĠ Ġpath . quad To ( meas ured Width Ġ* Ġ( percent Ġ- Ġsmooth ), Ġtop , Ġmeasured Width Ġ* Ġ 0 . 5 f , Ġtop ) ĊĠĠĠĠĠĠĠ Ġpath . quad To ( meas ured Width Ġ* Ġ( percent Ġ+ Ġsmooth ), Ġtop , Ġmeasured Width . toFloat (), Ġground ) ĊĠĠĠĠĠĠĠ Ġpath . lineTo ( meas ured Width . toFloat (), Ġmeasured Height . toFloat ()) ĊĠĠĠĠĠĠĠ Ġpath . close () ĊĠĠĠĠĠĠĠ Ġreturn Ġpath ĊĠĠĠ Ġ} Ċ }