fix paint on mobile

This commit is contained in:
Shuanglei Tao
2025-08-13 00:41:49 +08:00
parent b708a01b1d
commit 441d5aac12

View File

@@ -115,9 +115,9 @@ function setupCanvasForPainting() {
canvas.addEventListener('click', handleCanvasClick);
// Touch support
canvas.addEventListener('touchstart', handleTouchStart);
canvas.addEventListener('touchmove', handleTouchMove);
canvas.addEventListener('touchend', endPaint);
canvas.addEventListener('touchstart', onTouchStart);
canvas.addEventListener('touchmove', onTouchMove);
canvas.addEventListener('touchend', onTouchEnd);
}
function startPaint(e) {
@@ -225,7 +225,7 @@ function handleCanvasClick(e) {
}
// Improve touch handling for text placement
function handleTouchStart(e) {
function onTouchStart(e) {
e.preventDefault();
const touch = e.touches[0];
@@ -247,7 +247,7 @@ function handleTouchStart(e) {
canvas.dispatchEvent(mouseEvent);
}
function handleTouchMove(e) {
function onTouchMove(e) {
e.preventDefault();
const touch = e.touches[0];
const mouseEvent = new MouseEvent('mousemove', {
@@ -257,6 +257,11 @@ function handleTouchMove(e) {
canvas.dispatchEvent(mouseEvent);
}
function onTouchEnd(e) {
e.preventDefault();
endPaint();
}
function dragText(e) {
const rect = canvas.getBoundingClientRect();
const scaleX = canvas.width / rect.width;