From 94de86a971753968e94b0b6c27990e5253c825d3 Mon Sep 17 00:00:00 2001 From: Victor Seiji Hariki Date: Tue, 20 Dec 2022 23:26:52 -0300 Subject: [PATCH] webui set prompt and stamp uictx cursor Signed-off-by: Victor Seiji Hariki --- js/ui/tool/stamp.js | 23 +++++++++++++++-------- js/webui.js | 30 ++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 8 deletions(-) diff --git a/js/ui/tool/stamp.js b/js/ui/tool/stamp.js index 1189bb3..2722fde 100644 --- a/js/ui/tool/stamp.js +++ b/js/ui/tool/stamp.js @@ -299,6 +299,11 @@ const stampTool = () => y += snap(evn.y, 0, 64); } + const vpc = viewport.canvasToView(x, y); + uiCtx.clearRect(0, 0, uiCanvas.width, uiCanvas.height); + + uiCtx.save(); + state.lastMouseMove = evn; ovLayer.clear(); @@ -309,15 +314,17 @@ const stampTool = () => } // Draw current cursor location - ovCtx.lineWidth = 3; - ovCtx.strokeStyle = "#FFF"; + uiCtx.lineWidth = 3; + uiCtx.strokeStyle = "#FFF"; - ovCtx.beginPath(); - ovCtx.moveTo(x, y + 10); - ovCtx.lineTo(x, y - 10); - ovCtx.moveTo(x + 10, y); - ovCtx.lineTo(x - 10, y); - ovCtx.stroke(); + uiCtx.beginPath(); + uiCtx.moveTo(vpc.x, vpc.y + 10); + uiCtx.lineTo(vpc.x, vpc.y - 10); + uiCtx.moveTo(vpc.x + 10, vpc.y); + uiCtx.lineTo(vpc.x - 10, vpc.y); + uiCtx.stroke(); + + uiCtx.restore(); }; state.drawcb = (evn) => { diff --git a/js/webui.js b/js/webui.js index bdc4ca4..9995582 100644 --- a/js/webui.js +++ b/js/webui.js @@ -92,6 +92,36 @@ }; } break; + case "openoutpaint/set-prompt": + { + const promptEl = document.getElementById("prompt"); + const negativePromptEl = document.getElementById("negPrompt"); + + if (data.prompt !== undefined) { + promptEl.value = data.prompt; + stableDiffusionData.prompt = promptEl.value; + promptEl.title = promptEl.value; + localStorage.setItem( + "openoutpaint/prompt", + stableDiffusionData.prompt + ); + } + + if (data.negPrompt !== undefined) { + negativePromptEl.value = data.negPrompt; + stableDiffusionData.negative_prompt = negativePromptEl.value; + negativePromptEl.title = negativePromptEl.value; + localStorage.setItem( + "openoutpaint/neg_prompt", + stableDiffusionData.negative_prompt + ); + } + + if (data.styles !== undefined) { + styleSelectElement.value = data.styles; + } + } + break; default: console.warn(`[webui] Unsupported message type: ${data.type}`); break;