|
@@ -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();
|