(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")(FILECREATED "14-Mar-88 17:29:38" |{MCS:MCS:STANFORD}<LANE>MONITOR.;9| 10032        changes to%:  (VARS MONITORCOMS)                    (FNS MONITOR.GET.BITMAP MONITOR MONITOR.BUTTONEVENTFN MONITOR.SHRINK.BITMAP                          MONITOR.SEND.BITMAP)                    (COURIERPROGRAMS MONITOR)      previous date%: "14-Mar-88 09:15:11" |{MCS:MCS:STANFORD}<LANE>MONITOR.;1|)(PRETTYCOMPRINT MONITORCOMS)(RPAQQ MONITORCOMS ((FNS MONITOR MONITOR.GET.BITMAP MONITOR.BUTTONEVENTFN MONITOR.SHRINK.BITMAP                          MONITOR.SEND.BITMAP)                    (COURIERPROGRAMS MONITOR)                    (INITVARS (MONITOR.SCALE 3)                           MONITOR.SCRATCH.BITMAPS)                    (GLOBALVARS MONITOR.SCALE MONITOR.SCRATCH.BITMAPS)                    (DECLARE%: DONTCOPY (RECORDS MONITOR.SCRATCH.BITMAP))                    (FILES COURIERSERVE BITMAPFNS)                    (P (COURIER.START.SERVER))))(DEFINEQ(MONITOR  [LAMBDA (HOST SCALE)                                       (* ; "Edited 14-Mar-88 13:46 by cdl")    (LET ((COURIER.STREAM (COURIER.OPEN HOST))          BITMAP SCREEN.WINDOW CLOSEUP.WINDOW)         (if (NULL SCALE)             then (SETQ SCALE MONITOR.SCALE))         (SETQ BITMAP (MONITOR.GET.BITMAP COURIER.STREAM SCALE))         [SETQ SCREEN.WINDOW (CREATEW (with REGION (GETBOXREGION (WIDTHIFWINDOW (BITMAPWIDTH BITMAP))                                                          (TIMES (HEIGHTIFWINDOW (BITMAPHEIGHT BITMAP                                                                                        ))                                                                 2))                                            (CREATEREGION LEFT BOTTOM WIDTH (QUOTIENT HEIGHT 2]         (BITBLT BITMAP NIL NIL SCREEN.WINDOW)         (SETQ CLOSEUP.WINDOW          (CREATEW (with REGION (WINDOWPROP SCREEN.WINDOW 'REGION)                         (create REGION                                LEFT _ LEFT                                BOTTOM _ PTOP                                WIDTH _ WIDTH                                HEIGHT _ (HEIGHTIFWINDOW (BITMAPHEIGHT BITMAP)                                                HOST)))                 HOST))         (ATTACHWINDOW CLOSEUP.WINDOW SCREEN.WINDOW)         (BITBLT (MONITOR.GET.BITMAP COURIER.STREAM SCALE (DSPCLIPPINGREGION NIL SCREEN.WINDOW))                NIL NIL CLOSEUP.WINDOW)         (WINDOWPROP SCREEN.WINDOW 'MONITOR.SCALE SCALE)         (WINDOWPROP SCREEN.WINDOW 'COURIER.STREAM COURIER.STREAM)         (WINDOWPROP SCREEN.WINDOW 'CLOSEUP.WINDOW CLOSEUP.WINDOW)         (WINDOWPROP SCREEN.WINDOW 'BUTTONEVENTFN (FUNCTION MONITOR.BUTTONEVENTFN))         [WINDOWADDPROP SCREEN.WINDOW 'CLOSEFN (FUNCTION (LAMBDA (WINDOW)                                                           (CLOSEF? (WINDOWPROP WINDOW '                                                                           COURIER.STREAM))                                                           (WINDOWPROP WINDOW 'CLOSEUP.WINDOW NIL]         SCREEN.WINDOW])(MONITOR.GET.BITMAP  [LAMBDA (STREAM SCALE REGION)                              (* ; "Edited 14-Mar-88 14:01 by cdl")    (LET (BULK.DATA.STREAM)         (RESETLST [RESETSAVE NIL `(CLOSEF? ,(SETQ BULK.DATA.STREAM (COURIER.CALL STREAM 'MONITOR                                                                           'SEND.BITMAP SCALE REGION                                                                            NIL]                (READBM BULK.DATA.STREAM])(MONITOR.BUTTONEVENTFN  [LAMBDA (WINDOW)                                           (* ; "Edited 14-Mar-88 13:33 by cdl")    (LET ((SCALE (WINDOWPROP WINDOW 'MONITOR.SCALE))          REGION POSITION CLIPPINGREGION)         (if (MOUSESTATE LEFT)             then [with REGION (SETQ CLIPPINGREGION (DSPCLIPPINGREGION NIL WINDOW))                        (SETQ REGION (CREATEREGION NIL NIL (QUOTIENT WIDTH SCALE)                                            (QUOTIENT HEIGHT SCALE]                  (until (MOUSESTATE UP)                     do (if [with POSITION (SETQ POSITION (CURSORPOSITION NIL WINDOW POSITION))                                  (with REGION REGION (OR (NEQ XCOORD LEFT)                                                          (NEQ YCOORD BOTTOM]                            then (with REGION REGION (if LEFT                                                         then (DSPFILL REGION BLACKSHADE 'INVERT                                                                      WINDOW))                                       (with POSITION POSITION (SETQ LEFT XCOORD)                                             (SETQ BOTTOM YCOORD)))                                 (DSPFILL REGION BLACKSHADE 'INVERT WINDOW)                          else (BLOCK)) finally (if (with REGION REGION LEFT)                                                    then (DSPFILL REGION BLACKSHADE 'INVERT WINDOW)))                  (BITBLT [MONITOR.GET.BITMAP (WINDOWPROP WINDOW 'COURIER.STREAM)                                 SCALE                                 (with REGION CLIPPINGREGION                                       (with POSITION (CURSORPOSITION NIL WINDOW POSITION)                                             (create REGION                                                    LEFT _ (TIMES SCALE XCOORD)                                                    BOTTOM _ (TIMES SCALE YCOORD)                                                    WIDTH _ WIDTH                                                    HEIGHT _ HEIGHT smashing REGION]                         NIL NIL (WINDOWPROP WINDOW 'CLOSEUP.WINDOW))           elseif (MOUSESTATE MIDDLE)             then (RESETFORM (CURSOR WAITINGCURSOR)                         (BITBLT (MONITOR.GET.BITMAP (WINDOWPROP WINDOW 'COURIER.STREAM)                                        SCALE)                                NIL NIL WINDOW])(MONITOR.SHRINK.BITMAP  [LAMBDA (SOURCE SCALE DESTINATION SCRATCH)                 (* ; "Edited 14-Mar-88 11:37 by cdl")                                                             (* Specialized rewrite of SHRINKBITMAP)    [if (EQP SCALE 1)        then (BITBLT SOURCE NIL NIL DESTINATION)      else (BLTSHADE WHITESHADE SCRATCH)           (BLTSHADE WHITESHADE DESTINATION)           (LET ((HEIGHT (BITMAPHEIGHT SOURCE))                 (WIDTH (BITMAPWIDTH SOURCE)))                (for Y from 0 to (SUB1 HEIGHT) do (BITBLT SOURCE 0 Y SCRATCH 0 (QUOTIENT Y SCALE)                                                         WIDTH 1 'INPUT 'PAINT))                (for X from 0 to (SUB1 WIDTH) do (BITBLT SCRATCH X 0 DESTINATION (QUOTIENT X SCALE)                                                        0 1 HEIGHT 'INPUT 'PAINT]    DESTINATION])(MONITOR.SEND.BITMAP  [LAMBDA (COURIERSTREAM PROGRAM PROCEDURE SCALE REGION BULK.DATA.STREAM)                                                             (* ; "Edited 14-Mar-88 11:37 by cdl")    [LET ((SCRATCH.BITMAP (ASSOC SCALE MONITOR.SCRATCH.BITMAPS)))         [if (NULL SCRATCH.BITMAP)             then (push MONITOR.SCRATCH.BITMAPS (SETQ SCRATCH.BITMAP                                                 (with REGION WHOLESCREEN                                                       (create MONITOR.SCRATCH.BITMAP                                                              BITMAPSCALE _ SCALE                                                              DESTINATION _ (BITMAPCREATE                                                                             (QUOTIENT WIDTH SCALE)                                                                             (QUOTIENT HEIGHT SCALE))                                                              SCRATCH _ (BITMAPCREATE WIDTH                                                                               (QUOTIENT HEIGHT SCALE                                                                                      ]         (with MONITOR.SCRATCH.BITMAP SCRATCH.BITMAP (if REGION                                                         then (BLTSHADE WHITESHADE DESTINATION)                                                              (with REGION REGION                                                                    (BITBLT (SCREENBITMAP)                                                                           LEFT BOTTOM DESTINATION))                                                              (WRITEBM BULK.DATA.STREAM DESTINATION)                                                       else (WRITEBM BULK.DATA.STREAM                                                                   (MONITOR.SHRINK.BITMAP (                                                                                         SCREENBITMAP                                                                                           )                                                                          SCALE DESTINATION SCRATCH]    '(RETURN]))(COURIERPROGRAM MONITOR (1118 0)    TYPES      ((SCALE INTEGER)       (REGION (SEQUENCE INTEGER)))    PROCEDURES      ((SEND.BITMAP 0 (SCALE REGION BULK.DATA.SINK)              RETURNS NIL REPORTS NIL IMPLEMENTEDBY MONITOR.SEND.BITMAP))    ERRORS      NIL)(RPAQ? MONITOR.SCALE 3)(RPAQ? MONITOR.SCRATCH.BITMAPS NIL)(DECLARE%: DOEVAL@COMPILE DONTCOPY(GLOBALVARS MONITOR.SCALE MONITOR.SCRATCH.BITMAPS))(DECLARE%: DONTCOPY (DECLARE%: EVAL@COMPILE(RECORD MONITOR.SCRATCH.BITMAP (BITMAPSCALE DESTINATION SCRATCH))))(FILESLOAD COURIERSERVE BITMAPFNS)(COURIER.START.SERVER)(DECLARE%: DONTCOPY  (FILEMAP (NIL (1029 9390 (MONITOR 1039 . 3201) (MONITOR.GET.BITMAP 3203 . 3685) (MONITOR.BUTTONEVENTFN 3687 . 6211) (MONITOR.SHRINK.BITMAP 6213 . 7126) (MONITOR.SEND.BITMAP 7128 . 9388)))))STOP