Igor
may be having good design could help with little objects having
responsibilities and plugging the right ones :)
We should create
"The club of gentleman against little kitties killing code"
and save the kitties by refactoring the killing code :)
Stef
> areasRemainingToFill: aRectangle
> "Pushed up from BorderedMorph, all cases tested for there are
> supported by basic Morph."
> "Morphs which achieve translucency by other means than fillStyle will
> have
> to reimplement this"
> "Fixed here to test the fillStyle rather than color for translucency.
> Since can have a translucent fillStyle while the (calculated) color is
> not."
> self fillStyle isTranslucent
> ifTrue: [^ Array with: aRectangle].
> self wantsRoundedCorners
> ifTrue: [(self borderWidth > 0
> and: [self borderColor isColor
> and: [self borderColor
> isTranslucent]])
> ifTrue: [^ aRectangle
> areasOutside: (self innerBounds
> intersect: self boundsWithinCorners)]
> ifFalse: [^ aRectangle areasOutside: self
> boundsWithinCorners]]
> ifFalse: [(self borderWidth > 0
> and: [self borderColor isColor
> and: [self borderColor
> isTranslucent]])
> ifTrue: [^ aRectangle areasOutside: self
> innerBounds]
> ifFalse: [^ aRectangle areasOutside: self
> bounds]]
>
>
> ... the whole Morphic code fall victim of rounded corners (and borders
> , of course).
>
> I wonder, is there any way to
> a) have multiple concerns
> b) at same time, have a clean code
> ?
> But i suspect that smalltalk is not powerful enough for that. :)