aboutsummaryrefslogtreecommitdiffhomepage
path: root/canvasWorker.js
diff options
context:
space:
mode:
Diffstat (limited to 'canvasWorker.js')
-rw-r--r--canvasWorker.js17
1 files changed, 16 insertions, 1 deletions
diff --git a/canvasWorker.js b/canvasWorker.js
index 51878f6..ab97236 100644
--- a/canvasWorker.js
+++ b/canvasWorker.js
@@ -76,13 +76,28 @@ let useWebGL = true;
let draw;
self.onmessage = (msg) => {
- if (msg.data == "clear") {
+ if ("clear" in msg.data) {
if (useWebGL) {
gl.clearColor(0, 0, 0, 0);
gl.clear(gl.COLOR_BUFFER_BIT);
} else {
gl.clearRect(0, 0, canvas.width, canvas.height);
}
+ } else if ("resize" in msg.data) {
+ const { width, height } = msg.data.resize;
+ canvas.width = width;
+ canvas.height = height;
+ gl.canvas.width = width;
+ gl.canvas.height = height;
+
+ if (useWebGL) {
+ gl.viewport(0, 0, canvas.width, canvas.height);
+ gl.clearColor(0, 0, 0, 0);
+ gl.clear(gl.COLOR_BUFFER_BIT);
+ draw = initGL();
+ } else {
+ gl.clearRect(0, 0, canvas.width, canvas.height);
+ }
} else if ("canvas" in msg.data) {
canvas = msg.data.canvas;
useWebGL = msg.data.useWebGL;