package Ġde . u ul m . se . co uched it . model . graphic . shapes Ċ Ċ /** Ċ Ġ* ĠRepresentation Ġfor Ġa Ġ[ Rect angular ] Ġshape Ġwith Ġrounded Ġcorners . Ċ Ġ* Ċ Ġ* ĠThe Ġhandling Ġof Ġcorners Ġis Ġas Ġfollows : Ċ Ġ* Ġ* ĠThe Ġshape Ġis Ġlimited Ġby Ġits Ġ[ x ], Ġ[ y ], Ġ[ w ], Ġ[ h ] Ġcoordinates . Ċ Ġ* Ġ* ĠThe Ġcorners Ġare Ġdescribed Ġby Ġquadr atic Ġbe zier Ġcurves . Ċ Ġ* Ġ* ĠEach Ġcorner Ġrounding Ġbegins Ġat Ġmost Ġ[ corner Radius ] Ġfrom Ġthe Ġcorners Ġof Ġthe Ġouter Ġrectangle . Ċ Ġ* Ġ* ĠIf Ġ[ w ] Ġ< Ġ 2 Ġ* Ġ[ corner Radius ] Ġor Ġ[ h ] Ġ< Ġ 2 Ġ* Ġ[ corner Radius ] Ġ, Ġthen Ġthe Ġcorner Ġwidth Ġ/ Ġheight Ġis Ġreduced Ġto Ċ Ġ* ĠĠ Ġ[ w ] Ġ/ Ġ 2 Ġrespectively Ġ[ h ] Ġ/ Ġ 2 . Ċ Ġ*/ Ċ class ĠRo unded Rectangle ( x : ĠDouble , Ġy : ĠDouble , Ġw : ĠDouble , Ġh : ĠDouble , Ġvar Ġcorner Radius : ĠDouble ) Ġ: ĠRect angular ( x , Ġy , Ġw , Ġh ) Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcopy (): ĠRo unded Rectangle Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRo unded Rectangle ( x , Ġy , Ġw , Ġh , Ġcorner Radius ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . equals ( other ) Ġ&& Ġthis . corner Radius Ġ== Ġ( other Ġas ? ĠRo unded Rectangle )?. corner Radius ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġsuper . hashCode () Ġ+ Ġ 3 1 Ġ* Ġcorner Radius . hashCode () ĊĠĠĠ Ġ} Ċ } Ċ