package Ġcom . xh . kotlin . kotlin . view part . view base Ċ Ċ import Ġandroid . app . Direct Action Ċ import Ġandroid . content . Context Ċ import Ġandroid . graphics .* Ċ import Ġandroid . view . View Ċ import Ġkotlin . math . round Ċ Ċ class ĠPath View Ġ: ĠView Ġ{ ĊĠĠĠ Ġ// åĪĿå§ĭåĮĸ ä¸Ģä¸ª çĶ» ç¬Ķ å¯¹è±¡ ĊĠĠĠ Ġprivate Ġvar Ġpaint Ġ= ĠPaint () ĊĊĠĠĠ Ġconstructor ( context : ĠContext ) Ġ: Ġsuper ( context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġset Paint ( paint ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun Ġon Draw ( canvas : ĠCanvas ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Draw ( canvas ) ĊĠĠĠĠĠĠĠ Ġ/** * ĊĠĠĠĠĠĠĠĠ Ġ* Ġ ç»ĺ åĪ¶ è·¯å¾Ħ çļĦ åŃ¦ä¹ł ä½¿çĶ¨ ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġvar Ġpath Ġ= ĠPath () ĊĠĠĠĠĠĠĠ Ġ// æĮĩå®ļ ç»ĺ åĪ¶ çļĦ èµ· çĤ¹ ĊĠĠĠĠĠĠĠ Ġpath . moveTo ( 1 0 f , Ġ 1 0 f ) ĊĠĠĠĠĠĠĠ Ġ// ç»ĺ åĪ¶ çļĦ ç»Ī çĤ¹ ä¹Łæĺ¯ ä¸ĭ ä¸ĢæĿ¡ çº¿ çļĦ èµ· çĤ¹ ĊĠĠĠĠĠĠĠ Ġpath . lineTo ( 4 0 f , Ġ 4 0 f ) ĊĠĠĠĠĠĠĠ Ġpath . lineTo ( 1 0 0 f , Ġ 4 0 f ) ĊĠĠĠĠĠĠĠ Ġ// è°ĥçĶ¨ è¿Ļä¸ª æĸ¹æ³ķ å½¢ æĪĲ ä¸Ģä¸ª éĹŃ åĲĪ çļĦ çİ¯ ĊĠĠĠĠĠĠĠ Ġpath . close () ĊĠĠĠĠĠĠĠ Ġ// è°ĥçĶ¨ draw Path ç»ĺ åĪ¶ è·¯å¾Ħ ĊĠĠĠĠĠĠĠ Ġcanvas . draw Path ( path , Ġpaint ) ĊĠĠĠĠĠĠĠ Ġvar Ġpath Rect Ġ= ĠPath () ĊĠĠĠĠĠĠĠ Ġval Ġrect f Ġ= ĠRect F ( 1 0 0 f , 1 0 0 f , 2 0 0 f , 6 0 0 f ) ĊĠĠĠĠĠĠĠ Ġpath Rect . add Rect ( rect f , ĠPath . Direction . CC W ) ĊĠĠĠĠĠĠĠ Ġpaint . color Ġ= ĠColor . BLUE ĊĠĠĠĠĠĠĠ Ġ// ç»ĺ åĪ¶ çŁ© å½¢ è·¯å¾Ħ ĊĠĠĠĠĠĠĠ Ġcanvas . draw Path ( path Rect , paint ) ĊĠĠĠĠĠĠĠ Ġpaint . color Ġ= ĠColor . BLACK ĊĠĠĠĠĠĠĠ Ġ// ç»ĺ åĪ¶ åľĨ è§Ĵ çŁ© å½¢ è·¯å¾Ħ ĊĠĠĠĠĠĠĠ Ġval Ġround rect f Ġ= ĠRect F ( 3 0 0 f , 3 0 0 f , 5 0 0 f , 8 0 0 f ) ĊĠĠĠĠĠĠĠ Ġval Ġround Path Ġ= ĠPath () ĊĠĠĠĠĠĠĠĠ Ġround Path . add Round Rect ( round rect f , 2 0 f , 1 0 f , Path . Direction . CC W ) ĊĠĠĠĠĠĠĠ Ġcanvas . draw Path ( round Path , paint ) ĊĊĊĊĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġfun Ġset Paint ( paint : ĠPaint ) Ġ{ ĊĠĠĠĠĠĠĠ Ġpaint . color Ġ= ĠColor . RED ĊĠĠĠĠĠĠĠ Ġpaint . style Ġ= ĠPaint . Style . ST RO KE ĊĠĠĠĠĠĠĠ Ġpaint . stroke Width Ġ= Ġ 5 f ĊĠĠĠĠĠĠĠ Ġpaint . is Anti Alias Ġ= Ġtrue ĊĊĠĠĠ Ġ} Ċ }