Back to shtanton's homepage
summaryrefslogtreecommitdiff
path: root/src/index.html.in
diff options
context:
space:
mode:
authorCharlie Stanton <charlie@shtanton.xyz>2025-04-06 17:38:19 +0100
committerCharlie Stanton <charlie@shtanton.xyz>2025-04-06 17:38:19 +0100
commitc8260245622780be003a897464bd5f7798b3a307 (patch)
tree313f23caca398d01bb5c1760e8a5dd3ea2393bc0 /src/index.html.in
parent8ae382513b15f7050f81a65a3a156f6e3ac7c178 (diff)
downloadldjam57-c8260245622780be003a897464bd5f7798b3a307.tar
web assembly port now fills the screen
Diffstat (limited to 'src/index.html.in')
-rw-r--r--src/index.html.in27
1 files changed, 16 insertions, 11 deletions
diff --git a/src/index.html.in b/src/index.html.in
index 9329c25..119d646 100644
--- a/src/index.html.in
+++ b/src/index.html.in
@@ -101,13 +101,16 @@ async function main() {
return b<a ? b : a;
}
- function max_width() {
- return html.clientHeight * 0.7 | 0;
- }
-
function render() {
- let width = canvas.width = min(html.clientWidth, max_width());
- let height = canvas.height = width;
+ if (64 + html.clientHeight * (20 / 16) > html.clientWidth) {
+ canvas.width = html.clientWidth;
+ canvas.height = (html.clientWidth - 64) * (16 / 20);
+ } else {
+ canvas.width = 64 + html.clientHeight * (20 / 16);
+ canvas.height = html.clientHeight;
+ }
+ let width = canvas.width;
+ let height = canvas.height;
let ptr = exports.game_render(width, height, mousex, mousey);
let dl = new Int32Array(memory.buffer, ptr);
let len = dl[0];
@@ -132,19 +135,21 @@ async function main() {
}
}
- function onresize() { html.style.maxWidth = `${max_width()}px`; }
+ function onresize() { /*html.style.maxWidth = `${max_width()}px`; */}
window.addEventListener("resize", onresize);
onresize();
canvas.addEventListener("mousemove", function(e) {
- mousex = e.clientX;
- mousey = e.clientY;
+ const rect = e.target.getBoundingClientRect();
+ mousex = e.clientX - rect.left;
+ mousey = e.clientY - rect.top;
exports.game_update(INPUT_MOVE, mousex, mousey, now());
});
canvas.addEventListener("mousedown", function(e) {
- mousex = e.clientX;
- mousey = e.clientY;
+ const rect = e.target.getBoundingClientRect();
+ mousex = e.clientX - rect.left;
+ mousey = e.clientY - rect.top;
if (e.button == 0) {
exports.game_update(INPUT_CLICK, mousex, mousey, now());
} else if (e.button == 2) {