(FILECREATED " 9-SEP-83 15:38:57" {PHYLUM}<LISPUSERS>BLTDEMO.;3 8450   

      changes to:  (FNS BOUNCE PAINTOBJ ERASEOBJ)

      previous date: "18-NOV-82 08:43:23" {PHYLUM}<LISPUSERS>BLTDEMO.;2)


(PRETTYCOMPRINT BLTDEMOCOMS)

(RPAQQ BLTDEMOCOMS ((FNS ACTIVITYDEMO BOUNCE MOVEOBJ PAINTOBJ ERASEOBJ)
		    (VARS (BOUNCEWINDOW))
		    (BITMAPS STAR1 STAR2 STAR3 WASHER BOX)))
(DEFINEQ

(ACTIVITYDEMO
  [LAMBDA NIL                                                (* edited: "18-NOV-82 08:35")
    [COND
      ((TYPENAMEP BOUNCEWINDOW (QUOTE WINDOW))
	BOUNCEWINDOW)
      (T (SETQ BOUNCEWINDOW
	   (CREATEW (create REGION
			    LEFT ← 507
			    BOTTOM ← 10
			    WIDTH ← 506
			    HEIGHT ← 330]
    (BOUNCE (COND
	      ((EQ (MACHINETYPE)
		   (QUOTE DORADO))
		1)
	      (T 3))
	    (COND
	      ((EQ (MACHINETYPE)
		   (QUOTE DORADO))
		1)
	      (T 3])

(BOUNCE
  [LAMBDA (XSPEED YSPEED)                                    (* edited: " 9-SEP-83 15:23")
    (PROG (X Y OLDX OLDY XDIR YDIR W H WINDOW.W WINDOW.H STARS NSTAR WX WY WOLDX WOLDY WXDIR WYDIR 
	     STAR OLDSTAR OLDOBJ BX BY BXDIR BYDIR BOLDX BOLDY OLDBOX NEWBOX BOUNCESTREAM)
          (OR BOUNCEWINDOW (SETQ BOUNCEWINDOW (CREATEW NIL "Wonderful World of Bitblt" NIL)))
          (CLEARW BOUNCEWINDOW)
          (SETQ WINDOW.W (IMAX 64 (IDIFFERENCE (WINDOWPROP BOUNCEWINDOW (QUOTE WIDTH))
					       48)))
          (SETQ WINDOW.H (IMAX 64 (IDIFFERENCE (WINDOWPROP BOUNCEWINDOW (QUOTE HEIGHT))
					       48)))
          (SETQ STARS (LIST STAR1 STAR2 STAR3))
          (OR XSPEED (SETQ XSPEED 3))
          (OR YSPEED (SETQ YSPEED 3))
          (SETQ XDIR (IMIN (ABS XSPEED)
			   WINDOW.W))
          (SETQ WXDIR XDIR)
          (SETQ BXDIR (IMINUS XDIR))
          (SETQ YDIR (IMIN (ABS YSPEED)
			   WINDOW.H))
          (SETQ WYDIR (IMINUS YDIR))
          (SETQ BYDIR YDIR)
          (SETQ OLDX 0)
          (SETQ WOLDX (IMIN (IDIFFERENCE WINDOW.W 10)
			    100))
          (SETQ BOLDX (IMIN (IDIFFERENCE WINDOW.W 10)
			    300))
          (SETQ OLDY 0)
          (SETQ WOLDY (IMIN (IDIFFERENCE WINDOW.H 10)
			    300))
          (SETQ BOLDY (IMIN WINDOW.H 10))
          (SETQ X 1)
          (SETQ Y 1)
          (SETQ WX (ADD1 WOLDX))
          (SETQ WY (ADD1 WOLDY))
          (SETQ BX (ADD1 BOLDX))
          (SETQ BY (ADD1 BOLDY))
          (SETQ NSTAR 0)
          (SETQ OLDSTAR (CAR STARS))
          (SETQ OLDBOX (BITMAPCOPY BOX))
          (SETQ NEWBOX (BITMAPCOPY BOX))
          (do (AND (GETD (QUOTE THIS.PROCESS))
		   (THIS.PROCESS)
		   (BLOCK))
	      [COND
		((OR (ILEQ X 0)
		     (IGEQ X WINDOW.W))
		  (SETQ XDIR (IMINUS XDIR]
	      [COND
		((OR (ILEQ Y 0)
		     (IGEQ Y WINDOW.H))
		  (SETQ YDIR (IMINUS YDIR]
	      (MOVEOBJ [SETQ STAR (CAR (NTH STARS (SETQ NSTAR (ADD1 (IREMAINDER NSTAR 3]
		       OLDSTAR OLDX OLDY X Y 48 48)
	      (SETQ OLDSTAR STAR)
	      (SETQ OLDX X)
	      (SETQ OLDY Y)
	      (SETQ X (IPLUS OLDX XDIR))
	      (SETQ Y (IPLUS OLDY YDIR))                     (* Now do the box)
	      [COND
		((OR (ILEQ BX 0)
		     (IGEQ BX WINDOW.W))
		  (SETQ BXDIR (IMINUS BXDIR]
	      [COND
		((OR (ILEQ BY 0)
		     (IGEQ BY WINDOW.H))
		  (SETQ BYDIR (IMINUS BYDIR]
	      (GETMOUSESTATE)
	      (BITBLT (SCREENBITMAP)
		      (IDIFFERENCE LASTMOUSEX 23)
		      (IDIFFERENCE LASTMOUSEY 23)
		      NEWBOX 3 3 42 42 NIL (QUOTE SOURCE))
	      (MOVEOBJ NEWBOX OLDBOX BOLDX BOLDY BX BY 48 48)
	      (BITBLT NEWBOX 3 3 OLDBOX 3 3 42 42 NIL (QUOTE SOURCE))
	      (SETQ BOLDX BX)
	      (SETQ BOLDY BY)
	      (SETQ BX (IPLUS BOLDX BXDIR))
	      (SETQ BY (IPLUS BOLDY BYDIR))                  (* Now do the washer)
	      [COND
		((OR (ILEQ WX 0)
		     (IGEQ WX WINDOW.W))
		  (SETQ WXDIR (IMINUS WXDIR]
	      [COND
		((OR (ILEQ WY 0)
		     (IGEQ WY WINDOW.H))
		  (SETQ WYDIR (IMINUS WYDIR]
	      (SETQ WOLDX WX)
	      (SETQ WOLDY WY)
	      (SETQ WX (IPLUS WOLDX WXDIR))
	      (SETQ WY (IPLUS WOLDY WYDIR))
	      (MOVEOBJ WASHER WASHER WOLDX WOLDY WX WY 48 48])

(MOVEOBJ
  [LAMBDA (OBJ OLDOBJ X1 Y1 X2 Y2 W H)                       (* J.Vittal " 9-NOV-82 10:13")
    (ERASEOBJ OLDOBJ X1 Y1 W H)
    (PAINTOBJ OBJ X2 Y2 W H)
    (SETQ OLDOBJ OBJ])

(PAINTOBJ
  [LAMBDA (OBJ X Y W H)                                      (* edited: " 9-SEP-83 15:37")
    (BITBLT OBJ NIL NIL BOUNCEWINDOW X Y W H NIL (QUOTE PAINT)
	    NIL NIL])

(ERASEOBJ
  [LAMBDA (OBJ X Y W H)                                      (* edited: " 9-SEP-83 15:37")
    (BITBLT OBJ NIL NIL BOUNCEWINDOW X Y W H NIL (QUOTE ERASE)
	    NIL NIL])
)

(RPAQQ BOUNCEWINDOW NIL)

(RPAQ STAR1 (READBITMAP))
(48 48
"@@@@@A@@@@@@"
"@@@@@CH@@@@@"
"@@@@@CH@@@@@"
"@@@@@GL@@@@@"
"@@@@@GL@@@@@"
"@@@@@GL@@@@@"
"@@@@@ON@@@@@"
"@@@@@ON@@@@@"
"@@@@@ON@@@@@"
"@@@@AOO@@@@@"
"@@@@AOO@@@@@"
"@@@@COOH@@@@"
"@@@@COOH@@@@"
"OOOOOOOOOOON"
"GOOOOOOOOOOL"
"AOOOOOOOOOO@"
"@OOOOOOOOON@"
"@COOOOOOOOH@"
"@AOOOOOOOO@@"
"@@GOOOOOOL@@"
"@@COOOOOOH@@"
"@@@OOOOON@@@"
"@@@GOOOOL@@@"
"@@@COOOOH@@@"
"@@@AOOOO@@@@"
"@@@COOOOH@@@"
"@@@COOOOH@@@"
"@@@GOOOOL@@@"
"@@@GOOOOL@@@"
"@@@GOOOOL@@@"
"@@@OONOON@@@"
"@@@OOHCON@@@"
"@@@OO@AON@@@"
"@@AOL@@GO@@@"
"@@AOH@@CO@@@"
"@@AN@@@@O@@@"
"@@CL@@@@GH@@"
"@@C@@@@@AH@@"
"@@F@@@@@@L@@"
"@@D@@@@@@D@@"
"@@@@@@@@@@@@"
"@@@@@@@@@@@@"
"@@@@@@@@@@@@"
"@@@@@@@@@@@@"
"@@@@@@@@@@@@"
"@@@@@@@@@@@@"
"@@@@@@@@@@@@"
"@@@@@@@@@@@@")

(RPAQ STAR2 (READBITMAP))
(48 48
"@@@@@@@@D@@@"
"@@@@@@@@L@@@"
"@B@@@@@AL@@@"
"@CH@@@@CL@@@"
"@AN@@@@GL@@@"
"@@OH@@@OH@@@"
"@@ON@@COH@@@"
"@@GOH@GOH@@@"
"@@GON@OOH@@@"
"@@COOIOOH@@@"
"@@COOOOO@@@@"
"@@AOOOOO@@@@"
"@@AOOOOO@@@@"
"@@@OOOOO@@@@"
"@@@OOOOO@@@@"
"@@@GOOOOH@@@"
"@@@GOOOOL@@@"
"@@@GOOOOOH@@"
"@@@COOOOON@@"
"@@@GOOOOOO@@"
"@@@OOOOOOOL@"
"@@AOOOOOOOO@"
"@@COOOOOOOOH"
"@@GOOOOOOOOL"
"@@OOOOOOOOON"
"@AOOOOOOOOO@"
"@COOOOOOOH@@"
"@GOOOOON@@@@"
"@OOOOOON@@@@"
"AON@@OON@@@@"
"CL@@@GON@@@@"
"F@@@@GOL@@@@"
"@@@@@COL@@@@"
"@@@@@COL@@@@"
"@@@@@AOL@@@@"
"@@@@@AOL@@@@"
"@@@@@@OL@@@@"
"@@@@@@OL@@@@"
"@@@@@@GL@@@@"
"@@@@@@GL@@@@"
"@@@@@@CL@@@@"
"@@@@@@CH@@@@"
"@@@@@@AH@@@@"
"@@@@@@@H@@@@"
"@@@@@@@H@@@@"
"@@@@@@@H@@@@"
"@@@@@@@@@@@@"
"@@@@@@@@@@@@")

(RPAQ STAR3 (READBITMAP))
(48 48
"@@@@@@@@@@@@"
"@@@D@@@@@@@@"
"@@@F@@@@@@@@"
"@@@G@@@@@@@@"
"@@@CH@@@@@@@"
"@@@CL@@@@@L@"
"@@@CN@@@@CL@"
"@@@CO@@@@OH@"
"@@@COH@@COH@"
"@@@COL@@ON@@"
"@@@CON@CON@@"
"@@@AOO@OOL@@"
"@@@AOOKOOL@@"
"@@@AOOOOOH@@"
"@@@AOOOOOH@@"
"@@@AOOOOO@@@"
"@@@AOOOOO@@@"
"@@@AOOOON@@@"
"@@@COOOOL@@@"
"@@@GOOOOL@@@"
"@@COOOOOH@@@"
"@@OOOOOOL@@@"
"@COOOOOOL@@@"
"@OOOOOOON@@@"
"COOOOOOOO@@@"
"OOOOOOOOOH@@"
"AOOOOOOOOL@@"
"@AOOOOOOON@@"
"@@@GOOOOOO@@"
"@@@@OOOOOOH@"
"@@@@GOOOOOL@"
"@@@@GOOOOON@"
"@@@@GOL@@GO@"
"@@@@GOL@@@CH"
"@@@@GOH@@@@@"
"@@@@GO@@@@@@"
"@@@@GO@@@@@@"
"@@@@GN@@@@@@"
"@@@@GN@@@@@@"
"@@@@GL@@@@@@"
"@@@@GH@@@@@@"
"@@@@GH@@@@@@"
"@@@@G@@@@@@@"
"@@@@F@@@@@@@"
"@@@@F@@@@@@@"
"@@@@D@@@@@@@"
"@@@@@@@@@@@@"
"@@@@@@@@@@@@")

(RPAQ WASHER (READBITMAP))
(48 48
"@@@@@@@@@@@@"
"@@@@GOOL@@@@"
"@@@COOOOL@@@"
"@@@OOOOOO@@@"
"@@COOOOOOL@@"
"@@GOOOOOON@@"
"@@OOOOOOOO@@"
"@AOOOOOOOOH@"
"@COOOOOOOOL@"
"@GOOOOOOOON@"
"@OOOOOOOOOO@"
"@OOOOOOOOOO@"
"AOOOOOOOOOOH"
"AOOON@@OOOOH"
"COOOH@@COOOL"
"COOO@@@AOOOL"
"COON@@@@OOOL"
"GOOL@@@@GOON"
"GOOL@@@@GOON"
"GOOL@@@@GOON"
"GOOH@@@@COON"
"GOOH@@@@COON"
"GOOH@@@@COON"
"GOOH@@@@COON"
"GOOH@@@@COON"
"GOOH@@@@COON"
"GOOH@@@@COON"
"GOOH@@@@COON"
"GOOL@@@@GOON"
"GOOL@@@@GOON"
"COON@@@@OOOL"
"COOO@@@AOOOL"
"COOOH@@COOOL"
"AOOON@@OOOOL"
"AOOOOOOOOOOH"
"@OOOOOOOOOOH"
"@OOOOOOOOOO@"
"@GOOOOOOOOO@"
"@GOOOOOOOON@"
"@COOOOOOOOL@"
"@AOOOOOOOOH@"
"@@OOOOOOOO@@"
"@@GOOOOOON@@"
"@@COOOOOOH@@"
"@@@OOOOON@@@"
"@@@COOOOH@@@"
"@@@@GOOL@@@@"
"@@@@@@@@@@@@")

(RPAQ BOX (READBITMAP))
(48 48
"@@@@@@@@@@@@"
"GOOOOOOOOOON"
"GOOOOOOOOOON"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"F@@@@@@@@@@F"
"GOOOOOOOOOON"
"GOOOOOOOOOON"
"@@@@@@@@@@@@")
(DECLARE: DONTCOPY
  (FILEMAP (NIL (386 4624 (ACTIVITYDEMO 396 . 882) (BOUNCE 884 . 4044) (MOVEOBJ 4046 . 4246) (PAINTOBJ 
4248 . 4434) (ERASEOBJ 4436 . 4622)))))
STOP