On 3 February 2010 16:50, Simon Fraser <s...@me.com> wrote:
> On Feb 3, 2010, at 7:59 AM, Boris Zbarsky wrote:
>
>> On 2/3/10 9:05 AM, Tim Hutt wrote:
>>> 1. You can only set the size exactly in pixels. It is very hard to get
>>> a resizable canvas that fills the page. You *can* set the size in CSS,
>>> but it doesn't work very well (e.g. using left,right-margin: auto; to
>>> centre the canvas doesn't work. Also it scales the canvas rather than
>>> resizes it.
>>
>> That's right, because resizing the canvas (as in, changing the number of 
>> pixels in the backing store) involves clearing it at the moment.  Your 
>> proposal would mean that if the user changes the window size your canvas 
>> will immediately get cleared.  Is that what you're after?  If not, how do 
>> you envision the backing-store resize being performed?
>
> Canvas drawing should have been callback-based from the start. Maybe we can 
> retrofit this by having a way the author can specify that the canvas backing 
> store resizes with the element, and firing an event when the backing store 
> size changes.

Yes it should be cleared and there should be a oncanvasresize() callback.

>>> 2. There doesn't appear to be any kind of double buffering capability.
>>> This is pretty critical for animations where you might need to clear
>>> the canvas and then draw stuff. You currently get flickering if you
>>> try.
>>
>> You do?  Under what circumstances?

Ahem, I was sure I got flickering, but I just tested firefox 3.5 and
chrome 4 and actually they do behave as you describe.

Tim

Reply via email to