package Ġcom . st ef an os iano . power ful _ libraries . image view . shape Ċ Ċ /** ĠMode Ġof Ġthe Ġshape Ġof Ġthe Ġimage . Ġ*/ Ċ enum Ġclass ĠP iv Shape Mode Ġconstructor ( internal Ġval Ġvalue : ĠInt ) Ġ{ ĊĊĠĠĠ Ġ/** ĠNormal Ġ( default ) Ġshape . Ġ*/ ĊĠĠĠ ĠNORMAL ( 0 ), ĊĊĠĠĠ Ġ/** ĠCircle Ġshape . Ġ*/ ĊĠĠĠ ĠC IR CLE ( 1 ), ĊĊĠĠĠ Ġ/** ĠSquare Ġshape . Ġ*/ ĊĠĠĠ ĠS QUARE ( 2 ), ĊĊĠĠĠ Ġ/** ĠRectangle Ġshape . Ġ*/ ĊĠĠĠ ĠRE CT ANGLE ( 3 ), ĊĊĠĠĠ Ġ/** ĠO val Ġshape . Ġ*/ ĊĠĠĠ ĠO VAL ( 4 ), ĊĊĠĠĠ Ġ/** ĠRo unded Ġrectangle Ġshape . Ġ*/ ĊĠĠĠ ĠRO UN DED _ RECT ANGLE ( 5 ), ĊĊĠĠĠ Ġ/** ĠSolid Ġcircle Ġshape . Ġ*/ ĊĠĠĠ ĠSOL ID _ CIR CLE ( 6 ), ĊĊĠĠĠ Ġ/** ĠSolid Ġo val Ġshape . Ġ*/ ĊĠĠĠ ĠSOL ID _ O VAL ( 7 ), ĊĊĠĠĠ Ġ/** ĠSolid Ġrounded Ġrectangle Ġshape . Ġ*/ ĊĠĠĠ ĠSOL ID _ RO UN DED _ RECT ANGLE ( 8 ) Ċ /* ĊĠĠĠ Ġ/** ĠShape Ġcut Ġby Ġa Ġdiagonal Ġ*/ ĊĠĠĠ ĠDI AG ON AL ( 9 ), ĊĊĠĠĠ Ġ/** ĠSolid Ġshape Ġcut Ġby Ġa Ġdiagonal Ġ*/ ĊĠĠĠ ĠSOL ID _ DIAG ON AL ( 1 0 ), ĊĊĠĠĠ Ġ/** ĠShape Ġcut Ġby Ġan Ġarc Ġ*/ ĊĠĠĠ ĠARC ( 1 1 ), ĊĊĠĠĠ Ġ/** ĠSolid Ġshape Ġcut Ġby Ġan Ġarc Ġ*/ ĊĠĠĠ ĠSOL ID _ ARC ( 1 2 ), ĊĊĠĠĠ Ġ/** ĠShape Ġcut Ġby Ġa Ġcorner Ġ*/ ĊĠĠĠ ĠCOR NER ( 1 3 ), ĊĊĠĠĠ Ġ/** ĠSolid Ġshape Ġcut Ġby Ġa Ġcorner Ġ*/ ĊĠĠĠ ĠSOL ID _ COR NER ( 1 4 ), ĊĊĠĠĠ Ġ/** ĠShape Ġcut Ġby Ġa Ġrounded Ġcorner Ġ*/ ĊĠĠĠ ĠRO UN DED _ COR NER ( 1 5 ), ĊĊĠĠĠ Ġ/** ĠSolid Ġshape Ġcut Ġby Ġa Ġrounded Ġcorner Ġ*/ ĊĠĠĠ ĠSOL ID _ RO UN DED _ COR NER ( 1 6 ) */; ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠShapes Ġachieved Ġthrough Ġbitmap Ġshaders . ĊĠĠĠĠ Ġ* ĠNote : ĠThey Ġare Ġincompatible Ġwith Ġanimations , Ġso Ġyou Ġshouldn 't Ġuse Ġthem . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġthe Ġimage Ġis Ġcircle , Ġo val Ġor Ġrounded _ rectangle , Ġfalse Ġotherwise ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Rounded (): ĠBoolean Ġ= Ġthis Ġ== ĠC IR CLE Ġ|| Ġthis Ġ== ĠO VAL Ġ|| Ġthis Ġ== ĠRO UN DED _ RECT ANGLE ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠShapes Ġachieved Ġthrough Ġpaths . ĊĠĠĠĠ Ġ* ĠNote : ĠThey Ġare Ġincompatible Ġwith Ġanimations , Ġso Ġyou Ġshouldn 't Ġuse Ġthem . ĊĠĠĠĠ Ġ* ĠAlso , Ġthey Ġare Ġslightly Ġless Ġefficient Ġthen Ġbitmap Ġshaders ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġthe Ġimage Ġis Ġdiagonal , Ġarc , Ġcorner Ġor Ġrounded _ corner , Ġfalse Ġotherwise ĊĠĠĠĠ Ġ*/ Ċ // ĠĠĠ Ġfun Ġis Cut (): ĠBoolean Ġ= Ġthis Ġ== ĠDI AG ON AL Ġ|| Ġthis Ġ== ĠARC Ġ|| Ġthis Ġ== ĠCOR NER Ġ|| Ġthis Ġ== ĠRO UN DED _ COR NER ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠSolid Ġshapes Ġare Ġshapes Ġwith Ġa Ġsolid Ġcolor Ġdrawn Ġover Ġthem . ĠThey Ġare Ġvery Ġefficient Ġand Ġcompatible ĊĠĠĠĠ Ġ* Ġwith Ġany Ġimage Ġloader Ġlibrary , Ġany Ġanimation Ġand Ġany Ġdrawable . ĠThey Ġalso Ġcover Ġevent ual Ġbackground s . ĊĠĠĠĠ Ġ* ĠNote : ĠIf Ġyou Ġwant Ġto Ġshow Ġsomething Ġbehind Ġthe Ġimage , Ġyou Ġcannot Ġuse Ġthese Ġshapes . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġthe Ġimage Ġis Ġsolid _ circle , Ġsolid _ oval , Ġsolid _ rounded _ rectangle , Ġsolid _ diagonal , Ġsolid _ arc , ĊĠĠĠĠ Ġ* Ġ Ġsolid _ corner Ġor Ġsolid _ rounded _ corner , Ġfalse Ġotherwise ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Solid (): ĠBoolean Ġ= Ġthis Ġ== ĠSOL ID _ CIR CLE Ġ|| Ġthis Ġ== ĠSOL ID _ O VAL Ġ|| Ġthis Ġ== ĠSOL ID _ RO UN DED _ RECT ANGLE ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOnly Ġsize Ġis Ġchanged Ġin Ġthese Ġshapes . ĠThey Ġshould Ġperform Ġas Ġefficiently Ġas Ġnormal Ġimage Views ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġthe Ġimage Ġis Ġnormal , Ġsquare Ġor Ġrectangle , Ġfalse Ġotherwise ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Rect angular (): ĠBoolean Ġ= Ġthis Ġ== ĠNORMAL Ġ|| Ġthis Ġ== ĠS QUARE Ġ|| Ġthis Ġ== ĠRE CT ANGLE ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThese Ġare Ġregular Ġshapes . ĠThe Ġwidth Ġand Ġheight Ġare Ġequals ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġthe Ġimage Ġis Ġsquare , Ġcircle Ġor Ġsolid _ circle , Ġfalse Ġotherwise ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġis Squared (): ĠBoolean Ġ= Ġthis Ġ== ĠS QUARE Ġ|| Ġthis Ġ== ĠC IR CLE Ġ|| Ġthis Ġ== ĠSOL ID _ CIR CLE ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ/** ĠReturns Ġthe Ġmode Ġassociated Ġto Ġthe Ġpassed Ġvalue , Ġor Ġnormal Ġif Ġthe Ġvalue Ġis Ġinvalid . Ġ*/ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom Value ( value : ĠInt ): ĠP iv Shape Mode Ġ= Ġwhen Ġ( value ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> ĠC IR CLE ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> ĠS QUARE ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> ĠRE CT ANGLE ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> ĠO VAL ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ-> ĠRO UN DED _ RECT ANGLE ĊĠĠĠĠĠĠĠĠĠĠĠĠ 6 Ġ-> ĠSOL ID _ CIR CLE ĊĠĠĠĠĠĠĠĠĠĠĠĠ 7 Ġ-> ĠSOL ID _ O VAL ĊĠĠĠĠĠĠĠĠĠĠĠĠ 8 Ġ-> ĠSOL ID _ RO UN DED _ RECT ANGLE ĊĠĠĠĠĠĠĠĠĠĠĠĠ 0 Ġ-> ĠNORMAL ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠNORMAL ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ