X-Git-Url: https://jxself.org/git/?p=pdp10-muddle.git;a=blobdiff_plain;f=mim%2Fdevelopment%2Fmim%2Fvax%2Fvs%2Fvs100.mud;fp=mim%2Fdevelopment%2Fmim%2Fvax%2Fvs%2Fvs100.mud;h=400279edf3883e65484c58d4c3f1c97e17287078;hp=0000000000000000000000000000000000000000;hb=d73ace3f3292e320b461b8fcd2e9f5dc5d9684d7;hpb=d530283ea60fb0ddcc28e9c5bd072456afe06e07 diff --git a/mim/development/mim/vax/vs/vs100.mud b/mim/development/mim/vax/vs/vs100.mud new file mode 100644 index 0000000..400279e --- /dev/null +++ b/mim/development/mim/vax/vs/vs100.mud @@ -0,0 +1,3058 @@ + + + + + + + + + + + + "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>> + +)) + >> + +)) + >> + +