From e487a11761c782cc04b0de857b27aa32b26d019b Mon Sep 17 00:00:00 2001 From: Steven Tracey Date: Tue, 6 Jun 2023 16:12:31 -0400 Subject: [PATCH] ALMOST works --- index.html | 7 +++++- stylesheet.css | 9 +++++-- websocket.js | 57 +++++++++++++++++++++++++++++++++++--------- websocket/index.html | 46 +++++++++++++++++++++++++++++++++-- 4 files changed, 103 insertions(+), 16 deletions(-) diff --git a/index.html b/index.html index b38fbd8..33940b4 100644 --- a/index.html +++ b/index.html @@ -60,7 +60,12 @@

Signature Card Creator

- + + + + + +
diff --git a/stylesheet.css b/stylesheet.css index def1892..b9237db 100644 --- a/stylesheet.css +++ b/stylesheet.css @@ -116,7 +116,7 @@ textarea { font-family: inherit; font-size: inherit; line-height: inherit; - background-color: var(--theme-blue); + background-color: var(--background-color); } select { @@ -297,9 +297,14 @@ input[type="checkbox"], input[type="radio"] { .card { margin: auto; - width: 24em; + width: 404px; + height: 225px; border: solid 2px var(--theme-gray) } +.card canvas { + position: absolute; + height: auto; +} .fade { position: absolute; diff --git a/websocket.js b/websocket.js index 17b62e7..adae774 100644 --- a/websocket.js +++ b/websocket.js @@ -1,20 +1,55 @@ let liveGenWS = new WebSocket("ws://localhost:8080/backend/generate/live"); -liveGenWS.addEventListener("open", (e) => { - console.log("Websocket connection opened"); -}, false); -liveGenWS.addEventListener("message", (e) => { - console.log(e.data); -}, false); - -let location = document.getElementById("location"); -let name = document.getElementById("full_name"); +let backgroundLayer = document.getElementById("backgroundLayer"); +let loc = document.getElementById("location"); +let locationLayer = document.getElementById("locationLayer"); +let fullName = document.getElementById("full_name"); +let nameLayer = document.getElementById("nameLayer"); let title = document.getElementById("title"); +let titleLayer = document.getElementById("titleLayer"); let email = document.getElementById("email"); +let emailLayer = document.getElementById("emailLayer"); let extension = document.getElementById("extension"); let directNumber = document.getElementById("directNumber"); let cellNumber = document.getElementById("cellNumber"); +let numbersLayer = document.getElementById("numbersLayer"); -location.addEventListener("selectionchange", (e) => { - liveGenWS.send("") +let dataType = ""; + +liveGenWS.addEventListener("open", (e) => { + console.log("Websocket connection opened"); + liveGenWS.send("start;"); }, false); +liveGenWS.addEventListener("message", (e) => { + if (e.data instanceof ArrayBuffer || e.data instanceof Blob) { + let blob = e.data; + if (e.data instanceof ArrayBuffer) { + blob = new Blob([e.data], { type: "image/png" }); + } + const constDataType = dataType; + createImageBitmap(blob, 0, 0, 1080, 602, { resizeWidth: 404, resizeHeight: 225 }).then(imgBmp => { + const layerElem = document.getElementById(constDataType + "Layer"); + let ctx = layerElem.getContext("2d"); + ctx.clearRect(0, 0, 404, 225); + ctx.drawImage(imgBmp, 0, 0); + }); + } else if (typeof e.data === "string") { + dataType = e.data; + } + console.log(e.data); +}, false); + +function handleUpdate(val, elem) { + liveGenWS.send(val + ";" + elem.value); +} + +loc.addEventListener("selectionchange", (e) => { + handleUpdate("location", loc); + handleUpdate("background", loc); +}, false); +fullName.addEventListener("keyup", (e) => handleUpdate("name", fullName), false); +title.addEventListener("keyup", (e) => handleUpdate("title", title), false); +email.addEventListener("keyup", (e) => handleUpdate("email", email), false); +extension.addEventListener("keyup", (e) => handleUpdate("extension", extension), false); +directNumber.addEventListener("keyup", (e) => handleUpdate("directNumber", directNumber), false); +cellNumber.addEventListener("keyup", (e) => handleUpdate("cellNumber", cellNumber), false); \ No newline at end of file diff --git a/websocket/index.html b/websocket/index.html index c0b65ea..2abda92 100644 --- a/websocket/index.html +++ b/websocket/index.html @@ -43,6 +43,16 @@
+
@@ -54,12 +64,42 @@
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ +
+ + +
+
+ + +
- - + + \ No newline at end of file