      PROGRAM animation
      IMPLICIT NONE
      REAL x
      INTEGER IR_
      CALL GWopen(IR_, 0)
      CALL GWindow(IR_, 1.0, 1.0, 10.0, 10.0)
      CALL GWsetpen(IR_, 19, -1, -1, -1)
      x = 1
      DO WHILE(x .LT. 10)
         CALL GWsetbrs(IR_, 19, 1, 0)
         CALL GWrect(IR_, x, 5.0, x+1, 6.0) ! erase shape
         x = x + 0.1D0
         CALL GWsetbrs(IR_, 13, 1, 0)
         CALL GWrect(IR_, x, 5.0, x+1, 6.0) ! redraw shape at different location
         CALL GWsleep(IR_, 10)
      END DO
      CALL GWquit(IR_)
      END
