On 2/3/10 2:54 PM, Tim Hutt wrote:
a) Otherwise width:100% in CSS and width="100%" in HTML would have
different meanings. Confusing!

I'm not suggesting that. I'm saying we keep supporting only integers in the width attribute and if you put width:100% in your CSS and the canvas resizes you can do whatever you want (change the width attribute or not, whatever you want).

b) Nobody uses it currently anyway - there's no content to break! I'm
not exaggerating - look through canvasdemos.com and I bet you won't
find a single case where the canvas is sized using CSS

And no UA stylesheets? No user stylesheets? No non-demo things actually using canvas for something?

I actually have a hard time believing this, honestly.

c) It's slow, and looks rubbish.

While true, repainting the whole canvas from scratch on resize is not likely to be faster. And will look like rubbish by default (as in, look blank) unless the author writes script to make it otherwise. If the author is writing such script it's two extra line to set the canvas size too.

I suppose an alternative might be to have some way of retrieving the
true size of the canvas

Like getBoundingClientRect()?

     canvas.width = canvas.trueWidthInPixels;

Yep.  canvas.width = canvas.getBoundingClientRect().width;

Well, yes it would be good to have onresize for all elements.

Which is why it's being worked on anyway.

But you still need to add width="...%" support to the canvas tag otherwise it
will never *be* resized, so you couldn't achieve #1 with #2. I may
have misunderstood you here.

You put the % sizing in your CSS and reset the canvas width/height attributes if you want to.

-Boris

Reply via email to