summaryrefslogtreecommitdiff
path: root/rannak/mangud/partorg/plakat/main.js
diff options
context:
space:
mode:
Diffstat (limited to 'rannak/mangud/partorg/plakat/main.js')
-rw-r--r--rannak/mangud/partorg/plakat/main.js141
1 files changed, 141 insertions, 0 deletions
diff --git a/rannak/mangud/partorg/plakat/main.js b/rannak/mangud/partorg/plakat/main.js
new file mode 100644
index 0000000..6eb9281
--- /dev/null
+++ b/rannak/mangud/partorg/plakat/main.js
@@ -0,0 +1,141 @@
+
+/* Inital Setup*/
+
+const canvas = document.getElementById('drawing-board');
+const toolbar = document.getElementById('toolbar');
+const ctx = canvas.getContext('2d');
+
+let canvasOffsetX = canvas.offsetLeft;
+let canvasOffsetY = canvas.offsetTop;
+
+let CurImage = document.getElementById("stalin");
+
+canvas.width = window.innerWidth - canvasOffsetX;
+canvas.height = window.innerHeight - canvasOffsetY;
+
+
+
+function copyImageToCanvas(image, x, y) {
+ ctx.drawImage(image, 0, 0, canvas.width, canvas.height)
+}
+
+// Initial Drawring
+setTimeout(() => {
+ copyImageToCanvas(CurImage, canvasOffsetX, canvasOffsetY);
+}, 300);
+
+
+window.onresize = () => {
+ canvasOffsetX = canvas.offsetLeft;
+ canvasOffsetY = canvas.offsetTop;
+ canvas.width = window.innerWidth - canvasOffsetX;
+ canvas.height = window.innerHeight - canvasOffsetY;
+ copyImageToCanvas(CurImage, canvasOffsetX, canvasOffsetY);
+}
+
+
+
+
+/* EventHandlers and stuff*/
+
+let isPainting = false;
+let lineWidth = 5;
+let startX;
+let startY;
+
+toolbar.addEventListener('click', e => {
+
+ const stalinImg = document.getElementById("stalin");
+ const veekogudImg = document.getElementById("veekogud");
+
+ const pildid = new Array();
+ pildid.push(stalinImg);
+ pildid.push(veekogudImg);
+
+ if (e.target.id === "stalin" || e.target.id === "veekogud") {
+ for (el in pildid) {
+ pildid[el].classList.remove("picked");
+ }
+ let newPicked = document.getElementById(e.target.id);
+ newPicked.classList.add("picked");
+
+ // Draw New Pick
+ CurImage = newPicked;
+ copyImageToCanvas(CurImage, canvasOffsetX, canvasOffsetY);
+ moveOnDisable();
+ }
+
+
+ if (e.target.id === 'clear') {
+ ctx.clearRect(0, 0, canvas.width, canvas.height);
+ copyImageToCanvas(CurImage, canvasOffsetX, canvasOffsetY);
+ moveOnDisable();
+ }
+
+});
+
+
+
+/* Drawing stuff from here */
+toolbar.addEventListener('change', e => {
+ if(e.target.id === 'stroke') {
+ ctx.strokeStyle = e.target.value;
+ }
+
+ if(e.target.id === 'lineWidth') {
+ lineWidth = e.target.value;
+ }
+
+});
+
+
+
+const draw = (e) => {
+ if(!isPainting) {
+ return;
+ }
+
+ ctx.lineWidth = lineWidth;
+ ctx.lineCap = 'round';
+
+ ctx.lineTo(e.clientX - canvasOffsetX, e.clientY);
+ //ctx.lineTo(e.clientX - abiOffset, e.clientY);
+ ctx.stroke();
+
+ moveOnEnable();
+}
+
+
+
+canvas.addEventListener('mousedown', (e) => {
+ isPainting = true;
+ startX = e.clientX;
+ startY = e.clientY;
+});
+
+
+
+canvas.addEventListener('mouseup', e => {
+ isPainting = false;
+ ctx.stroke();
+ ctx.beginPath();
+});
+
+
+canvas.addEventListener('mousemove', draw);
+
+
+
+// Move On Stuff
+
+
+function moveOnEnable(){
+ const btn = document.querySelector(".moveOn");
+ btn.disabled = false;
+ btn.onclick = () => location.href = "";
+}
+
+function moveOnDisable(){
+ const btn = document.querySelector(".moveOn");
+ btn.disabled = true;
+}