package Ġcom . zy lab . sketch y . drawable Ċ Ċ import Ġcom . zy lab . sketch y . model . DEFAULT _ POINT Ċ import Ġcom . zy lab . sketch y . model . Sk Point Ċ import Ġcom . zy lab . sketch y . shape . Sk Square Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġz hang yi Ġon Ġ 1 9 - 1 1 - 2 3 Ċ Ġ*/ Ċ Ċ class ĠSk Square Drawable ( width : ĠDouble Ġ= Ġ 0 . 0 , Ġheight : ĠDouble Ġ= Ġ 0 . 0 ) Ġ: ĠSk Drawable ( width , Ġheight ) Ġ{ ĊĠĠĠ Ġvar Ġstart Point : ĠSk Point Ġ= ĠDEFAULT _ POINT ĊĠĠĠ Ġvar Ġsquare Width : ĠDouble Ġ= Ġ 0 . 0 ĊĠĠĠ Ġvar Ġsquare Height : ĠDouble Ġ= Ġ 0 . 0 ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġshape Ġ= ĠSk Square () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġparse () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . parse () ĊĠĠĠĠĠĠĠ Ġ( shape Ġas ? ĠSk Square )?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . start Point Ġ= Ġif Ġ(! isValid Point ( start Point )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSk Point ( it . get Shape Width (), Ġit . get Shape Width ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstart Point ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . width Ġ= Ġif Ġ( square Width Ġ<= Ġ 0 . 0 ) Ġwidth Ġ- Ġit . get Shape Width () Ġ* Ġ 2 Ġelse Ġsquare Width ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . height Ġ= Ġif Ġ( square Height Ġ<= Ġ 0 . 0 ) Ġheight Ġ- Ġit . get Shape Width () Ġ* Ġ 2 Ġelse Ġsquare Height ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . parse () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ