public void updateMouse() {
    nextMB = Mouse.isButtonDown(0) ;
    nextMP.x = Mouse.getX() ;
    nextMP.y = Mouse.getY() ;
    
    if (mouseB && (! nextMB)) {
      mouseState = HOVERED ;
    }
    if ((! mouseB) && nextMB) {
      mouseState = CLICKED ;
      dragMP.setTo(nextMP) ;
    }
    if (mouseB && nextMB && (mouseState != DRAGGED)) {
      mouseState = (dragMP.pointDist(nextMP) > DRAG_DIST) ? DRAGGED : PRESSED ;
    }
    mousePos.setTo(nextMP) ;
    mouseB = nextMB ;
  }