%N pgscrl %F $MIR/src/pgscrl.f
%D Scroll window
%B
      SUBROUTINE PGSCRL (DX, DY)
      REAL DX, DY

 This routine moves the window in world-coordinate space while
 leaving the viewport unchanged. On devices that have the
 capability, the pixels within the viewport are scrolled
 horizontally, vertically or both in such a way that graphics
 previously drawn in the window are shifted so that their world
 coordinates are unchanged.

 If the old window coordinate range was (X1, X2, Y1, Y2), the new
 coordinate range will be approximately (X1+DX, X2+DX, Y1+DY, Y2+DY).
 The size and scale of the window are unchanged.

 Thee window can only be shifted by a whole number of pixels
 (device coordinates). If DX and DY do not correspond to integral
 numbers of pixels, the shift will be slightly different from that
 requested. The new window-coordinate range, and hence the exact
 amount of the shift, can be determined by calling PGQWIN after this
 routine.

 Pixels that are moved out of the viewport by this operation are
 lost completely; they cannot be recovered by scrolling back.
 Pixels that are ``scrolled into'' the viewport are filled with
 the background color (color index 0).

 If the absolute value of DX is bigger than the width of the window,
 or the aboslute value of DY is bigger than the height of the window,
 the effect will be the same as zeroing all the pixels in the
 viewport.

 Not all devices have the capability to support this routine.
 It is only available on some interactive devices that have discrete
 pixels. To determine whether the current device has scroll capability,
 call PGQINF.

 Arguments:
  DX     (input)  : distance (in world coordinates) to shift the
                    window horizontally (positive shifts window to the
                    right and scrolls to the left).
  DY     (input)  : distance (in world coordinates) to shift the
                    window vertically (positive shifts window up and
                    scrolls down).
