From 733b8981ec2b1aeb503d6b40176b50a019d03c8d Mon Sep 17 00:00:00 2001 From: Yann Armelin Date: Fri, 20 Oct 2023 22:28:50 +0200 Subject: [PATCH] Finalize cusor position --- src/app/app.component.html | 7 ++++--- src/app/app.component.scss | 18 ++++++++++-------- src/app/app.component.ts | 8 ++------ src/app/canvas/canvas.component.ts | 10 +++++----- 4 files changed, 21 insertions(+), 22 deletions(-) diff --git a/src/app/app.component.html b/src/app/app.component.html index 9ba866d..184595d 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -316,6 +316,10 @@ add + - (); @Output() dragging = new EventEmitter(); @Output() viewPort = new EventEmitter<{x: number, y: number, w: number, h: number | null, force?: boolean}>(); - @Output() cursorPosition = new EventEmitter(); + @Output() cursorPosition = new EventEmitter(); @Output() emptyCanvas = new EventEmitter(); @@ -127,7 +127,6 @@ export class CanvasComponent implements OnInit, OnChanges, AfterViewInit { $event.stopPropagation(); } @HostListener('mousemove', ['$event']) onMouseMove($event: MouseEvent) { - this.setCursorPosition($event); this.drag($event); } @HostListener('mouseup', ['$event']) onMouseUp($event: MouseEvent) { @@ -260,6 +259,7 @@ export class CanvasComponent implements OnInit, OnChanges, AfterViewInit { this.drag(this.draggedEvt); } this.dragging.emit(false); + this.setCursorPosition(undefined); if (!this.draggedPoint && !this.wasCanvasDragged) { // unselect action @@ -318,6 +318,7 @@ export class CanvasComponent implements OnInit, OnChanges, AfterViewInit { } this.afterModelChange.emit(); this.draggedEvt = null; + this.setCursorPosition({...pt, decimals}); } else if(this.draggedEvt) { this.wasCanvasDragged = true; const pinchToZoom = this.pinchToZoom(this.draggedEvt, event); @@ -339,8 +340,7 @@ export class CanvasComponent implements OnInit, OnChanges, AfterViewInit { } } - setCursorPosition(event: MouseEvent | TouchEvent) { - const pt = this.eventToLocation(event); - this.cursorPosition.emit({x: pt.x, y: pt.y}); + setCursorPosition(location?: {x: number, y: number, decimals?: number}) { + this.cursorPosition.emit(location); } }