Recently, I came across an issue I had with full-screen (more specifically, full-viewport) canvas drawing. It all worked fine, except that the canvas dimensions must be specified in pixels, as opposed to percentages. This means you can't just set the canvas' width and height to "100%" and be done with it...
The dimensions were automatically set when the page loaded, but if the user resized the browser window after that, the canvas would stay the same size, and would be either too big or too small. Thus, the canvas must be resized every time the browser window is resized.
Prototype makes all of this easy. All that's necessary is to attach a listener to the onresize event of the window object, and then use document.viewport.getDimensions() to determine the new width and height.
Here's some sample code:
Alternatively, you can use document.viewport.getWidth() or document.viewport.getHeight() instead of document.viewport.getDimensions().
This code works in all major browsers, IE included.
The dimensions were automatically set when the page loaded, but if the user resized the browser window after that, the canvas would stay the same size, and would be either too big or too small. Thus, the canvas must be resized every time the browser window is resized.
Prototype makes all of this easy. All that's necessary is to attach a listener to the onresize event of the window object, and then use document.viewport.getDimensions() to determine the new width and height.
Here's some sample code:
Event.observe(window, "resize", function() { var width = document.viewport.getWidth(); var height = document.viewport.getHeight(); var dims = document.viewport.getDimensions(); // dims.width and dims.height });
Alternatively, you can use document.viewport.getWidth() or document.viewport.getHeight() instead of document.viewport.getDimensions().
This code works in all major browsers, IE included.
Comments
Post a Comment