ui/src/main/java/ucar/nc2/ui/geoloc/Navigation.java
public void zoom(double startx, double starty, double width, double height) {
    if (debugZoom)
      System.out.println("zoom "+ startx+ " "+starty+ " "+width+ " "+height+ " ");

    if ((width < 5) || (height < 5))
      return;
    zoom.push();

    pix_x0 -= startx+width/2 - pwidth/2;
    pix_y0 -= starty+height/2 - pheight/2;
    zoom(pwidth / width);
  }
public void zoom(double startx, double starty, double width, double height) {
    if (debugZoom)
      System.out.println("zoom "+ startx+ " "+starty+ " "+width+ " "+height+ " ");

    if ((width < 5) || (height < 5))
      return;
    zoom.push();

    pix_x0 -= startx+width/2 - pwidth/2;
    pix_y0 -= starty+height/2 - pheight/2;
    zoom(pwidth / width);
  }
call this to zoom into a subset of the screen.
startx, starty are the upper left corner of the box in display coords
width, height the size of the box in display coords