(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")(FILECREATED "29-Apr-87 13:49:14" {PHYLUM}<CTAMARIN>EMULATOR>ACTIVEREGIONS.;2 9616         changes to%:  (RECORDS ACTIVEREGION)      previous date%: "17-Jun-85 17:24:40" {PHYLUM}<CTAMARIN>EMULATOR>ACTIVEREGIONS.;1)(* "Copyright (c) 1983, 1984, 1985, 1987 by Schlumberger Technology Corporation.  All rights reserved.")(PRETTYCOMPRINT ACTIVEREGIONSCOMS)(RPAQQ ACTIVEREGIONSCOMS ((* * public part)                          (RECORDS ACTIVEREGION)                          (FNS SETACTIVEREGIONS ADDACTIVEREGION DELETEACTIVEREGION FINDACTIVEREGION                                SETPICKREGION GETPICKREGION)                          (* * private part)                          (FNS ACTIVEREGIONS/BUTTONEVENTFN ACTIVEREGIONS/CHECKPOSITION                                ACTIVEREGIONS/DOHIGHLIGHT ACTIVEREGIONS/DOLOWLIGHT                                ACTIVEREGIONS/DEFAULTHIGHLIGHTFN ACTIVEREGIONS/MULTIPLEREGIONS?)))(* * public part)(DECLARE%: EVAL@COMPILE(RECORD ACTIVEREGION (REGION HELPSTRING DOWNFN UPFN HIGHLIGHTFN LOWLIGHTFN DATA)))(DEFINEQ(SETACTIVEREGIONS  [LAMBDA (Window Regionlist Highlightfn Lowlightfn)         (* DRB%: " 1-SEP-82 15:28")    (COND       ((NOT (WINDOWP Window))        (ERROR "SETACTIVEREGIONS: ARG NOT WINDOW" Window))       (T (WINDOWPROP Window 'ACTIVEREGIONS Regionlist)          [WINDOWPROP Window 'HIGHLIGHTFN (AND Regionlist (OR Highlightfn (FUNCTION                                                                      ACTIVEREGIONS/DEFAULTHIGHLIGHTFN                                                                           ]          [WINDOWPROP Window 'LOWLIGHTFN (AND Regionlist (OR Lowlightfn Highlightfn                                                             (FUNCTION                                                               ACTIVEREGIONS/DEFAULTHIGHLIGHTFN]          (WINDOWPROP Window 'BUTTONEVENTFN (AND Regionlist (FUNCTION ACTIVEREGIONS/BUTTONEVENTFN)))          (WINDOWPROP Window 'PICKREGION NIL])(ADDACTIVEREGION  [LAMBDA (Window Activeregion)                              (* DRB%: " 1-SEP-82 15:17")    (COND       ((NOT (WINDOWP Window))        (ERROR "ADDACTIVEREGION: ARG NOT WINDOW" Window)        NIL)       (T (WINDOWPROP Window 'ACTIVEREGIONS (CONS Activeregion (WINDOWPROP Window 'ACTIVEREGIONS])(DELETEACTIVEREGION  [LAMBDA (Window Activeregion)                              (* DRB%: " 1-SEP-82 15:21")    (COND       ((NOT (WINDOWP Window))        (ERROR "DELETEACTIVEREGION: ARG NOT WINDOW" Window)        NIL)       (T (AND (EQ Activeregion (GETPICKREGION Window))               (SETPICKREGION Window NIL))          (WINDOWPROP Window 'ACTIVEREGIONS (DREMOVE Activeregion (WINDOWPROP Window 'ACTIVEREGIONS])(FINDACTIVEREGION  [LAMBDA (Window Xcoord Ycoord Regionlist/optional)         (* psb%: " 5-JUL-84 15:11")    (OR (AND (NOT (INSIDEP (DSPCLIPPINGREGION NIL Window)                         Xcoord Ycoord))             (WINDOWPROP Window 'TITLEBARACTIVEREGION))        [for X in (OR Regionlist/optional (WINDOWPROP Window 'ACTIVEREGIONS))           thereis (COND                      ((ACTIVEREGIONS/MULTIPLEREGIONS? X)                       (for R in (fetch (ACTIVEREGION REGION) of X)                          thereis (ACTIVEREGIONS/CHECKPOSITION R Xcoord Ycoord)))                      (T (ACTIVEREGIONS/CHECKPOSITION (fetch (ACTIVEREGION REGION) of X)                                Xcoord Ycoord]        (WINDOWPROP Window 'DEFAULTACTIVEREGION])(SETPICKREGION  [LAMBDA (Window Activeregion Oldregion/local)              (* ejs%: "12-MAR-84 11:27")    (COND       ((NOT (WINDOWP Window))        (ERROR "DELETEACTIVEREGION: ARG NOT WINDOW" Window)        NIL)       ((NEQ Activeregion (SETQ Oldregion/local (GETPICKREGION Window)))        (AND Oldregion/local (ACTIVEREGIONS/DOLOWLIGHT Window Oldregion/local))        (AND Activeregion (PROGN (APPLY* (OR (fetch (ACTIVEREGION DOWNFN) of Activeregion)                                             (FUNCTION NILL))                                        Window                                        (fetch (ACTIVEREGION REGION) of Activeregion)                                        (fetch (ACTIVEREGION DATA) of Activeregion))                                 (MOUSESTATE (OR LEFT MIDDLE)))             (PROGN (ACTIVEREGIONS/DOHIGHLIGHT Window Activeregion)                    Activeregion)))       (T Activeregion])(GETPICKREGION  [LAMBDA (Window)                                           (* DRB%: " 1-SEP-82 10:43")    (WINDOWPROP Window 'PICKREGION]))(* * private part)(DEFINEQ(ACTIVEREGIONS/BUTTONEVENTFN  [LAMBDA (Window)                                           (* rgs%: "14-Jun-85 12:56")    (DECLARE (GLOBALVARS MENUHELDWAIT))    (while (MOUSESTATE (OR LEFT MIDDLE)) bind (PLACELIST _ (WINDOWPROP Window 'ACTIVEREGIONS))                                              (LASTPLACE _ (GETPICKREGION Window))                                              PRIORLASTPLACE MOUSEBUTTON HelpPrintedFlg TimeIn       do (SETQ LASTPLACE (SETPICKREGION Window (FINDACTIVEREGION Window (LASTMOUSEX Window)                                                       (LASTMOUSEY Window)                                                       PLACELIST)))          [COND             ((KEYDOWNP 'LEFT)              (SETQ MOUSEBUTTON 'LEFT))             ((KEYDOWNP 'MIDDLE)              (SETQ MOUSEBUTTON 'MIDDLE]          [COND             [(EQ LASTPLACE PRIORLASTPLACE)              (COND                 (HelpPrintedFlg)                 ((AND (fetch (ACTIVEREGION HELPSTRING) of LASTPLACE)                       (IGREATERP (IDIFFERENCE (CLOCK 0)                                         TimeIn)                              MENUHELDWAIT))                  (SETQ HelpPrintedFlg T)                  (printout PROMPTWINDOW (fetch (ACTIVEREGION HELPSTRING) of LASTPLACE)                         T]             (T (SETQ HelpPrintedFlg NIL)                (SETQ TimeIn (CLOCK 0]          (SETQ PRIORLASTPLACE LASTPLACE)       finally (PROGN (AND LASTPLACE (APPLY* (OR (fetch (ACTIVEREGION UPFN) of LASTPLACE)                                                 (FUNCTION NILL))                                            Window                                            (fetch (ACTIVEREGION REGION) of LASTPLACE)                                            (fetch (ACTIVEREGION DATA) of LASTPLACE)                                            MOUSEBUTTON))                      (RETURN LASTPLACE])(ACTIVEREGIONS/CHECKPOSITION  [LAMBDA (Region Xcoord Ycoord)                             (* DRB%: " 1-SEP-82 09:44")                                                             (* Returns NIL unless                                                             (Xcoord Ycoord) is within Region)    (AND (IGEQ Xcoord (fetch (REGION LEFT) of Region))         (ILEQ Xcoord (fetch (REGION RIGHT) of Region))         (IGEQ Ycoord (fetch (REGION BOTTOM) of Region))         (ILEQ Ycoord (fetch (REGION TOP) of Region])(ACTIVEREGIONS/DOHIGHLIGHT  [LAMBDA (Window Activeregion)                              (* DRB%: " 2-SEP-82 15:10")    (APPLY* (OR (fetch (ACTIVEREGION HIGHLIGHTFN) of Activeregion)                (WINDOWPROP Window 'HIGHLIGHTFN)                (FUNCTION NILL))           Window Activeregion)    (WINDOWPROP Window 'PICKREGION Activeregion])(ACTIVEREGIONS/DOLOWLIGHT  [LAMBDA (Window Activeregion)                              (* DRB%: " 2-SEP-82 15:11")    (APPLY* (OR (fetch (ACTIVEREGION LOWLIGHTFN) of Activeregion)                (WINDOWPROP Window 'LOWLIGHTFN)                (FUNCTION NILL))           Window Activeregion)    (WINDOWPROP Window 'PICKREGION NIL])(ACTIVEREGIONS/DEFAULTHIGHLIGHTFN  [LAMBDA (Window Activeregion)                              (* psb%: " 5-JUL-84 15:14")    (PROG ((WC (DSPCLIPPINGREGION NIL Window)))          (COND             ((ACTIVEREGIONS/MULTIPLEREGIONS? Activeregion)              (for R in (fetch (ACTIVEREGION REGION) of Activeregion)                 thereis (BITBLT NIL NIL NIL Window (fetch (REGION LEFT) of WC)                                (fetch (REGION BOTTOM) of WC)                                (fetch (REGION WIDTH) of WC)                                (fetch (REGION HEIGHT) of WC)                                'TEXTURE                                'INVERT BLACKSHADE R)))             (T (BITBLT NIL NIL NIL Window (fetch (REGION LEFT) of WC)                       (fetch (REGION BOTTOM) of WC)                       (fetch (REGION WIDTH) of WC)                       (fetch (REGION HEIGHT) of WC)                       'TEXTURE                       'INVERT BLACKSHADE (fetch (ACTIVEREGION REGION) of Activeregion])(ACTIVEREGIONS/MULTIPLEREGIONS?  [LAMBDA (Activeregion)                                     (* rgs%: "14-Jun-85 13:38")    (REGIONP (CAR (fetch REGION of Activeregion]))(PUTPROPS ACTIVEREGIONS COPYRIGHT ("Schlumberger Technology Corporation" 1983 1984 1985 1987))(DECLARE%: DONTCOPY  (FILEMAP (NIL (1143 4829 (SETACTIVEREGIONS 1153 . 2091) (ADDACTIVEREGION 2093 . 2420) (DELETEACTIVEREGION 2422 . 2865) (FINDACTIVEREGION 2867 . 3689) (SETPICKREGION 3691 . 4673) (GETPICKREGION 4675 . 4827)) (4855 9498 (ACTIVEREGIONS/BUTTONEVENTFN 4865 . 6871) (ACTIVEREGIONS/CHECKPOSITION 6873 . 7442) (ACTIVEREGIONS/DOHIGHLIGHT 7444 . 7810) (ACTIVEREGIONS/DOLOWLIGHT 7812 . 8166) (ACTIVEREGIONS/DEFAULTHIGHLIGHTFN 8168 . 9304) (ACTIVEREGIONS/MULTIPLEREGIONS? 9306 . 9496)))))STOP