diff options
author | Fabio Alessandrelli <fabio.alessandrelli@gmail.com> | 2020-07-30 17:10:16 +0200 |
---|---|---|
committer | Fabio Alessandrelli <fabio.alessandrelli@gmail.com> | 2020-09-23 09:51:06 +0200 |
commit | 806edcae5bf94dced436cd6d27cb94a3a8134e3b (patch) | |
tree | 15a1229e2c84addf991420d4567f465c173e845f /misc/dist | |
parent | 7d0896e763576d2655a0ddf0262ada0f0f083708 (diff) |
Better HiDPI support in HTML5.
Diffstat (limited to 'misc/dist')
-rw-r--r-- | misc/dist/html/full-size.html | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/misc/dist/html/full-size.html b/misc/dist/html/full-size.html index be25ce4839..b293fc9711 100644 --- a/misc/dist/html/full-size.html +++ b/misc/dist/html/full-size.html @@ -156,6 +156,9 @@ $GODOT_HEAD_INCLUDE var initializing = true; var statusMode = 'hidden'; + var lastWidth = 0; + var lastHeight = 0; + var lastScale = 0; var animationCallbacks = []; function animate(time) { @@ -165,11 +168,16 @@ $GODOT_HEAD_INCLUDE requestAnimationFrame(animate); function adjustCanvasDimensions() { - var scale = window.devicePixelRatio || 1; - var width = window.innerWidth; - var height = window.innerHeight; - canvas.width = width * scale; - canvas.height = height * scale; + const scale = window.devicePixelRatio || 1; + if (lastWidth != window.innerWidth || lastHeight != window.innerHeight || lastScale != scale) { + lastScale = scale; + lastWidth = window.innerWidth; + lastHeight = window.innerHeight; + canvas.width = Math.floor(lastWidth * scale); + canvas.height = Math.floor(lastHeight * scale); + canvas.style.width = lastWidth + "px"; + canvas.style.height = lastHeight + "px"; + } } animationCallbacks.push(adjustCanvasDimensions); adjustCanvasDimensions(); |