BalloonCanvas question

Hilaire Fernandes hilaire2006 at laposte.net
Mon Nov 20 19:45:32 UTC 2006


Bert Freudenberg a écrit :
> 
> 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.

Thanks for the clarification.
Rome being more than a Cairo binding looks exiting!
Is the Rome canvas upward compatible with the old canvas?
Could we use Rome to render custom Morph?

Hilaire




More information about the Squeak-dev mailing list