(FILECREATED "27-JUN-82 19:29:42" {PHYLUM}<LISPCORE>DEMO>RAIN.;5 5158 changes to: (FNS RAINDEMO) previous date: "25-JUN-82 17:40:07" {PHYLUM}<LISPCORE>DEMO>RAIN.;4) (* Copyright (c) 1982 by Xerox Corporation) (PRETTYCOMPRINT RAINCOMS) (RPAQQ RAINCOMS ((FNS BULL DRAWDROP DROPDROP RAINDEMO PUDDLE DNOTE DODNOTE DRAWBULL GETPT RANDPT) (CURSORS DNOTE) (VARS PUDDLE/PROPORTION (RAINWINDOW)))) (DEFINEQ (BULL [LAMBDA NIL (* rrb " 2-NOV-81 18:31") (PROG ((W (CREATEW NIL "Bull's Eye")) DS) (SETQ DS (WINDOWPROP W (QUOTE DSP))) LP (DRAWBULL (PROG1 (GETPT DS) (AND (LASTMOUSESTATE BLUE) (RETURN))) (EXPT 2 (RAND 0 3)) DS) (GO LP]) (DRAWDROP [LAMBDA (PT DS) (* rrb " 2-NOV-81 18:25") (PROG (WIDTH STEP) (SETQ WIDTH (EXPT 2 (RAND 0 3))) (SETQ STEP (IQUOTIENT (ITIMES (ADD1 WIDTH) (RAND 2 7)) 2)) (for I from 1 to (RAND 5 15) do (DRAWELLIPSE (fetch XCOORD of PT) (fetch YCOORD of PT) (FIX (FTIMES (ITIMES I STEP) PUDDLE/PROPORTION)) (ITIMES I STEP) 0 WIDTH NIL DS]) (DROPDROP [LAMBDA NIL (* rrb " 2-NOV-81 18:26") (PROG ((W (CREATEW NIL "Puddle")) DS) (SETQ DS (WINDOWPROP W (QUOTE DSP))) LP (DRAWDROP (PROG1 (GETPT DS) (AND (LASTMOUSESTATE BLUE) (RETURN))) DS) (GO LP]) (RAINDEMO [LAMBDA NIL (* rrb "27-JUN-82 19:29") (* draws circles in a window.) (PROG NIL [COND ((TYPENAMEP RAINWINDOW (QUOTE WINDOW))) (T (SETQ RAINWINDOW (CREATEW (create REGION LEFT ← 0 BOTTOM ← 0 WIDTH ← 500 HEIGHT ← 500) "Puddle"] (CLEARW RAINWINDOW) (for I from 1 to 20 do (DRAWBULL (RANDPT (DSPCLIPPINGREGION NIL RAINWINDOW)) (RAND 1 6) RAINWINDOW]) (PUDDLE [LAMBDA (W) (* rrb "25-JUN-82 17:37") [OR W (SETQ W (COND ((TYPENAMEP POLYGONSWINDOW (QUOTE WINDOW)) POLYGONSWINDOW) (T (SETQ POLYGONSWINDOW (CREATEW NIL "puddle"] (CLEARW W) (do (DRAWBULL (GETPOSITION W) 5 W]) (DNOTE [LAMBDA (POS SCALE DS) (* rrb " 2-NOV-81 18:43") (* draws a note like figure at POS) (PROG [(X (fetch XCOORD of POS)) (Y (fetch YCOORD of POS)) [SIZE (FIX (FTIMES 50.0 (COND ((NUMBERP SCALE) SCALE) (T 1.0] (DS (COND ((TYPENAMEP DS (QUOTE DISPLAYSTREAM)) DS) ((TYPENAMEP DS (QUOTE WINDOW)) (WINDOWPROP DS (QUOTE DSP))) ((NULL DS) (WINDOWPROP TOPW (QUOTE DSP))) (T (ERROR DS "NOT A DISPLAYSTREAM."] (DRAWLINE X Y (IPLUS X SIZE) Y 1 NIL DS) (RELDRAWTO 0 SIZE 1 NIL DS) (RELDRAWTO SIZE SIZE (IMAX (IQUOTIENT SIZE 5) 5) NIL DS) (RELDRAWTO 0 (IMINUS SIZE) 1 NIL DS]) (DODNOTE [LAMBDA (W) (* rrb " 2-NOV-81 18:43") (OR W (SETQ W TOPW)) (PROG ((DNOTESIZE .3) (DNOTEMODE (QUOTE PAINT))) (ADDMENU [SETQ SIZEMENU (BUTTONPANEL (QUOTE (.1 .3 .5 .7 .9 1.1 1.5] NIL) (do (DNOTE (GETPT (WINDOWPROP W (QUOTE DSP)) DNOTE) DNOTESIZE W]) (DRAWBULL [LAMBDA (PT WIDTH DS) (* rrb "31-MAY-82 10:21") (PROG (STEP) (SETQ STEP (IQUOTIENT (ITIMES (ADD1 WIDTH) (RAND 3 5)) 2)) (for I from 1 to (RAND 4 (ITIMES WIDTH 2)) do (DRAWCIRCLE (fetch XCOORD of PT) (fetch YCOORD of PT) (ITIMES I STEP) WIDTH NIL DS) (BLOCK]) (GETPT [LAMBDA (DS CURSOR) (* rrb " 5-OCT-81 16:42") (RESETFORM (CURSOR (COND ((type? CURSOR CURSOR) CURSOR) (T CROSSHAIRS))) (UNTILMOUSESTATE RED) (UNTILMOUSESTATE (NOT RED)) (create POSITION XCOORD ←(LASTMOUSEX DS) YCOORD ←(LASTMOUSEY DS]) (RANDPT [LAMBDA (REGION) (* rrb "28-SEP-81 18:49") (create POSITION XCOORD ←(RAND (fetch LEFT of REGION) (fetch RIGHT of REGION)) YCOORD ←(RAND (fetch BOTTOM of REGION) (fetch TOP of REGION]) ) (RPAQ DNOTE (CURSORCREATE (READBITMAP) 0 0)) (16 16 "@@@@" "@@B@" "@@F@" "@@N@" "@AN@" "@CN@" "@GN@" "@GJ@" "@GB@" "@FB@" "@DB@" "@D@@" "@D@@" "@D@@" "@D@@" "OL@@") (RPAQQ PUDDLE/PROPORTION .5) (RPAQQ RAINWINDOW NIL) (DECLARE: DONTCOPY (PUTPROPS RAIN COPYRIGHT ("Xerox Corporation" 1982))) (DECLARE: DONTCOPY (FILEMAP (NIL (425 4837 (BULL 435 . 781) (DRAWDROP 783 . 1306) (DROPDROP 1308 . 1628) (RAINDEMO 1630 . 2227) (PUDDLE 2229 . 2545) (DNOTE 2547 . 3367) (DODNOTE 3369 . 3745) (DRAWBULL 3747 . 4170) (GETPT 4172 . 4530) (RANDPT 4532 . 4835))))) STOP