[Pharo-project] about fillRectangle: aRectangle fillStyle:aFillStyle
gazzaguru2 at btinternet.com
Fri Feb 11 12:12:09 CET 2011
The reason was that Squeak had (differing) implementations in each class
before I introduced the double-dispatch.
Since Polymorph was a loadable package, they needed to be overridden.
In Pharo they can, of course, be removed to just leave the Canvas one.
----- Original Message -----
From: "Stéphane Ducasse" <stephane.ducasse at inria.fr>
To: <Pharo-project at lists.gforge.inria.fr>
Sent: Thursday, February 10, 2011 6:43 AM
Subject: Re: [Pharo-project] about fillRectangle: aRectangle
Igor I saw that this was a double dispatch but I imagine that this is not
needed to duplicate the exact same code within the
Can you have a look?
I will prepare a cs or a slice with all my changes and it would be great to
have somebody else having a look.
> it seems duplicated in
>> pluggableCanvas, canvas and balloonCanvas
>> fillRectangle: aRectangle fillStyle: aFillStyle
>> "Fill the given rectangle. Double-dispatched via the fill style."
>> aFillStyle fillRectangle: aRectangle on: self
>> do you confirm that?
> it is a bit tricky. The #fillRectange:fillStyle: is a double-dispatch
> actually one could use:
> aFillStyle fillRectangle: aRectangle on: self
> See a CompositeFillStyle how it works.
> The idea was to replace all uses of #doSomething: x color: y
> or #doSomething:border:colorA:colorB:
> with #doSomething: x fillStyle: y...
> Actually all painting operations could take only two objects: shape
> and fill style.
> So, in this respect, a color property of Morph should be a fill style,
> since color can be described as 'solid fill with single color' fill
> a most simplest possible one.
> Best regards,
> Igor Stasenko AKA sig.
More information about the Pharo-project