Nevermind, i found. Here some comments.
Q. So, why you think i made Color to be polymorphic with Athens Paint protocol? A. Exactly to avoid producing extra entities like this: (BlColorPaint new color: (Color blue alpha: 0.5)) Because this BlColorPaint adds nothing , has no any extra information, no behavior.. Nothing. With Athens API any object can serve as paint, as long as it implements its protocol. What is rationale behind making BlPaint hierarchy? One more thing, i discovered at random chance: AthensSurface>>createShadowPaint: aColor "Answer an instance of AthensPaint, valid for use with given surface" What is this nonsense? I removed notion of shadow in old Canvas, just to see that someone introducing it in Athens? Okay, guys.. Do you realise that you polluting a base feature set with user-level feature. There is no 'shadow' as a concept in graphics framework. It is a user-level concept. Pff.. Shadow is thing you drawing on screen. It has nothing different from drawing anything else on screen from graphical engine perspective. Why you doing that ? You ripping me apart. BlShadowPaint. If you want to draw a shadow, don't call it paint. Just call it shadow. It has nothing to do with paint. I know it is convenient to put it that way and pretend that if you draw same shape with some offset and blur it slightly and use semitransparent color it will appear as a shadow. But it is not basic element or operation for any imaginable graphical engine. It is purely user-level feature, that should not pollute nor interfere with basic feature set. The main problem behind this 'shadows' in Canvas, that people were drawing full morph with 'shadow color' filter.. Now think you paint SystemWindow twice.. once for foreground, and second time for shadow.. with all its submorphs , etc, yadda yadda.. That's like shooting bacteria with earth-sized terrawatt laser. And you seem to like it.. and want to reintroduce.. In same horrible way as before. You have a shadow. Can i have a pony then? :) -- Best regards, Igor Stasenko.
