cornerstonejs / cornerstoneTools

A framework for tools built on top of Cornerstone.
https://tools.cornerstonejs.org/
MIT License
574 stars 456 forks source link

I don't think currentPoints and lastPoints will be different when the mouse moves. I get deltaPoints. Image always {x:0,y:0}. #1470

Open zhangjindong opened 2 years ago

zhangjindong commented 2 years ago

https://github.com/cornerstonejs/cornerstoneTools/blob/94b728359171d9cd9ffa17d1fa9d167ee5d9f6f1/src/eventListeners/mouseEventListeners.js#L325

I don't think currentPoints and lastPoints will be different when the mouse moves. I get deltaPoints.image always {x:0,y:0}.

zhangjindong commented 2 years ago

Perhaps lastPoints should be calculated using movementX/movementY, for example:

  let lastPoints = {
    page: { x: e.pageX - e.movementX, y: e.pageY - e.movementY },
    image: external.cornerstone.pageToPixel(
      element,
      e.pageX - e.movementX,
      e.pageY - e.movementY
    ),
    client: {
      x: e.clientX - e.movementX,
      y: e.clientY - e.movementY,
    },
  };

  lastPoints.canvas = external.cornerstone.pixelToCanvas(
    element,
    lastPoints.image
  );