Hacker News new | ask | show | jobs
by function_seven 1773 days ago
What do these 2 lines do?

    canvas.width = canvas.width;
    canvas.height = canvas.height;
Workaround for some weird DOM issue?
1 comments

Setting `canvas.width` clears the canvas and resets all canvas state (stroke styles, transformations, etc...)

As far as I know, setting `canvas.height` is unnecessary.

Also as far as I know, using `ctx.clearRect` is faster, though it's possible the author wants to reset that other canvas state as well (which `clearRect` won't do), or it's possible there's some older browser incompatibility I don't know about that the author wants to avoid.

Edit: it looks like the author is also calling `clearRect`? Maybe there's some browser behavior I don't know about, but as far as I think this code is unnecessary. You don't need to do both things.