"NETDEFS" "VSDEFS" "VSOPS" "VSUDEFS"> OPEN VS-OPEN CLOSE VS-CLOSE READ-BYTE-IMMEDIATE VS-READ-IMMEDIATE WRITE-BUFFER VS-NORMAL-OUT IMAGE-OUT VS-IMAGE-OUT CHANGE-COLOR VS-CHANGE-COLOR CLEAR-EOL VS-CLEAR-EOL MAP VS-MAP UNMAP VS-UNMAP SET-FONT VS-SET-FONT BUFOUT VS-BUFOUT BUFTREE VS-BUFTREE CURRENT-FONT VS-SET-FONT CLEAR-EOS VS-CLEAR-EOS CLEAR-SCREEN VS-CLEAR-SCREEN DOWN-CURSOR VS-DOWN-CURSOR UP-CURSOR VS-UP-CURSOR FORWARD-CURSOR VS-FORWARD-CURSOR BACK-CURSOR VS-BACK-CURSOR MOVE-CURSOR VS-MOVE-CURSOR MOVE-CURSOR-ABS VS-MOVE-CURSOR-ABS HOME-CURSOR VS-HOME-CURSOR BOTTOM-CURSOR VS-BOTTOM-CURSOR HOR-POS-CURSOR VS-HOR-POS VER-POS-CURSOR VS-VER-POS HOR-POS-ABS VS-HOR-POS-ABS VER-POS-ABS VS-VER-POS-ABS TEXT-CURSOR VS-TEXT-CURSOR MOUSE-CURSOR VS-MOUSE-CURSOR FRESH-LINE VS-FRESH-LINE MAKE-MENU-WINDOW VS-MENU-WINDOW WRITE-TO-MENU-WINDOW VS-WRITE-TO-MENU INVERT-MENU-WINDOW VS-INVERT-MENU CLEAR-MENU-WINDOW VS-CLEAR-MENU-WINDOW SELECT-MENU-WINDOW VS-SELECT-MENU-WINDOW BIT-BLT VS-BIT-BLT INSERT-LINE VS-INSERT-LINE INSERT-CHAR VS-INSERT-CHAR ERASE-CHAR VS-ERASE-CHAR KILL-CHAR VS-KILL-CHAR DEFINE-PATTERN DEFINE-PATTERN SET-HIGHLIGHT VS-SET-HIGHLIGHT LOAD-KEYMAPS VS-LOAD-KEYMAPS MOUSE-MOVE? VS-MOUSE-MOVE? WARP-MOUSE VS-WARP-MOUSE DRAW VS-DRAW DRAW-DASHED VS-DRAW-DASHED DRAW-FILLED VS-DRAW-FILLED DRAW-LINE VS-DRAW-LINE MOUSE-MOVE-WINDOW MOUSE-MOVE-WINDOW MOUSE-RESIZE-WINDOW MOUSE-RESIZE-WINDOW MOUSE-OPEN-WINDOW MOUSE-OPEN-WINDOW MAKE-TEMP-WINDOW MAKE-TEMP-WINDOW PAGE-X VS-HOR-POS PAGE-X-ABS VS-HOR-POS-ABS PAGE-Y VS-VER-POS PAGE-Y-ABS VS-VER-POS-ABS PAGE-HEIGHT VS-PAGE-HEIGHT PAGE-WIDTH VS-PAGE-WIDTH PAGE-TOP PAGE-LOC PAGE-LEFT PAGE-LOC PAGE-HEIGHT-ABS VS-PAGE-HEIGHT-ABS PAGE-WIDTH-ABS VS-PAGE-WIDTH-ABS RESIZE VS-RESIZE MOVE-WINDOW VS-MOVE-WINDOW WINDOW-NAME VS-WINDOW-NAME CLEAR-REGION VS-CLEAR-REGION FILL-REGION VS-FILL-REGION FREE-PATTERN FREE-PATTERN LINE-HEIGHT VS-LINE-HEIGHT CHAR-WIDTH VS-CHAR-WIDTH CUT-BUFFER VS-CUT-BUFFER WINDOW-PARENT WINDOW-PARENT WINDOW-CHILDREN WINDOW-CHILDREN TYPE-AHEAD? VS100-TYPE-AHEAD? WINDOW-FUNCTION VS-WINDOW-FUNCTION DRAW-LEFT VS-SCALE DRAW-TOP VS-SCALE DRAW-WIDTH VS-SCALE DRAW-HEIGHT VS-SCALE INTERPRET-LOCATOR INTERPRET-LOCATOR DISPLAY-CURSOR VS-DISPLAY-CURSOR QUERY-MOUSE VS-QUERY-MOUSE RAISE-WINDOW RAISE-WINDOW LOWER-WINDOW LOWER-WINDOW CIRC-WINDOW CIRC-WINDOW SCALED-TO-ABSOLUTE SCALED-TO-ABSOLUTE ABSOLUTE-TO-SCALED ABSOLUTE-TO-SCALED ICON? ICON? ICONIFIED? ICONIFIED? ICONIFY ICONIFY DE-ICONIFY DE-ICONIFY MOUSE-LOWER-WINDOW MOUSE-LOWER-WINDOW KILL-SUBWINDOWS KILL-SUBWINDOWS REDISPLAY-ICON REDISPLAY-ICON INVERT-ICON INVERT-ICON SET-RESIZE-HINT SET-RESIZE-HINT WINDOW-BITS WINDOW-BITS INVERSE-VIDEO INVERSE-VIDEO UNDERLINE UNDERLINE> (INITIAL-FONT) STRING (INITIAL-BORDER INITIAL-BACKGROUND) (INITIAL-TEXT-CURSOR) (VS100-DIRECTORY) (INITIAL-MOUSE-CURSOR) > > )) X-RAISE-WINDOW >> )) X-LOWER-WINDOW >> )) X-CIRC-WINDOW >> :VSW>>> "OPT" (SECOND: <>) (REL?: <>) "AUX" (VW:VSW ) (SC: )) > ) (T .SECOND)>>>)> .FIRST> "OPT" (SECOND: <>) (REL?: <>) "AUX" (VW:VSW ) (SC: ) NUM:FLOAT) > .SECOND) (T 0)>>>)> .FIRST) (T <1 .FIRST <+ >> > ) (T 0.0)>>> <2 .FIRST <+ >> > )>>>)> .FIRST> "AUX" (VW:VSW ) (SC: ) (OLD <>) TEMP:) > 0.0> <>) (T .OLD)>) (<==? .OPER DRAW-TOP> > 0.0> <>) (T .OLD)>) (<==? .OPER DRAW-HEIGHT> ) (<==? .OPER DRAW-WIDTH> )>>)> <> 1.0 1.0] SCALE>> )> >)> ) (T )>) (<==? .OPER DRAW-TOP> ) (T )>) (<==? .OPER DRAW-WIDTH> ) (<==? .OPER DRAW-HEIGHT> )> > > <==? 0.0> <==? 0.0>> >) (T >> ) (T > .TEMP>>)> >> ) (T > .TEMP>>)>)>)> .OLD> "AUX" (VW:VSW ) P) X-QUERY-MOUSE >> <1 .UV > <2 .UV >)>> "AUX" (VW:VSW ) P) X-INTERPRET-LOCATOR .LOC>> <1 .UV > <2 .UV > .UV)>> "AUX" (VW:VSW )) > ) (T .FROB)>> )) >> <>) (T )>> )) > )) >)> !\ "ID:" !\ !\x " (" !\, ") " !\" >)> !\"> )> > ) (<==? > ) (<==? > ) (T >)> !\/ >>)> .VW> )> !\: !\ >>)> " KIDS:" >>>)> " ALL:" > 2> " FONTS:" > 2> " REQ:" " OBUF:" <- :STRING> :STRING>>) (T <>)> " IBUF:" > " MAP:" "]"> T> )> > (,WE-EXPOSE-WINDOW "EXPOSE") (,WE-EXPOSE-REGION "EXPOSE-REGION") (,WE-EXPOSE-COPY "EXPOSE-COPY") (,WE-RESIZE-WINDOW "RESIZE") (,WE-UNMAP-WINDOW "UNMAP")> !\ !\ > <==? .KIND ,WE-EXPOSE-COPY> <==? .KIND ,WE-RESIZE-WINDOW>> !\, ") " "x" >> >)> > )> > ,ME-PRESSED-MASK>>> "PRESSED") (>> "RELEASED") (<==? .KIND ,ME-MOVED> "MOVED") (<==? .KIND ,ME-ENTER-WINDOW> "ENTER") (<==? .KIND ,ME-LEAVE-WINDOW> "LEAVE")> !\ > >>> "LEFT ") (>>> "MIDDLE ") (T "RIGHT ")>) (T "")> " (" !\, ") " !\ !\ !\]>> )> <>) "AUX" (VW:VSW ) (VS:VS )) >> <1 > .X> >) ( > <- 1>> ,FREE-RECTANGLES> <1 > .X> >)>> .STUFF> T> >) > TS (HOST <>) (NUM <>)) >> > >> >>> >)> )>) (T )>) (T )>>)> 1> <>>) (T <1 .DESC>>)>> "AUX" CH L NVS P: BUF:STRING NVW) > >) (T )> >) (T > <+ ,SERV-VS100 .WHICH>>>) (T ":VS" > <+ ,SERV-VS100 .WHICH> .HOST>>)> T () () 0 0 0 0 STRING <>>> 0 .BUF () () <> <> <>] VS>> > T <> () 0 0 0 0 <> ,GX-XOR 0 <> <> 0 0 0 0 <> <> () <> <> -1 <> <> <> <> <> <> <> <>] VSW>> <>] CHANNEL>> )> > > > >> > > > .NVS) (T .P)>)>)>> )) :VSW> .STR .FORCE?>> "OPT" (FORCE? <>) "AUX" M1 M2 (LOADS: 0)) >> > > ) ( ) (T )> )>) (T)>> NM2: "AUX" CH:> V:VECTOR BASE:FIX (BUF >) CT:FIX TEMP) ) (.STR)> "READ" "BINARY" DISK>> > <>>> > >> )> .BASE -1> KEY>>> [.BASE .V]) ( ) (T )> .TEMP) (T )>> "AUX" (L:LIST ,VS100-LIST)) >)> >> .WHICH> <==? .HOST>> )> >>> STRING> OPER "OPT" (HEIGHT: <>) (WIDTH: <>) (LEFT:FIX -1) (TOP:FIX -1) (BWIDTH: <>) (BPATTERN: WHITE) (BACKGROUND: BLACK) (FONT:STRING ,INITIAL-FONT) "AUX" PARENT:VSCHAN MX:FIX MY:FIX NVS VW:VSW VS:VS SAVE-HEIGHT SAVE-WIDTH (SAVE-RASTER:> <>) P:UVECTOR) > > >) (T )>) (T )> > > )> > >> >)> >)>)> <* 2 .BWIDTH> .TOP>>)> <* 2 .BWIDTH> .LEFT>>)> .LEFT> <+ .WIDTH <* 2 .BWIDTH>>>> .TOP> <+ .HEIGHT <* 2 .BWIDTH>>>> .SAVE-HEIGHT .SAVE-WIDTH .LEFT .TOP>> >> ) L) > > >>> X-DESTROY-SUBWINDOWS > 1>> ,MENU-WINDOW-LIST> )> T> STRING> "OPT" (HEIGHT: <>) (WIDTH: <>) (LEFT:FIX 0) (TOP:FIX 0) (BWIDTH: <>) (BPATTERN: <>) (BACKGROUND: <>) (FONT: <>) (BUF? T) (MIN-HEIGHT:FIX 0) (MIN-WIDTH:FIX 0) "AUX" NVS WID F INPUTS PATTERN TEMP TPATTERN (OBUF )>) NVW:VSW P: RH:FIX RW:FIX PARENT:VSCHAN (CC:CHANNEL .CURRENT-CHANNEL)) > )> ) (>> )> >) (T )> > )> >)> <* 2 .BWIDTH>>>)> <* 2 .BWIDTH>>>)> > >) (<==? .PARENT .DESC> ; "Inherit border from parent if there is one" >) (T ; "Otherwise use initial setting" >)> >) (<==? .PARENT .DESC> ; "Same for background" >) (T >)> ; "And font" ) (T >>)>)> > .MIN-WIDTH>> .MIN-HEIGHT>> :VSW> .HEIGHT .WIDTH .LEFT .TOP .BPATTERN .BACKGROUND>> > > .MIN-WIDTH > )> :VSW (.CC !:VSW>)> :STRING> > > ) (T )> > >>> .WID 3 1>) (.TEMP ) (T >)> > ) (T )> >>) (.TEMP ) (T >)> > >) (T >)> .WID> > ,GX-COPY) (<==? .BACKGROUND > ,GX-COPY-INVERTED) (T ,GX-XOR)> .BACKGROUND .BPATTERN .BWIDTH .OBUF .OBUF 0 0 0 <+ ,VWM-DEFAULT ,VWM-UNSEEN> <> T () <> <> .INPUTS .TPATTERN .SAVE-RASTER> .PATTERN <> <> <> <> <> <>] VSW>)>)>> )) X-WARP-MOUSE .X .Y> .CHN> "TUPLE" POINTS "AUX" (VW:VSW )) 2>>> 4>> )> ) (Y1 <2 .POINTS>) (VV )) X-LINE ,GX-XOR) (.FUNC)> .X1 .Y1 <1 .VV> <2 .VV>> > > >> )>> T> [2 ]> VW:VSW "OPT" (RELATIVE?: <>) "AUX" (SC: ) NUM) > FLOAT> <1 .PT >>)> > FLOAT> <2 .PT >>)>) (T > FIX> >)> <1 .PT >)> > 0.5>>> > FIX> >)> <2 .PT >)> > 0.5>>>)>> FILL-PATTERN:> BORDER?:> X1:FIX Y1:FIX DFLAGS: "TUPLE" STUFF) :VSW>>>)> > DASHED-PATTERN: DP-LENGTH:> DP-MULT:> X1: Y1: DFLAGS: "TUPLE" STUFF) )> )> > X1: Y1: DFLAGS: "TUPLE" STUFF "AUX" (VERTS >>>>) (CT 1) (VW:VSW ) (P1 >) (VS:VS )) )> )> > > <2 .P1>> > >> .VC .DASHED-PATTERN .DP-LENGTH .DP-MULT .VERTS>) ( .VC .FILL-PATTERN .VERTS> > ,GX-CLEAR) (T ,GX-SET)> .VC .VERTS>)>) (T .VC .VERTS>)> )> 3> )> > .DFLAGS> ,VERTEX-RELATIVE>>>> > <1 .STUFF>> > <2 .STUFF>> > ) (T .DFLAGS)>> >>> )) CHARACTER>> CHARACTER>>> "AUX" (VW:VSW ) (VS:VS ) OLD IP) > ,MOTION-BITS>> ) ( ) (<==? .ON? ,MOUSE-LEFT> ) (<==? .ON? ,MOUSE-RIGHT> ) (<==? .ON? ,MOUSE-CENTER> ) (T )> > > .ON?>> >)> T) (<==? .OLD ,LEFT-DOWN-MOTION> ,MOUSE-LEFT) (<==? .OLD ,RIGHT-DOWN-MOTION> ,MOUSE-RIGHT) (<==? .OLD ,MIDDLE-DOWN-MOTION> ,MOUSE-CENTER) (<0? .OLD> <>)>> STRING> OPER BITS: > "AUX" VW:VSW VS:) >>>) (T >)> )>> STRING> OPER PAT:FIX "AUX" VW:VSW VS:) >>>) (T >)> X-FREE-PATTERN 0 .PAT>)>> WIDTH: LEFT: TOP: "OPT" FUNC:FIX "AUX" (VW:VSW ) (VS:VS ) (CC >)) > > ) (T )>)> .VW> <2 .CC> <1 .CC> <3 .CC> <4 .CC>>> HEIGHT: WIDTH: LEFT: TOP: FUNC:FIX "AUX" (VW:VSW ) (VS:VS ) (CC >)) >)> .VW> <2 .CC> <1 .CC> <3 .CC> <4 .CC> .PAT>> OPER "OPT" ON?: (CURSOFF? <>) "AUX" (VW:VSW .CHN) (T )>) OLD) ,VWM-INVERT>> ,VWM-INVERT>>) (T >>)>)> .OLD> OPER "OPT" ON?: (CURSOFF? <>) "AUX" (VW:VSW .CHN) (T )>) OLD) ,VWM-UNDER>> > >)> ,VWM-UNDER>>) (T > >)> >>)>)> .OLD> OPER "OPT" PAT: (CURSOFF?: <>) "AUX" (VW:VSW .CHN) (T )>)) > ) (T > ,VWM-UNDER>) (>> >) (T >)>)>> VS:VS) .CLR) (<==? .CLR BLACK> ) (<==? .CLR WHITE> ) (<==? .CLR GRAY> ) (T )>> "OPT" BORDER: "AUX" (VW:VSW ) (VS )) > > >) (T >)> > >> > > ) (<==? .BG > ) (T )>)> .BORDER .BG>)> T> ) P TOP:FIX LEFT:FIX WIDTH:FIX HEIGHT:FIX (VS:VS ) BWIDTH NVW:VSW SAVE-RASTER) > >> >> )> > )> > > > > > :VSCHAN>> .LEFT> <+ .WIDTH <* 2 .BWIDTH>>>> .TOP> <+ .HEIGHT <* 2 .BWIDTH>>>> .HEIGHT .WIDTH .LEFT .TOP>> )>)>)> X-MAP-WINDOW >> ) "AUX" (VW:VSW )) >>>> ; "Inhibit redisplay events in this case" X-UNMAP-TRANSPARENT > ) (T X-UNMAP-WINDOW >)>> ) P CM (PCH: ) NVW:VSW (VS:VS ) TOP:FIX LEFT:FIX) >> >> > >) (T )> > >> > )> >) (T )> > .TOP> <+ <* 2 > >> .LEFT> <+ <* 2 > >> .LEFT .TOP .RAST> > )>> ) (OC .CLOSING?>) (CLOSING?: T) (VS:VS ) PC:CHANNEL NVW:VSW CD RAST P CM TC) > :VSW <>> ) (> :VSW <>> )> > > > >> )> >> <- > 1>> ,MENU-WINDOW-LIST> > )> >>> >> 2>> >>> ; "There's something underneath this" ; "So unmap it quietly, which will restore the window")> >) ( >>> >)> .CHN> ) > ) (T 1>>> >> .L)>) (T .L)>> > WIDTH:FIX LEFT:FIX TOP:FIX "OPT" (OBJ:ANY <>) TXT: "AUX" WID (VW:VSW ) (VS:VS ) (MWL:LIST ,MENU-WINDOW-LIST) MW:MENU-WINDOW) >>)> .HEIGHT .WIDTH .LEFT .TOP >> MENU-WINDOW>> !)>) (T > > >>)> > ) (T >)>)> )> .MW)>> ) (VS:VS )) > >> <>) "AUX" (VW:VSW ) L) >>> >>)>)> X-WARP-MOUSE 2> 2>>)>> ) (CFONT: ) (VS:VS )) >)> 0 0 .TXT>)>> :VSW> X-RASTER-FILL ,GX-INVERT 0 0> T> ) TF (VS:VS ) P (MH 0) (MW 0)) > > )>) (>> >> > >)> .MH .MW > .FONT)>> > "OPT" (LENGTH: <>) (X: <>) (Y: <>) (FONT: <>) (DOP: <>) "AUX" (VW:VSW ) (PP >) (CFONT ) (VS:VS )) ) (T >)>)> >)> >)> >) (T >>)> <1 .PP> <2 .PP> .LENGTH .CHRS> .LENGTH> [2 ]> "AUX" (SC ) (OX ) (OY ) (X <1 .PP>) (Y <2 .PP>)) >>)> <1 .PP > >>)> <2 .PP >) ( > <1 .PP .OX> <2 .PP .OY>) (T <1 .PP > <1 .PP .OX>) ( <1 .PP > <2 .PP .OY>) (T )>)>> "OPT" (LENGTH: <>) (X: <>) (Y: <>) (FONT: <>) (DOP: <>) "AUX" (VW:VSW ) ODOP (CFONT ) (RFONT .CFONT) HIGH (PP >)) > ) ( >) (T >>)> T) ( ) (T >>)> > > >> >)> > > .DOP> 0> )> <>> )> )> )) 127> CHARACTER>> > > 33> 126>> ) (<==? .CHR > ) (<==? .CHR > ,VWM-UNDER> > > ) (T )>) (> <==? .LAST >>) (> <==? .CHR >> ) (<==? .CHR > > > ,VWM-UNDER> >> )> ) (AW >) (LEN <- <* 8 .AW> >>) OH) > > > >)> )> >>) (T )> > )> ) (<==? .CHR > X-FEEP 4 >) (> 64> 127>>>)> )>> > )> .LENGTH)>)>> ) (X ) (HEIGHT ) (LH >) (MODE )) > > <- .HEIGHT .LH>> )> > )) > > X-RASTER-PATTERN ,GX-COPY > <- > > > )) > > >>> > > X-CLEAR > > ) (Y )) > > >> >>>)> X-RASTER-PATTERN ,GX-COPY <- .Y> 0 .Y > > >> [REST CHARACTER]> "AUX" (X:FIX ) (FONT:FONT ) (WIDTH:FIX MUD-CHAN> <* >) (T )>) HIGH UNDER) >>> .WIDTH> > >> > )> > .CHARS>> "AUX" (VW:VSW ) (OBUF ) (OCT ) LEN:FIX) >) (T >)> X-TEXT ,VWM-INVERT> ,GX-COPY> ,GX-COPY-INVERTED) (<==? ,GX-COPY-INVERTED> ,GX-COPY) (T ,GX-EQUIV)>) (T )> > .LEN .CHR> > > ) (T )) >> X-TEXT ,VWM-INVERT> ,GX-COPY> ,GX-COPY-INVERTED) (<==? ,GX-COPY-INVERTED> ,GX-COPY) (T ,GX-EQUIV)>) (T )> > .LEN .CHR> > >) (T > >)> > :STRING> > > )>) (T > >)> )>>)>> >)>> > )>> )) > X-RASTER-PATTERN ,GX-XOR >>) () (T X-RASTER-PUT ,GX-XOR <+ > <+ > >)> T> T) "AUX" (VS:VS ) (W:FIX ) F:FONT Y) 0> > X-TEXT ,VWM-INVERT> ,GX-COPY> ,GX-COPY-INVERTED) (<==? ,GX-COPY-INVERTED> ,GX-COPY) (T ,GX-EQUIV)>) (T )> > > > > >)> ,VWM-UNDER> X-LINE ,GX-XOR > >> 1>> > .Y>)> X-RASTER-PATTERN ,GX-XOR > >> > >)> >)> )>> ) "AUX" (VW:VSW ) (CDONE? <>)) 0> )> )> >)> T> ) "AUX" (VW:VSW )) 0> )> >> > >)> T> ) (Y ) (CH >)) >> .Y T>> ) (Y )) >>>> .Y T>> <>>> ) H CH) > >>> 1> .CH> <> <>>> )) >> <> <>> .X) (T >>)>> "AUX" (VW:VSW )) <* .Y >> <> <>> .Y) (T >>)>> "AUX" (VW:VSW )) > ) (T )>> )) .Y>) (T )>> ) F) >>> <* .Y > T>> NY: "OPT" (CHAR?: <>) (SCALE?: ) "AUX" (VW:VSW ) BOT RIGHT (CH >) (CW >) (RCH .CH) (RCW .CW) (PP >) X:FIX Y:FIX) > >) (T >>) (T )> >>) (T )>)> > >> > .CH>> .CW>> > >) (T > > )> > )>>)> >)> >)> > > )>>)> >>> >)> >)> )>> 0> >)> )> > .CHN> ) X) <* .CT >>>> T>> ) X) <* .CT >>>> T>> VS:VS) ) (T 1>> 0> >> >)> >)>)> T> WIDTH:FIX HEIGHT:FIX (TOP:FIX 0) (LEFT:FIX 0) (MASK: <>) (DISPLAY:FIX ,GX-XOR) (PRESERVE?: T) "AUX" (VW:VSW ) (VS:VS ) (OLD ) R CURSOR) > 0> 1>> ) (T )>) ( > )> ) (> > )> )> > >) ( ATOM> 0 0 0 0 0 0>) (T >> > 3 1>)>)> .OLD> WIDTH:FIX HEIGHT:FIX TOP:FIX LEFT:FIX "OPT" (MASK: <>) (DISPLAY:FIX ,GX-XOR) "AUX" R (NR 0)) <* 2 .HEIGHT 16>>> ) ( >> ) (> >> ) (T .NR)>)>> WIDTH:FIX HEIGHT:FIX (TOP:FIX 0) (LEFT:FIX 0) (PRESERVE?: T) "AUX" (VW:VSW ) (VS:VS ) (OLD ) R) 0> ) (T 1>> )>) ( > > > )> ) (T > )> )>)> )> .OLD> "OPT" (X: <>) (Y: <>) "AUX" (VW:VSW ) (PP >) F) >) ( >)> ) (> X-RASTER-PATTERN ,GX-XOR >> <1 .PP> <2 .PP> >>) (T X-RASTER-PUT ,GX-XOR <+ <1 .PP>:FIX > <+ <2 .PP>:FIX > >)>> ) (H >)) >> .H> <> T> >)> .H> <> T> > 0> )>>)> .CHN> T) "AUX" (VW:VSW ) (VS:VS )) )> > .HEIGHT .WIDTH .SLEFT .STOP 0 0 .DLEFT .DTOP> )> .CHN> <>) (BOT: <>) "AUX" (VW:VSW ) (FONT ) (H:FIX ) TEMP (RBOT <- 1>)) >) (T >)> ) (T >)> )> >> > .H>> 0 .TOP) (T <+ .TOP <* <- .N> .H>>)> 0 <+ .TOP <* .N .H>>) (T .TOP)> ,GX-COPY <>> X-RASTER-PATTERN ,GX-COPY <* .H> 0 .TOP) (T <+ .BOT <* .N .H>>)> > .CHN)>> <>) (RIGHT: <>) "AUX" (VW:VSW ) (FONT ) (W:FIX ) TEMP (RRIGHT <- 1>)) >) (T >)> ) (T >)> )> >> <- .RIGHT .LEFT <* .W>> .LEFT) (T <+ .LEFT <* <- .N> .W>>)> <+ .LEFT <* .N .W>>) (T .LEFT)> ,GX-COPY <>> X-RASTER-PATTERN ,GX-COPY <* .W> .LEFT) (T <+ .RIGHT <* .N .W>>)> > .CHN)>> ) (X ) (FONT ) (W ) (H ) (VS:VS )) ) (DIST <* .N .W>)) >) (T > )> .H <- .X .NX> .NX .NY > > 0> .H> .H> .H>>)> .W>>) (T <>> )>)>>)>> ) (FONT )) X-RASTER-PATTERN ,GX-COPY > > )) > )) > OPER "AUX" (VW:VSW ) (VS:VS )) > >)> > > ) (T )> > ) (T )>> T)>> <>) "AUX" (VW:VSW ) (VS:VS ) FONT NCH NAME:STRING WID:FIX HIGH:FIX) #FALSE ("CAN'T ICONIFY AN ICON")) () (> > >> >>> .HIGH .WID .X .Y 1 BLACK WHITE ,INITIAL-FONT <>>> > > > .NCH)>)>> ) REAL: (VS:VS ) NAME:STRING) >> > > >)>)> > 0 0 > > ,GX-COPY-INVERTED) (T ,GX-COPY)> 4 4 > >> .NAME> )>> ) REAL) > ; "We were given the icon" > ; "Break the link, so close won't kill the real thing" :VSW <>> .REAL) (> ; "Well, there is an icon" )>> <>) "AUX" (VW:VSW ) (VS:VS ) OLD-X:FIX OLD-Y:FIX (OLD-EVENT ) OLD EXEVENT VAL P (UV >)) ) (T .UV> ; "Get coordinates relative to this window" > > ) (<==? .OLD-EVENT ,ME-MIDDLE-PRESSED> ) (<==? .OLD-EVENT ,ME-RIGHT-PRESSED> ) (T )> > > ) KIND TFIX:FIX NEW-CURS) > > .EXEVENT> >:VSCHAN>:VSW> >> .ICON-PARENT>>) (T )> ) (>> >) (<==? .KIND ,MOUSE-MOVED> .OLD-X>> .TFIX> <* .OLD-Y>> .TFIX>> .SLOP>> > 3 1 >)>)>)> ) (T )>> > .CHN !,CROSS-CURSOR>> .VAL)>> ) (GM-DISPLAY ,GX-COPY-INVERTED))
) 'GM-CURS:CURSOR GM-VAL GM-OCM ('GM-VS:VS ) (GM-ID )) T)) >> )> > > '.GM-ID 3 1 > '.GM-VAL)>)>> )>>>> VSCHAN> OPER NAME:STRING "OPT" (BWIDTH: <>) (BPATTERN: <>) (BACKGROUND: <>) (FONT: <>) (BUF? T) (DEFAULT-HEIGHT:FIX 24) (DEFAULT-WIDTH:FIX 80) (MIN-HEIGHT:FIX 2) (MIN-WIDTH:FIX 2) "AUX" VW:VSW (SPEC? <>) VS:VS OLD PID NVS: RFONT: MH:FIX MW:FIX DH:FIX DW:FIX PARENT:VSCHAN P OLD-CURSOR TOP:FIX LEFT:FIX WIDTH:FIX HEIGHT:FIX MY-FONT:FONT MY-WIND MY-WIDTH VAL) )> > > >) ()>) (T )> > > > > ) (T >>)>)> >> )> <* .MIN-HEIGHT >>>> <* .MIN-WIDTH >>>> > )> :CHANNEL>:VSW> <+ 10 >>> 0 0 >> > > > ) KIND (NEW-SIZE? T) (TV >) (FH:FIX FILE-HANDLE>) (RD:FIX ) (MX:FIX <+ .FH 1>) (VV >) CT:) )> )> > > 0 0 .TV>>> <0? .CT>> > ) (> MOUSE-EVENT> > ,ME-MOVED> .TOP>> .MH> >) (T )>)> .LEFT>> .MW> >) (T )>)>) (T > >)>) (.LOC? )>) (<==? .KIND ,ME-LEFT-PRESSED> ) (<==? .KIND ,ME-RIGHT-PRESSED> ) (<==? .KIND ,ME-MIDDLE-PRESSED> )>)> > )) >> >>) (T .TOP <* 2 .BWIDTH>>>)>>) (T > >)> > >)>)> > .VAL)> .PARENT !,CROSS-CURSOR>> >>>) (SS >)) .ST> <1 .SS !\:> > > > > .DH>>>> <1 .SS !\x> > > .DW>>> .ST>> ) DIG) > > >> <1 .SS >>> >) (T <1 .SS !\ > >)> >> )>>> (DRAW-ODD?) FIX> ) (VS:VS ) VERTS:STRING) > > )> > >)> > >)> > > >)> 5 4>> -1> 2>> 16 1 .VERTS>> > )>> ) "AUX" (VW:VSW ) (VS:VS ) (PARENT:VSCHAN ) TOP:FIX LEFT:FIX BOT:FIX RIGHT:FIX WEVENT:FIX (HEIGHT:FIX <+ <* 2 > -1>) (WIDTH <+ <* 2 > -1>) P: MX:FIX MY:FIX PID:FIX OLD (CDIST:FIX ) TMP MINW:FIX MINH:FIX FH:FIX FW:FIX (MOVE-RIGHT? <>) (MOVE-LEFT? <>) (MOVE-TOP? <>) (MOVE-BOTTOM? <>)) ) (<==? .WHICH ,MOUSE-RIGHT> ) (<==? .WHICH ,MOUSE-CENTER> ) (T )> > ) (T )> :VSW>> > >> > >)> > > >> > > 2>> >> 2>> >>) (T >>> )>)> > > > > 3>) (FL <* <+ .LEFT > 3>) (FW <* .WIDTH 3>) (FH <* .HEIGHT 3>) (FMX <* .MX 3>) (FMY <* .MY 3>)) > ) (>> )> > ) (>> )> > <- <+ .FT .FH> .FMY>> ) (T )> <- <+ .FL .FW> .FMX>> ) (T )>)>>)> ) (FH:FIX FILE-HANDLE>) (TV >) (MXD:FIX <+ .FH 1>) (VV >) (RD:FIX ) CT:) > )> 0 0 .TV>>> <0? .CT>> > ) (>> MOUSE-EVENT> .WEVENT>>> ,ME-PRESSED-MASK>>>>> >>> >>> >>)> ,VWM-UNSEEN>> .HEIGHT .WIDTH .LEFT .TOP>) (T .LEFT .TOP>)> >) (<==? ,ME-MOVED> .MX>> .MY>> > > .MINW> >) (T )>) (.MOVE-RIGHT? .MINW> >) (T )>)> .MINH> >) (T )>) (.MOVE-BOTTOM? .MINH> >) (T )>)> > > > .FW>>> >> .FW>>>> >) (.MOVE-RIGHT? >)>)> > .FH>>> >> .FH>>>> >) (.MOVE-BOTTOM? >)>)>) (T > >)>)>)> >)> .PARENT !,CROSS-CURSOR>> ) (VS:VS ) P) >> ) (T )>)>> ) OLD (CFONT )) >> .NEW>> ) (T >)>)> .OLD> ) OLD (CFONT )) >> .NEW>> ) (T .NEW>)>)> .OLD> ) OLD) > .NEW>)> .OLD> ) OLD) > >)> .OLD> WIDTH: "AUX" (VW:VSW ) (VS:VS )) ) (T >)> ) (T >)> >>)> .HEIGHT .WIDTH> ,VWM-UNSEEN>> .CHN> ) (VS:VS )) .LEFT .TOP>> ) (VS:VS ) P) >> >)> >)> >)> >)>)> .MIN-HEIGHT .HINCR .MIN-WIDTH .WINCR>> ) (VS:VS ) TS) .NAME> .NAME) (>> )>> ) (VS:VS ) TS) .STUFF> .STUFF) (> )>> )) > >> >)> >) (T >)>>> ) F P FS:FONT FIRST LAST ST) 1> > 1> 0 >> 0 <>] FONT>> > > > > >> ) (T > > 1 1 1 1>> > > ) (T > >>)) )> > <+ > > 8>>> > >>)>)> ) (T )>)> )> .FS)>)>> ) ( >> <+ .FF :UVECTOR>>>> 0) (T :UVECTOR <+ <- .FF> 1>>)>> .STR>> )) >> )) >>