mirror of
https://github.com/projectstorm/react-diagrams.git
synced 2025-08-26 07:51:10 +08:00
Fixing #470
After the #469 PR, a bug when the zoom level is != from 1 make the link go far the mouse. Now it's considering the zoom level in the calculation
This commit is contained in:
@ -92,10 +92,13 @@ export class DragNewLinkState extends AbstractDisplacementState<DiagramEngine> {
|
||||
*/
|
||||
fireMouseMoved(event: AbstractDisplacementStateEvent): any {
|
||||
const portPos = this.port.getPosition();
|
||||
const engineOffsetX = this.engine.getModel().getOffsetX();
|
||||
const engineOffsetY = this.engine.getModel().getOffsetY();
|
||||
const linkNextX = portPos.x - engineOffsetX + (this.initialXRelative - portPos.x) + event.virtualDisplacementX;
|
||||
const linkNextY = portPos.y - engineOffsetY + (this.initialYRelative - portPos.y) + event.virtualDisplacementY;
|
||||
const zoomLevelPercentage = this.engine.getModel().getZoomLevel() / 100;
|
||||
const engineOffsetX = this.engine.getModel().getOffsetX() / zoomLevelPercentage;
|
||||
const engineOffsetY = this.engine.getModel().getOffsetY() / zoomLevelPercentage;
|
||||
const initialXRelative = this.initialXRelative / zoomLevelPercentage;
|
||||
const initialYRelative = this.initialYRelative / zoomLevelPercentage;
|
||||
const linkNextX = portPos.x - engineOffsetX + (initialXRelative - portPos.x) + event.virtualDisplacementX;
|
||||
const linkNextY = portPos.y - engineOffsetY + (initialYRelative - portPos.y) + event.virtualDisplacementY;
|
||||
|
||||
this.link.getLastPoint().setPosition(linkNextX, linkNextY);
|
||||
this.engine.repaintCanvas();
|
||||
|
Reference in New Issue
Block a user