(FILECREATED "18-Mar-85 15:41:16" 
{PHYLUM}<TRILLIUM>BIRTHDAY84>ENHANCEMENTS>RECORDS-NHB>TRI-RECORD-SHOW.;8 4000   

      changes to:  (FNS SHOW.FRAME*)

      previous date: " 6-Mar-85 13:50:47" 
{PHYLUM}<TRILLIUM>BIRTHDAY84>ENHANCEMENTS>RECORDS-NHB>TRI-RECORD-SHOW.;5)


(* Copyright (c) 1985 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT TRI-RECORD-SHOWCOMS)

(RPAQQ TRI-RECORD-SHOWCOMS ((FNS DISPLAY.FRAME CLEAR&SHOW.FRAME SHOW.FRAME SHOW.FRAME* GET.COLOR.MAP))
)
(DEFINEQ

(DISPLAY.FRAME
  [LAMBDA (FRAME INITIALIZE?)                                (* N.H.Briggs "15-Mar-85 16:32")
    (DECLARE (GLOBALVARS TRILLIUM.FAST.DISPLAY.FLG))
    (ANALYZE.FRAME.IF.NECESSARY FRAME)
    (CACHE.SUPERFRAMES.IF.NECESSARY FRAME)
    (COND
      ((NULL TRILLIUM.FAST.DISPLAY.FLG)                      (* SWITCH DSP'S BEFORE INITIALIZING)
	(RESETFORM (SWITCH.DSP T)
		   (COND
		     (INITIALIZE? (ACTIVATE.INITIALIZATIONS FRAME)))
		   (CLEAR&SHOW.FRAME FRAME)))
      (T 

          (* Switching off the display while painting the new frame is much faster than first painting it to an alternate 
	  screen and then copying the alternate screen to the real screen. Firstly, display off increases the # of cycles 
	  available by about 50 percent. Secondly, alternate screen bitmap may be as big as the whole screen, which is about 
	  200 pages -- guaranteed to incur page fault penalty!)


	 (RESETFORM (SETDISPLAYHEIGHT 0)
		    (COND
		      (INITIALIZE? (ACTIVATE.INITIALIZATIONS FRAME)))
		    (CLEAR&SHOW.FRAME FRAME])

(CLEAR&SHOW.FRAME
  [LAMBDA (FRAME)                                            (* N.H.Briggs "21-Feb-85 14:37")
    (DECLARE (GLOBALVARS CURRENT.DSP CURRENT.INTERFACE IN.LIVING.COLOR WHOLECOLORDISPLAY))
    (PROG (BACKGROUND.COLOR REPRESENTATIVE.GRAY)
          (SETQ BACKGROUND.COLOR (fetch.interface.fieldq CURRENT.INTERFACE BACKGROUND.COLOR))
          (SETQ REPRESENTATIVE.GRAY (FIND.REPRESENTATIVE.GRAY BACKGROUND.COLOR))
          (DSPFILL NIL REPRESENTATIVE.GRAY (QUOTE REPLACE)
		   CURRENT.DSP)
          [COND
	    (IN.LIVING.COLOR (COLORFILL WHOLECOLORDISPLAY (FIND.COLOR.NUMBER BACKGROUND.COLOR)
					(COLORSCREENBITMAP)
					(QUOTE REPLACE]
          (SHOW.FRAME* FRAME)
          (ACTIVATE.DISPLAYERS* FRAME])

(SHOW.FRAME
  [LAMBDA (FRAME)                                            (* N.H.Briggs " 1-Mar-85 14:30")
    (for ITEM in (fetch.frame.fieldq FRAME ARTWORK) do (SHOW.ITEM ITEM))
    (for ITEM in (fetch.frame.fieldq FRAME DISPLAYERS) do (SHOW.ITEM (CADR ITEM])

(SHOW.FRAME*
  [LAMBDA (FRAME)                                            (* N.H.Briggs "18-Mar-85 10:47")

          (* (for SUPERFRAME.NAME bind SUPERFRAME in (fetch.frame.fieldq FRAME SUPERFRAMES) do (COND ((SETQ SUPERFRAME 
	  (FIND.FRAME CURRENT.INTERFACE SUPERFRAME.NAME)) (SHOW.FRAME* SUPERFRAME)) (T (TRILLIUM.PRINTOUT "Frame " 
	  (GET.FIELDQ FRAME NAME) " has superframe " SUPERFRAME.NAME " which doesn't exist" " (showing)")))) 
	  (SHOW.FRAME FRAME))


    (for SUPERFRAME in (fetch.frame.fieldq FRAME SUPERFRAMES.CACHE)
       do (for ITEM in (fetch.frame.fieldq SUPERFRAME DISPLAYERS) do (SHOW.ITEM (CADR ITEM)))
	  (for ITEM in (fetch.frame.fieldq SUPERFRAME ARTWORK) do (SHOW.ITEM ITEM])

(GET.COLOR.MAP
  [LAMBDA (INTERFACE)                                        (* N.H.Briggs " 5-Mar-85 11:06")
    (PROG (COLORMAP)
          (SETQ COLORMAP (fetch.interface.fieldq INTERFACE COLOR.MAP))
          (COND
	    ((NULL COLORMAP)
	      (SETQ COLORMAP "create a color map")
	      (replace.interface.fieldq INTERFACE COLOR.MAP COLORMAP)))
          (RETURN COLORMAP])
)
(PUTPROPS TRI-RECORD-SHOW COPYRIGHT ("Xerox Corporation" 1985))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (494 3914 (DISPLAY.FRAME 504 . 1634) (CLEAR&SHOW.FRAME 1636 . 2419) (SHOW.FRAME 2421 . 
2725) (SHOW.FRAME* 2727 . 3502) (GET.COLOR.MAP 3504 . 3912)))))
STOP