BalloonCanvas question

Bert Freudenberg bert at freudenbergs.de
Mon Nov 20 16:09:20 UTC 2006


On Nov 20, 2006, at 17:04 , Hilaire Fernandes wrote:

> Karl a écrit :
>> Bert Freudenberg wrote:
>>>
>>> On Nov 19, 2006, at 12:41 , Hilaire Fernandes wrote:
>>>
>>>> Bert Freudenberg a écrit :
>>>>> On Nov 19, 2006, at 10:22 , Hilaire Fernandes wrote:
>>>>>> What is the use of the ifNoTransformWithIn: method?
>>>>>> When I use the BalloonCanvas within a morph drawOn:  method,  
>>>>>> the ifNoTransformWithIn: is forcing the use of the super  
>>>>>> graphic method, so no anti-aliasing take place.
>>>>>> I am sure there are pretty good reason, but I don't get it.
>>>>> An axis-aligned rectangle can be drawn much faster using BitBlt  
>>>>> than using Balloon. That case is detected by the method.
>>>>
>>>> Ok, so it is a feature. However in that case the AA is off and  
>>>> there are no way to get it back, right?
>>>
>>> BitBlt does no AA, right.
>> I did some hacking a few years ago and did some overriding of the  
>> super calls and did get anti alias with a speed penalty.
>> karl
>
> Thanks for your info.
>
> I guess that all of my consideration will become more or less  
> obsolete with the coming CAIRO support. I have not yet checked  
> Rome, but I guess in that situation the cairo graphic functions  
> could be used in the drawOn: morphic methods. Is it that?

If you speak of Rome, it defines a new Canvas protocol, which is  
similar, but not exactly as the old Canvas. It currently renders into  
an offscreen bitmap (registered in SurfacePlugin), which can be  
copied to the screeb using BitBlt. Rome specifically is *not* a Cairo  
binding, but happens to use the Cairo library as one of its backends.

- Bert -






More information about the Squeak-dev mailing list