On 15 April 2014 23:15, [email protected] <[email protected]> wrote:

> There a plenty of isKindOf: InfiniteForm in the system and I was trying to
> understand how we could get rid of them.
> How other systems handle pattern based color filling shape?
>
> why bother?

Just use The God's Hammer Dispatch (AKA Non-intuitive way of programming
for those who don't think in objects ;) :

fillRectangle: aRectangle basicFillStyle: aFillStyle
    "Fill the given rectangle with the given, non-composite, fill style."

    | pattern |

    (aFillStyle isKindOf: InfiniteForm) ifTrue: [
        ^self infiniteFillRectangle: aRectangle fillStyle: aFillStyle
    ].


=>

fillRectangle: aRectangle basicFillStyle: aFillStyle
    "Fill the given rectangle with the given, non-composite, fill style."
    ^ aFillStyle fillRectangle: aRectangle onCanvas: self


..and then after refactoring it will look exactly how Athens doing it,
because if you rename fill style with "paint" and rectangle with "shape"
you will see it :)


> Stef
>
>


-- 
Best regards,
Igor Stasenko.

Reply via email to