handleMouseMove method

void handleMouseMove(
  1. MouseEvent event
)

Implementation

void handleMouseMove(MouseEvent event) {
  var rect = (event.target as Element).getBoundingClientRect();
  var x = event.clientX - rect.left; //x position within the element.
  var y = event.clientY - rect.top; //y position within the element.
  int offsetX = 60;
  int offsetY = 35;
  if (x > rect.width / 2) {
    offsetX = -60;
  }
  if (y > rect.height / 2) {
    offsetY = -35;
  }
  offsetX -= 50;
  offsetY -= 25;
  canvasTip.style.display = 'none';
  int? activePoint;
  for (var i = 0; i < points.length; i++) {
    var dx = x - points[i].x;
    var dy = y - points[i].y;
    points[i].active = false;
    if ((dx * dx) + (dy * dy) < 100) {
      points[i].active = true;
      activePoint = i;
      canvasTip.style.left = "${points[i].x + offsetX}px";
      canvasTip.style.top = "${points[i].y + offsetY}px";
      canvasTip.innerHTML = ('${points[i].time}<br/>${points[i].value}').toJS;
      canvasTip.style.display = 'block';
    }
  }
  if (currentActivePoint != activePoint) {
    currentActivePoint = activePoint;
    renderPoints();
  }
}