fixes issue #80 on painter

This commit is contained in:
Nic Limper
2023-07-10 20:33:50 +02:00
parent dd14fd2074
commit 9ef2737bc3
4 changed files with 24 additions and 13 deletions

View File

@@ -54,7 +54,7 @@
</div>
<p id="savebar">
<span><input type="button" value="Save" id="cfgsave"></span>
<span id="cfgmore" title="advanced options">&#x1f783;</span>
<span id="cfgmore" title="advanced options">&#x25BC;</span>
</p>
</div>

View File

@@ -609,4 +609,11 @@ ul.messages li.new {
.actionbox>div:first-child>div:first-child {
flex-basis: 100%;
}
#buttonbar button {
font-size: 1.1em;
overflow: hidden;
padding: 1px 1px;
}
}

View File

@@ -337,13 +337,13 @@ $('#taglist').addEventListener("click", (event) => {
}
$('#cfgrotate').value = tagdata.rotate;
$('#cfglut').value = tagdata.lut;
$('#cfgmore').innerHTML = '&#x1f783;';
$('#cfgmore').innerHTML = '&#x25BC;';
$('#configbox').style.display = 'block';
})
})
$('#cfgmore').onclick = function () {
$('#cfgmore').innerHTML = $('#advancedoptions').style.height == '0px' ? '&#x1f781;' : '&#x1f783;';
$('#cfgmore').innerHTML = $('#advancedoptions').style.height == '0px' ? '&#x25B2;' : '&#x25BC;';
$('#advancedoptions').style.height = $('#advancedoptions').style.height == '0px' ? $('#advancedoptions').scrollHeight + 'px' : '0px';
};

View File

@@ -26,12 +26,12 @@ function startPainter(mac, width, height) {
canvas.style.imageRendering = 'pixelated';
canvas.addEventListener('mousedown', startDrawing);
canvas.addEventListener('mouseup', stopDrawing);
window.addEventListener('mouseup', stopDrawing);
canvas.addEventListener('mousemove', draw);
canvas.addEventListener('touchstart', startDrawing, { passive: true });
canvas.addEventListener('touchend', stopDrawing);
canvas.addEventListener('touchmove', draw, { passive: true });
canvas.addEventListener('touchstart', startDrawing, { passive: false });
window.addEventListener('touchend', stopDrawing);
canvas.addEventListener('touchmove', draw, { passive: false });
const bgCanvas = document.createElement('canvas');
bgCanvas.width = canvas.width;
@@ -127,31 +127,35 @@ function startPainter(mac, width, height) {
});
function startDrawing(e) {
e.stopPropagation();
e.preventDefault();
if (isAddingText) return;
isDrawing = true;
var rect = canvas.getBoundingClientRect();
lastX = e.pageX - rect.left - window.pageXOffset;
lastY = e.pageY - rect.top - window.pageYOffset;
lastX = e.pageX - rect.left - window.scrollX;
lastY = e.pageY - rect.top - window.scrollY;
}
function stopDrawing() {
function stopDrawing(e) {
if (isAddingText) return;
isDrawing = false;
}
function draw(e) {
e.stopPropagation();
e.preventDefault();
if (isAddingText) return;
if (!isDrawing) return;
var rect = canvas.getBoundingClientRect();
ctx.beginPath();
ctx.moveTo(lastX, lastY);
ctx.lineTo(e.pageX - rect.left - window.pageXOffset, e.pageY - rect.top - window.pageYOffset);
ctx.lineTo(e.pageX - rect.left - window.scrollX, e.pageY - rect.top - window.scrollY);
ctx.strokeStyle = color;
ctx.lineWidth = linewidth;
ctx.lineCap = "round";
ctx.stroke();
lastX = e.pageX - rect.left - window.pageXOffset;
lastY = e.pageY - rect.top - window.pageYOffset;
lastX = e.pageX - rect.left - window.scrollX;
lastY = e.pageY - rect.top - window.scrollY;
}
function addText() {