protected void whenDragged() {
    if (initScrollPos == -1 || ! showScroll) return ;
    final Vec2D mP = myHUD.mousePos(), dP = myHUD.dragOrigin() ;
    final float mapRatio = Math.min(mapRatio(), MAX_GRAB_PORTION) ;
    final float stretch = (mP.y - dP.y) / (ydim() * (1 - mapRatio)) ;
    scrollPos = initScrollPos + stretch ;
    if (scrollPos < 0) scrollPos = 0 ;
    if (scrollPos > 1) scrollPos = 1 ;
  }