package Ġdemo . shape . path . view . samples Ċ Ċ import Ġandroid . graphics . Color Ċ import Ġandroid . graphics . PointF Ċ import Ġdemo . shape . path . view . R Ċ import Ġshape . path . view .* Ċ import Ġshape . path . view . fill . provider .* Ċ import Ġshape . path . view . graph . function . Custom Lines Builder Ċ import Ġshape . path . view . graph . function . Wave Function Ċ import Ġshape . path . view . mark . Mark Ċ import Ġshape . path . view . point . converter . Coordinate Converter Ċ import Ġshape . path . view . point . converter . Percentage Point Converter Ċ import Ġkotlin . collections . ArrayList Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠG le b Ġon Ġ 1 / 2 9 / 1 8 . Ċ Ġ*/ Ċ class ĠShape Manager Ġ{ ĊĊĠĠĠ Ġfun Ġget Shapes ( sample : ĠSample ): ĠList < Path Shape > Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( sample ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSample . SIMPLE _ SH AP ES Ġ-> Ġreturn Ġget Sample Shapes () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSample . CON TO UR _ SAMPLE Ġ-> Ġreturn Ġget Contour Samples () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSample . GRAD IENT _ AND _ TEXTURE _ SAMPLE Ġ-> Ġreturn Ġget Gradient Samples () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSample . SHAPE _ SET _ SAMPLE Ġ-> Ġreturn Ġget Set Of Shape Samples () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSample . POINT _ CONVER TER _ SAMPLE Ġ-> Ġreturn Ġget Point Converter Samples () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSample . MARK S _ SAMPLE Ġ-> Ġreturn Ġget Marks Samples () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSample . TEXT _ SAMPLE Ġ-> Ġreturn ĠgetText Path Samples () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSample . FILL _ WITH _ EFFECT S _ SAMPLE Ġ-> Ġreturn Ġget Sample Effects () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġarray ListOf () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Sample Shapes (): ĠList < Path Shape > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// 1 st ĊĠĠĠĠĠĠĠ Ġvar Ġlist Ġ= Ġarray ListOf < Path Shape >() ĊĠĠĠĠĠĠĠ Ġvar Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġvar Ġpoints Ġ= ĠArrayList < PointF >() ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 1 f , Ġ 0 . 9 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 5 f , Ġ 0 . 1 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 9 f , Ġ 0 . 9 f )) ĊĠĠĠĠĠĠĠ Ġpath Provider . put Lines ( points , Ġtrue , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġvar Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . setColor ( Color . GRAY ) ĊĠĠĠĠĠĠĠ Ġbody . set Rounded C orners ( 3 0 f ) ĊĠĠĠĠĠĠĠ Ġvar Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 1 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour . set Rounded C orners ( 3 0 f ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĠĠĠĠĠĠĠĠ Ġ// 2 nd ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Rect ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 9 f , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 1 0 f ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĠĠĠĠĠĠĠ Ġ// 3 rd ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Star ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 4 f , Ġ 0 . 3 f , Ġ 0 f , 1 0 , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . setColor ( Color . DK GRAY ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĠĠĠĠĠĠĠ Ġ// 4 th ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Arc ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 7 f , Ġ 3 0 f , Ġ 2 3 0 f , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . LT GRAY ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 1 0 f ) ĊĠĠĠĠĠĠĠ Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . setColor ( Color . BLUE ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Contour Samples (): ĠList < Path Shape > Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlist Ġ= Ġarray ListOf < Path Shape >() ĊĊĠĠĠĠĠĠĠ Ġ// 1 st ĊĠĠĠĠĠĠĠ Ġvar Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Rect ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 9 f , ĠPath Provider . Path Operation . ADD ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . setColor ( Color . GRAY ) ĊĠĠĠĠĠĠĠ Ġvar Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 2 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour . add Dot Params ( 2 0 f , Ġ 2 0 f ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĠĠĠĠĠĠĠ Ġ// 2 nd ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Rect ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 9 f , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 2 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour . add Dot Params ( 2 0 f , Ġ 4 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour . add Dot Params ( 4 0 f , Ġ 4 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour . add Dot Params ( 4 0 f , Ġ 4 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour . setIs Dot Rounded ( true ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĠĠĠĠĠĠĠ Ġ// 3 rd ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Rect ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 9 f , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . setColor ( Color . DK GRAY ) ĊĠĠĠĠĠĠĠ Ġbody . set Rounded C orners ( 5 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 2 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour . add Dot Params ( 4 0 f , Ġ 2 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour . set Rounded C orners ( 5 0 f ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Gradient Samples (): ĠList < Path Shape > Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlist Ġ= Ġarray ListOf < Path Shape >() ĊĊĠĠĠĠĠĠĠ Ġ// 1 st ĊĠĠĠĠĠĠĠ Ġvar Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Rect ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 9 f , ĠPath Provider . Path Operation . ADD ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġvar Ġgradient Ġ= ĠGradient Provider () ĊĠĠĠĠĠĠĠ Ġgradient . add Color ( Color . BLACK ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Color ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Color ( Color . BLACK ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Angle ( 9 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setType ( Gradient Provider . Type . LINEAR ) ĊĠĠĠĠĠĠĠ Ġbody . set Gradient ( gradient ) ĊĠĠĠĠĠĠĠ Ġvar Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 2 0 f ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĠĠĠĠĠĠĠ Ġ// 2 nd ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Rect ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 9 f , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġgradient Ġ= ĠGradient Provider () ĊĠĠĠĠĠĠĠ Ġgradient . add Color ( Color . BLACK ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Color ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Color ( Color . BLACK ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setType ( Gradient Provider . Type . RAD IAL ) ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 2 0 f ) ĊĠĠĠĠĠĠĠ Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . set Gradient ( gradient ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĠĠĠĠĠĠĠ Ġ// 3 rd ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Round Rect ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 9 f , Ġ 0 . 2 f , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġgradient Ġ= ĠGradient Provider () ĊĠĠĠĠĠĠĠ Ġgradient . add Color ( Color . BLUE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Color ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Color ( Color . BLUE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setType ( Gradient Provider . Type . SW EE P ) ĊĠĠĠĠĠĠĠ Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . set Gradient ( gradient ) ĊĠĠĠĠĠĠĠ Ġgradient Ġ= ĠGradient Provider () ĊĠĠĠĠĠĠĠ Ġgradient . add Color ( Color . BLACK , Ġ 0 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Color ( Color . RED , 0 . 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Color ( Color . WHITE , 0 . 5 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Color ( Color . RED , 0 . 9 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Color ( Color . BLACK , 1 f ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setType ( Gradient Provider . Type . LINEAR ) ĊĠĠĠĠĠĠĠ Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . set Gradient ( gradient ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 1 0 0 f ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĠĠĠĠĠĠĠ Ġ// 4 th ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Circle ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 4 f , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . setColor ( Color . CY AN ) ĊĠĠĠĠĠĠĠ Ġbody . set Texture ( R . drawable . bridge ) ĊĠĠĠĠĠĠĠ Ġbody . setFill Type ( Fill Provider . Fill Type . CLAMP ) ĊĠĠĠĠĠĠĠ Ġbody . fit Texture To Size ( 0 . 8 f , Ġ 0 . 8 f , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 1 0 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour . set Texture ( R . mip map . ic _ launcher ) ĊĠĠĠĠĠĠĠ Ġcontour . fit Texture To Size ( 6 0 f , Ġ 6 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour . setFill Type ( Fill Provider . Fill Type . REPEAT ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Point Converter Samples (): ĠList < Path Shape > Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlist Ġ= Ġarray ListOf < Path Shape >() ĊĊĠĠĠĠĠĠĠ Ġ// 1 st ĊĠĠĠĠĠĠĠ Ġvar Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Rect ( PointF ( 2 0 0 f , Ġ 2 0 0 f ), Ġ 1 0 0 f , Ġ 1 0 0 f , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġvar Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . setColor ( Color . LT GRAY ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body )) ĊĠĠĠĠĠĠĠ Ġ// 2 nd ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Rect ( PointF ( 2 0 0 f , Ġ 2 0 0 f ), Ġ 1 0 0 f , Ġ 1 0 0 f , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . setColor ( Color . LT GRAY ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Coordinate Converter ( 4 0 0 f , Ġ 5 0 0 f ))) ĊĠĠĠĠĠĠĠ Ġ// 3 rd ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Rect ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 9 f , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . setColor ( Color . LT GRAY ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Set Of Shape Samples (): ĠList < Path Shape > Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlist Ġ= Ġarray ListOf < Path Shape >() ĊĊĠĠĠĠĠĠĠ Ġ// 1 st ĊĠĠĠĠĠĠĠ Ġvar Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Rect ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 9 f , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġpath Provider . put O val ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 6 f , Ġ 1 f , ĠPath Provider . Path Operation . JOIN ) ĊĠĠĠĠĠĠĠ Ġpath Provider . put O val ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 1 f , Ġ 0 . 6 f , ĠPath Provider . Path Operation . JOIN ) ĊĠĠĠĠĠĠĠ Ġvar Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 2 0 f ) ĊĠĠĠĠĠĠĠ Ġvar Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . setColor ( Color . LT GRAY ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĠĠĠĠĠĠĠ Ġ// 2 nd ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Rect ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 9 f , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġpath Provider . put O val ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 6 f , Ġ 1 f , ĠPath Provider . Path Operation . INTER SECT ) ĊĠĠĠĠĠĠĠ Ġpath Provider . put O val ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 1 f , Ġ 0 . 6 f , ĠPath Provider . Path Operation . INTER SECT ) ĊĠĠĠĠĠĠĠ Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 2 0 f ) ĊĠĠĠĠĠĠĠ Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . setColor ( Color . LT GRAY ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ// 3 rd ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Rect ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 9 f , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġpath Provider . put O val ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 6 f , Ġ 1 f , ĠPath Provider . Path Operation . SUB ) ĊĠĠĠĠĠĠĠ Ġpath Provider . put O val ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 1 f , Ġ 0 . 6 f , ĠPath Provider . Path Operation . SUB ) ĊĠĠĠĠĠĠĠ Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 2 0 f ) ĊĠĠĠĠĠĠĠ Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . setColor ( Color . LT GRAY ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ// 4 th ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Rect ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 9 f , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġpath Provider . put O val ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 6 f , Ġ 0 . 9 f , ĠPath Provider . Path Operation . SUB _ RE VERSE ) ĊĠĠĠĠĠĠĠ Ġpath Provider . put O val ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 6 f , ĠPath Provider . Path Operation . SUB _ RE VERSE ) ĊĠĠĠĠĠĠĠ Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 2 0 f ) ĊĠĠĠĠĠĠĠ Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . setColor ( Color . LT GRAY ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Marks Samples (): ĠList < Path Shape > Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlist Ġ= Ġarray ListOf < Path Shape >() ĊĠĠĠĠĠĠĠ Ġvar Ġpoints Ġ= ĠArrayList < PointF >() ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 1 f , Ġ 0 . 9 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 5 f , Ġ 0 . 1 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 9 f , Ġ 0 . 9 f )) ĊĠĠĠĠĠĠĠ Ġ// 1 st ĊĠĠĠĠĠĠĠ Ġvar Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Lines ( points , Ġtrue , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġvar Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 2 0 f ) ĊĠĠĠĠĠĠĠ Ġvar Ġmark Ġ= ĠMark () ĊĠĠĠĠĠĠĠ Ġmark . set Drawable ( R . drawable . mark ) ĊĠĠĠĠĠĠĠ Ġmark . setSelected Drawable ( R . drawable . mark _ selected ) ĊĠĠĠĠĠĠĠ Ġmark . fit Drawable To Size ( 5 0 f , 5 0 f ) ĊĠĠĠĠĠĠĠ Ġmark . set Touch Bounds ( 1 0 0 f , Ġ 1 0 0 f ) ĊĠĠĠĠĠĠĠ Ġmark . set Check able ( true ) ĊĠĠĠĠĠĠĠ Ġmark . add Positions ( points ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Mark ( mark ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ// 2 nd ĊĠĠĠĠĠĠĠ Ġpoints Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 1 f , Ġ 0 . 1 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 5 f , Ġ 0 . 3 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 6 f , Ġ 0 . 4 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 7 f , Ġ 0 . 6 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 9 f , Ġ 0 . 8 f )) ĊĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Lines ( points , Ġfalse , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 2 0 f ) ĊĠĠĠĠĠĠĠ Ġmark Ġ= ĠMark () ĊĠĠĠĠĠĠĠ Ġmark . set Drawable ( R . mip map . ic _ launcher ) ĊĠĠĠĠĠĠĠ Ġmark . fit Drawable To Size ( 5 0 f , 5 0 f ) ĊĠĠĠĠĠĠĠ Ġmark . set Touch Bounds ( 1 0 0 f , Ġ 1 0 0 f ) ĊĠĠĠĠĠĠĠ Ġvar Ġtc Ġ= ĠText Configurator () ĊĠĠĠĠĠĠĠ Ġtc . setTextColor ( Color . BLUE ) ĊĠĠĠĠĠĠĠ Ġtc . setStyle ( Text Configurator . Style . BOLD , ĠText Configurator . Style . UNDER LINE ) ĊĠĠĠĠĠĠĠ Ġtc . setText Size ( 2 0 f ) ĊĠĠĠĠĠĠĠ Ġtc . setText Offset ( PointF ( 0 f , Ġ- 3 0 f )) ĊĠĠĠĠĠĠĠ Ġmark . setText Configurator ( tc ) ĊĠĠĠĠĠĠĠ Ġpoints . forEach Ġ{ Ġmark . add Position ( it , Ġit . toString ()) Ġ} ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Mark ( mark ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ// 3 rd ĊĠĠĠĠĠĠĠ Ġpoints Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 1 f , Ġ 0 . 1 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 5 f , Ġ 0 . 3 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 6 f , Ġ 0 . 4 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 7 f , Ġ 0 . 6 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 9 f , Ġ 0 . 8 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 1 f , Ġ 0 . 9 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 5 f , Ġ 0 . 1 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 9 f , Ġ 0 . 9 f )) ĊĠĠĠĠĠĠĠ Ġmark Ġ= ĠMark () ĊĠĠĠĠĠĠĠ Ġmark . set Drawable ( R . mip map . ic _ launcher ) ĊĠĠĠĠĠĠĠ Ġmark . fit Drawable To Size ( 5 0 f , 5 0 f ) ĊĠĠĠĠĠĠĠ Ġmark . set Touch Bounds ( 1 0 0 f , Ġ 1 0 0 f ) ĊĠĠĠĠĠĠĠ Ġmark . add Positions ( points . sub List ( 0 , 5 )) ĊĠĠĠĠĠĠĠ Ġmark . setId ( 1 ) ĊĠĠĠĠĠĠĠ Ġvar Ġmark 2 Ġ= ĠMark () ĊĠĠĠĠĠĠĠ Ġmark 2 . set Drawable ( R . drawable . mark ) ĊĠĠĠĠĠĠĠ Ġmark 2 . fit Drawable To Size ( 5 0 f , 5 0 f ) ĊĠĠĠĠĠĠĠ Ġmark 2 . set Touch Bounds ( 1 0 0 f , Ġ 1 0 0 f ) ĊĠĠĠĠĠĠĠ Ġmark 2 . add Positions ( points . sub List ( 5 , 8 )) ĊĠĠĠĠĠĠĠ Ġmark 2 . setId ( 2 ) ĊĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Lines ( points , Ġfalse , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 2 0 f ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Mark ( mark ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Mark ( mark 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠgetText Path Samples (): ĠList < Path Shape > Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġlist Ġ= Ġarray ListOf < Path Shape >() ĊĊĠĠĠĠĠĠĠ Ġ// 1 st ĊĠĠĠĠĠĠĠ Ġvar Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġvar Ġtc Ġ= ĠText Configurator () ĊĠĠĠĠĠĠĠ Ġtc . setStyle ( Text Configurator . Style . BOLD , ĠText Configurator . Style . ITAL IC ) ĊĠĠĠĠĠĠĠ Ġpath Provider . put Text ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 5 f , Ġ 0 . 2 f ," Hello !", Ġtc , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġvar Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . setColor ( Color . LT GRAY ) ĊĠĠĠĠĠĠĠ Ġvar Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 5 f ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĠĠĠĠĠĠĠ Ġ// 2 nd ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġtc Ġ= ĠText Configurator () ĊĠĠĠĠĠĠĠ Ġtc . setStyle ( Text Configurator . Style . UNDER LINE ) ĊĠĠĠĠĠĠĠ Ġtc . setText Size ( 5 0 f ) ĊĠĠĠĠĠĠĠ Ġpath Provider . put Text ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 8 f , Ġ 0 . 5 f ," Hello !", Ġtc , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġvar Ġgradient Ġ= ĠGradient Provider () ĊĠĠĠĠĠĠĠ Ġgradient . set Length ( 5 0 f ) ĊĠĠĠĠĠĠĠ Ġgradient . add Color ( Color . BLUE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Color ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Color ( Color . BLUE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setType ( Gradient Provider . Type . RAD IAL ) ĊĠĠĠĠĠĠĠ Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . set Gradient ( gradient ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ// 3 rd ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġtc Ġ= ĠText Configurator () ĊĠĠĠĠĠĠĠ Ġtc . setStyle ( Text Configurator . Style . STRI KE ) ĊĠĠĠĠĠĠĠ Ġtc . setText Size ( 5 0 f ) ĊĠĠĠĠĠĠĠ Ġpath Provider . put Text ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 8 f , Ġ 0 . 5 f ," Hello !", Ġtc , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġgradient Ġ= ĠGradient Provider () ĊĠĠĠĠĠĠĠ Ġgradient . set Length ( 5 0 f ) ĊĠĠĠĠĠĠĠ Ġgradient . add Color ( Color . RED ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Color ( Color . WHITE ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. setType ( Gradient Provider . Type . LINEAR ) ĊĠĠĠĠĠĠĠ Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . set Gradient ( gradient ) ĊĠĠĠĠĠĠĠ Ġbody . set Rounded C orners ( 3 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 1 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour . add Dot Params ( 1 5 f , Ġ 1 5 f ) ĊĠĠĠĠĠĠĠ Ġcontour . setIs Dot Rounded ( true ) ĊĠĠĠĠĠĠĠ Ġcontour . set Rounded C orners ( 3 0 f ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Sample Effects (): ĠList < Path Shape > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// 1 st ĊĠĠĠĠĠĠĠ Ġvar Ġlist Ġ= Ġarray ListOf < Path Shape >() ĊĠĠĠĠĠĠĠ Ġvar Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġvar Ġpoints Ġ= ĠArrayList < PointF >() ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 1 f , Ġ 0 . 9 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 5 f , Ġ 0 . 1 f )) ĊĠĠĠĠĠĠĠ Ġpoints . add ( PointF ( 0 . 9 f , Ġ 0 . 9 f )) ĊĠĠĠĠĠĠĠ Ġpath Provider . put Lines ( points , Ġtrue , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġvar Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . set Texture ( R . drawable . bridge ) ĊĠĠĠĠĠĠĠ Ġbody . fit Texture To Size ( 1 f , Ġ 1 f , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġbody . setFill Type ( Fill Provider . Fill Type . CLAMP ) ĊĠĠĠĠĠĠĠ Ġbody . set Rounded C orners ( 3 0 f ) ĊĠĠĠĠĠĠĠ Ġvar Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLUE ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 1 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour . set Rounded C orners ( 3 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour . set G low Effect ( 3 0 f , ĠFill Provider . G low Type . SOLID ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĠĠĠĠĠĠĠ Ġ// 2 nd ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Rect ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 9 f , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . set Texture ( R . drawable . bridge ) ĊĠĠĠĠĠĠĠ Ġbody . fit Texture To Size ( 1 f , Ġ 1 f , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġbody . setFill Type ( Fill Provider . Fill Type . CLAMP ) ĊĠĠĠĠĠĠĠ Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . BLACK ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 3 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour . set G low Effect ( 3 0 f , ĠFill Provider . G low Type . INNER ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĠĠĠĠĠĠĠ Ġ// 3 rd ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put O val ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 9 f , ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . set Texture ( R . drawable . bridge ) ĊĠĠĠĠĠĠĠ Ġbody . fit Texture To Size ( 1 f , Ġ 1 f , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġbody . setFill Type ( Fill Provider . Fill Type . CLAMP ) ĊĠĠĠĠĠĠĠ Ġbody . set Em boss Effect ( 4 5 f , ĠFill Provider . Em boss Type . NORMAL ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĠĠĠĠĠĠĠ Ġ// 4 th ĊĠĠĠĠĠĠĠ Ġpath Provider Ġ= ĠPath Provider () ĊĠĠĠĠĠĠĠ Ġpath Provider . put Text ( PointF ( 0 . 5 f , Ġ 0 . 5 f ), Ġ 0 . 9 f , Ġ 0 . 5 f , Ġ" Hello !", ĠText Configurator (), ĠPath Provider . Path Operation . ADD ) ĊĠĠĠĠĠĠĠ Ġcontour Ġ= ĠCont our Fill Provider () ĊĠĠĠĠĠĠĠ Ġcontour . setColor ( Color . DK GRAY ) ĊĠĠĠĠĠĠĠ Ġcontour . setWidth ( 1 0 f ) ĊĠĠĠĠĠĠĠ Ġcontour . set Shadow ( 1 5 f , Ġ 1 0 f , Ġ 1 0 f , ĠColor . BLACK ) ĊĠĠĠĠĠĠĠ Ġbody Ġ= ĠBody Fill Provider () ĊĠĠĠĠĠĠĠ Ġbody . set Texture ( R . drawable . bridge ) ĊĠĠĠĠĠĠĠ Ġbody . fit Texture To Size ( 1 f , Ġ 1 f , Ġtrue ) ĊĠĠĠĠĠĠĠ Ġbody . setFill Type ( Fill Provider . Fill Type . CLAMP ) ĊĠĠĠĠĠĠĠ Ġlist . add ( Path Shape . create () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Path ( path Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Body ( body ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. fill Contour ( contour ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Point Converter ( Percentage Point Converter ())) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} Ċ }