(FILECREATED "16-JUL-82 00:55:00" {PHYLUM}<AAAI>CHANGEBACKGROUND.;1 1591   )


(DEFINEQ

(CHANGEBACKGROUND
  [LAMBDA (SHADE)                                            (* edited: "16-JUL-82 00:53")
                                                             (* changes the window world background to SHADE)
    (PROG ((SCREENSIZE (QUOTIENT (TIMES SCREENWIDTH SCREENHEIGHT)
				 8)))
          [COND
	    ((OR (EQ SHADE T)
		 (NULL SHADE))
	      (SETQ SHADE WINDOWBACKGROUNDSHADE))
	    (T (COND
		 ((OR (TEXTUREP SHADE)
		      (BITMAPP SHADE)))
		 ((LITATOM SHADE)
		   (SETQ SHADE (OPENSTREAM SHADE (QUOTE INPUT)
					   (QUOTE OLD)))
		   (if (NOT (IEQP (GETEOFPTR SHADE)
				  SCREENSIZE))
		       then (ERROR (FULLNAME (CLOSEF STREAM))
				   "wrong size file" T)))
		 (T (\ILLEGAL.ARG SHADE]
          (RESETLST (PROG ((ACTIVEWINDOWS (ACTIVEWINDOWS)))
		          (RESETSAVE NIL (LIST [FUNCTION (LAMBDA (X)
						   (MAPC X (FUNCTION \OPENW1]
					       ACTIVEWINDOWS))
		          (for W in ACTIVEWINDOWS do (\CLOSEW1 W))
		          (RETURN (PROG1 CURRENTBACKGROUNDSHADE [COND
					   ((TYPENAMEP SHADE (QUOTE STREAM))
					     (BINS SHADE (fetch BITMAPBASE of (SCREENBITMAP))
						   0 SCREENSIZE))
					   (T (SETQ CURRENTBACKGROUNDSHADE SHADE)
					      (COND
						((TEXTUREP SHADE)
						  (CLEAR (SCREENBITMAP)
							 SHADE))
						((BITMAPP SHADE)
						  (TILE SHADE (SCREENBITMAP]
					 (if (TYPENAMEP SHADE (QUOTE STREAM))
					     then (CLOSEF SHADE])
)
(PRETTYCOMPRINT (CHANGEBACKGROUND))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (83 1533 (CHANGEBACKGROUND 93 . 1531)))))
STOP