diff --git a/css/index.css b/css/index.css index cd43ba3..a39c2c6 100644 --- a/css/index.css +++ b/css/index.css @@ -467,6 +467,7 @@ div.prompt-wrapper > .prompt-indicator.styles::after { #prompt-history.expanded { width: 300px; + overflow-y: auto; } #prompt-history .entry { diff --git a/js/index.js b/js/index.js index 2b072f6..97a0821 100644 --- a/js/index.js +++ b/js/index.js @@ -187,9 +187,10 @@ function startup() { changeSyncCursorSize(); } -function setFixedHost(host, changePromptMessage) { +function setFixedHost(h, changePromptMessage) { const hostInput = document.getElementById("host"); - hostInput.value = host; + host = h; + hostInput.value = h; hostInput.readOnly = true; hostInput.style.cursor = "default"; hostInput.style.backgroundColor = "#ddd"; diff --git a/js/ui/tool/stamp.js b/js/ui/tool/stamp.js index 1189bb3..5aa1811 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,21 @@ 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.redraw = () => { + state.movecb(state.lastMouseMove); }; 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;