" Smalltalk/Rectangle.st -*- Smalltalk -*- " Rectangle : Object ( origin corner ) Rectangle origin: originPoint corner: cornerPoint [ self := self new. origin := originPoint. corner := cornerPoint. ] Rectangle origin: originPoint extent: extentPoint [ ^self origin: originPoint corner: originPoint + extentPoint ] Rectangle origin [ ^origin ] Rectangle corner [ ^corner ] Rectangle width [ ^corner x - origin x ] Rectangle height [ ^corner y - origin y ] Rectangle printOn: aStream [ aStream nextPut: $(; print: origin; nextPutAll: ' corner: '; print: corner; nextPut: $) ] " ---------------------------------------------------------------- " Point corner: aPoint [ ^Rectangle origin: self corner: aPoint ] Point extent: aPoint [ ^Rectangle origin: self extent: aPoint ]