rsalz@uunet.uu.net (Rich Salz) (01/26/89)
Submitted-by: Stephen A. Uhler <sau@bellcore.com> Posting-number: Volume 17, Issue 34 Archive-name: mgr/part33 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 33 (of 61)." # Contents: font-16/Uoldeng22x30rI font-32/Uoldeng22x30rI src/cut.c # src/win_stack.c # Wrapped by rsalz@papaya.bbn.com on Thu Nov 17 21:05:41 1988 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'font-16/Uoldeng22x30rI' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'font-16/Uoldeng22x30rI'\" else echo shar: Extracting \"'font-16/Uoldeng22x30rI'\" \(10460 characters\) sed "s/^X//" >'font-16/Uoldeng22x30rI' <<'END_OF_FILE' Xbegin 644 oldeng22x30rI.fnt XM%A8>"%L@ #______________________?_________________________ XM____________________________________________________________ XM__________PO_'/S__N_8 /_',.^.=W_^[_'(?^;__\<S_'(?\<A__^[?A_N XM_]Y_PW/__>?\-Q__ __@?O\[G_W<__/Y\_G]WQW/^___________________ XM___?______[______________\______]__________]___W____________ XM_________________________________________\ #____________ XM_________^/_________________________________________________ XM______________________________________________@'^ ?!_W0_ '^ XM 8 \ X'_=#^ 0-]-__X!G^ 0/X! W_\:+ _ _QP_@4%_\</X5(_^ /_ /X: XM"_C07^&@@?#\'@V%^/_O__________________^_______S______W______ XM_P?_____K__________K___O____________________________________ XM_________________\ #_____________________\'_____________ XM______________________________________]_____________________ XM______________________ 3^ \Q_N _ #^ P \!P'^X#^ F#Y&__X#'^ N XM&X"8/_R)& ^ _#H? 3C_PZ'P$\?]^'> /^)Q_!./_B8..QX/ U#^ /____ XM______________]?______C______[_______,/_____C__________C__^/ XM____________________________]_______?__]_____________\ # XM_____________________^'________________________________\__\W XM__^?__Y___Q__P!__WW_^_/__/__\_____________________________?# XM^YSQ_-A_FOA^YOQ]SF/\V'^Y'G_$__[G'^Y?![D>?_F#&\=A^(</<'C_B'#W XM!\?[_ ^X ?^+Q_P>/_@XN/QX?8SC_ ?__________________\/______C_ XM_____Y______^./_____C__________C__^/________________________ XM____[______^___[_____________\ #______________________7_ XM_______________________________X+_X/__\%__P7__Q__P!__@'_\ ?_ XM^"__X+____________________________^C_\GQ^9W_\OQ_^?__]'?YGO_^ XM'O_B___]'_^?C_X>_^6+'\?W\Q>/\7C_,7C_%\?[_Q_[]_^+Q_Q>/_BXN/XW XM_XWC_P ___________________\'______C______P______^/______C___ XM_______C__^/____________________________C______\___S________ XM_____\ #______________________O_________________________ XM______^$'_T?__"#_\(/__C__@#_^ /_X ?_A!_^$'__________________ XM__________BQ_S'Q\QW_XOQ_Y?__S'?S'?_Y'__B___S'_Y?W_D>_\6+'\/W XM\Q?'\7C_,7Q_%\?Y_[_W=_^+Q_Q>/_BXN/XW_XWC__]_________________ XM__^/______C______X?_____^/______C__________C__^/____________ XM________________C______Y___G_____________\ #____________ XM__________?_______________________________^/'_\?__'C_\>/__C_ XM_O__^(?__ __CQ_^/'____________________________!Q_C'Q\QW_XOQ_ XMQ?__C'?S&__Q'__B___C'_Q?__$>_\6+'\/WXQ?'\7C^,7Q_%\?P/__F=_^+ XMQ_Q>/_BXN/\/_XWC__]____________________?______C______\/_____ XM^/______C___O__^___C__^/____________________________C______Y XM___G_____________\ #____________________________________ XM__________________^/'_\?__'C_\>/__G__O__^/___]__CQ_^/'______ XM______________________!X_C%SYQW_XGA_Q?__C'?G%__Q%W_B___C'_Q> XM/_$>_\6+']'WYQ?C\7C^<7X_%\?D!\?,=_^+Q_Q>/_BXN/\/_XWC__[_____ XM______________________C______^'_____^/______C___'__\?__C__^/ XM____________________________C______Q___'_____________\ # XM______________________________________________________^/'_\? XM__'C_\>/__'__O__^/___]__CQ_^/'_]___W______________________]X XM_#%GYQW_PH1_A8__# ?G#__A%#_"___#'_A9'^$>_X0('Y'WQQ?CX0#\<7X^ XM%X_F "/,=_\(!_A /_BXN/P!_PP#__W___________________________C_ XM______#_____^/______C___O__^___C__^/________________________ XM____C______Q___'_____________\ #________________________ XM______________________________^/'_\?__/C_\^/__+__O__^/___[__ XMCQ_^/'_X___C______________________[X^#$3QQW_@OQ_!07^# ?' ?_! XM$C^"__^#'_!''\$>_P0('QCWQQ?CP7C\<7X\%C_CP#><=_X+Q_!>/_" @/P! XM_@WC__O___________________________C_______A?____^!______C___ XM_______C__^/____________________________@?_____Q___'________ XM_____\ #________________________________________________ XM______^/'_\?___C__^/_^3__''_^/___W__CQ_^/'_P?__!____________ XM__________X >#!QQQW_@OQ_! /^# ?'%G_!!C^"__^#'_!?C\$>_P0('Q@' XMQQ #P7C\<0 \$!_P^!^<=_X+Q_!>/^"XN/P!_@WC_X#_________________ XM______[/__B?__Y___0__^?_^!___S__C/__-__\W__CO_^/__]]]_WW__]_ XM_^[___?__-O__GO_@?__??_X]__CWW_'M_\TW_P??\ #____________ XM__________________________________________^/'_\?___#__\?_^C_ XM_ "_^/?__W__@!_^.'_X___C______________________P >#%QQQW_@H1_ XM!??^# ?'%S_!%C^"__^#'_!?C\$>_P0('P!WQQ?CP7C\<7X\ Q_X&P\<=_X( XM!_! /^"XN/^'_@WC_X#_______________________P"__@%__P/_XX__X/_ XM^#___-O_B%_^#__X/__B'_^/__XPP?C!__P__\!__\/_^ /_^ ?_@__^./_X XM0O_A#"^#!_X(/_@ _\ #____________________________________ XM__________________^/'_\?__\#__X__]C__&!_^(+__G__P#_]!'_]___W XM______________________P /C%QQQW_XGA_Q??_C'?'$#_Q$#_B___C'_Q? XMG_$>_\6+']QWQQ?C\0#\<7X_!Q_\ \\<=_^+Q_Q>/^" @/]C_XWC_X#_____ XM__________________Y!__B#_^ /_XX__#/_^/__X\/_AC_]'__\?__AC_^/ XM__P((_ C_^,7_X8O_C%_]$/_X@__C__^,'_\,?_PPQ^P#_T<?_8!_\ # XM____________________________________________!_________^/'_\? XM__X#__\7_[C__?A_^''__/__@!__O'____________________________W^ XM/C$!QQW_XOQ_Q??_C'?'%Q_Q%C_B___C'_Q>/_$>_\6+']XWQQ #\7C\<0 _ XM%X__ $\<=_^+Q_Q>/_BXN/]C_XP#_]________________________]Q__CC XM_^&?_XX__C'_^/__X\?_CC__'__\?__CS_^/__XXX_CC_^./_\<?_CC__&?_ XMXY__C__^./_\<?_QQQ_QG_\<?__S_\ #________________________ XM___________________^#_________^/'_\?__S___^/_P ?__Q_^/'__/__ XMCQ___'____________________________O^/C%QQQW_XOQ_Q??_C'?'%Q_Q XM$#_B___C'_Q8/_$>_\6+']XWYQ?G\7C^<7Y_%X__X \<=_^+Q_Q>/_BXN/[Q XM_XWC_]________________________\Q__CC_^/__XX__CC_^/__X\?_CC__ XM'__\?__CG_^/__XXX_CC_^./_\<?_CC__'__X[__C__^./_\<?_QQQ_X__\< XM?__/_\ #___________________________________________\'___ XM______^/'_\?__W___^/__C___Q_^/'_^/__CQ___'__________________ XM__________O_'G$!XSV_XOQ_Q??_C'?G,#_Q%C_B___C'_Q''_$^_\6+']\7 XMXS?G\7C^,WY_%X__[ ^,]O^+Q_Q>/_BXN/[Q_XWC_[__________________ XM______Y1__CC_^/__XX__CG_^/__X\?_CC__'__\?__B'_^/__XXX_CC_^./ XM_\<?_CC__'__X!__C__^./_\<?_QQQ_X__\<?_^__\ #____________ XM__________________________________________^/'_\?__O___^/__C_ XM__Q_^/'_^?__CQ___'____________________________?_'N-QXWV_YOQ_ XMS??_G'?C=S_S-C_B___G'_S?'_-^_\6+']\7\_?/\7C_/WS_%\?_[D^-]O^+ XMQ_Q>/_BXN/WX_XWC_W________________________QQ__CC_^/__XX__B?_ XM^/__X\?_CC__'__\?__A'_^/__XXX_CC_^./_\<?_CC__'__^ ?_C__^./_\ XM<?_QQQ_\?_\<?_P/_\ #____________________________________ XM____W______]______^/'_\?__O___^/__C___Q_^/'_\?__CQ___'_]___W XM_____________________^/OC\]Q\/T_Z/Q_P/?_G'?S]G_Q=G_F__^/'_P> XMC_ ^_\6+'X^'\_?/\7C_/WS_#\?_WL_#]/^#Q_Q>/_@XN/CX_XWC_O______ XM__________________QQ__CC_^/__XX__A__^/__X\?_CC__'__\?__C'_^/ XM__XXX_CC_^./_\<?_CC__'___<?_C__^./_\<?_QQQ_\?_\<?_[__\ # XM________________________________________C______X______^/'_\? XM__L'__"/__C__P1_^/'_\/__CQ__A'_X___C_____________________X#? XMCP-Q\O!_X#Q_@!=^!'?S]'_@<G\N__X''_@-C^ &WPV+'D.'^/<?P7C_CW'^ XM T?X ]_+P?^ Q_Q^/_@8N. T;XWC_@?[______________________QQ__CC XM_^/__XX__C__^/__X\?_CC__'__\?__CB_^/__XXX_CC_^./_\<?_CC__'__ XM^<?_C__^./_\<?_QQQ_&/_\<?_[__\ #________________________ XM________________!______P?_____^"'_\7__8"_^ /__B__@!_^"'_\)__ XM@A__ '_P?__!_____________________P _C@!Q^ #_P A_ #\ '?X\/_ XM!OX.__P#/_ #Q< /@V+'0#'_#0_@1#_PD/\ .+P #_@ _\ !?P /_ ( , , XM7XWC_ '______________________X@__1C_]'?_T8__@[_]&__X,?_!C__ XM'__\?__1A_]%__P08?!A_]&/_X,?_1C__&__\$?_1?_^,'_\<?_QQQ^ -_\< XM?_P#?\ #________________________________________A______X XM______]!__X/__ !_\ ___!__ '_]!__^'__0?_^ ?_X___A____________ XM_________AQ_S#@/_ '_AP/^'P'X8/?\<_^&#OP!__AA?^''PX? ? -'B#C' XM_Q#_@0__\8_X<>'F '_P!_X<(_X?_^&$/X<>/W '^ /________________ XM______\9__X?__@__^'__P'__A__P ?_CG__C__^/__XC__C__XXX_CC__A_ XM_P#__X#_^A__X!__X__\"/_Z#__H"/\!#_\ ?_@ _\ #____________ XM____________________________U______]_______S__^?__'[_]]___S_ XM_/O__S___?__\__^^__]___U_____________________/[_Z?X__PW_/\?\ XM_^/S^??_#_\_G?W#__/X_\_OYS_X_<?OT?WG_\/_L3___!_S^_//8/_\-_S_ XM=_^__\_N_S^_?GX/\_@?______________________^[__]___S___?__\?_ XM_W___,O_WO__W___/__]W__W__]]]_WW__W__T/__]C__S___G__]___/?__ XM/__\<_]SG_^?___!_\ #____________________________________ XM____[______________________________________________________[ XM_____________________/__^?____W_/__\___S__?___\__?W___/__\__ XM_S___?__\?______\7___]_S___??___]_S______\___S___G__________ XM_________________________________________^/__O______'_______ XM_____________\?___C___________________________]______\ # XM________________________________________W___________________ XM___________________________________W_____________________?__ XM^_____W_?__]___W__?___]__OY___?__]___W___?__\_______\7___]_W XM___>____]_W______]___W___G__________________________________ XM_________________^/__W______'____________________\?___C_____ XM______________________]X_____\ #________________________ XM____________________________________________________________ XM_________________________________?__^_____W_?__]___W__?___]_ XM_G^?__?__]___W___O__]_______\7___\_W___N____]_W______]___W__ XM_GX/__________________________________________________/__S__ XM____G____________________\?___C___________________________]P XM?____\ #________________________________________________ XM____________________________________________________________ XM_________?__^_____W_?__]___W__?___]__C____?__]___W___O__]___ XM____\7___\]W___Q____]_W______]___W___P '____________________ XM____________________________Y_/__Q______G___________________ XM_\?___C___________________________\ ?____\ #____________ XM____________________________________________________________ XM_____________________________________________?__^_____W_?__] XM_]_W__?___]__C____?__]___W_W_S__]_______\7___\=W________]_W_ XM_____]___W___P #____________________________________________ XM____R>?__Q_____X/____________________\?___A_________________ XM__________\'?____\ #____________________________________ XM____________________________________________________________ XM_____________________O___?____G_O__^_S_[_^?___^__#____O__^__ XM_[_/_\?_^_______\?___^#[________Y_[______^___[___X'[________ XM________________________________________TH___A_____P?_______ XM_____________\____C___________________________^/?____\ # XM____________________________________________________________ XM_________________________________________________________S__ XM_F____'_S___//_\_\?____/_'____S___/__\\______/______\O____#\ XM________Q_\_______/__\_____[________________________________ XM_________________1___C_____P_____________________]____G_____ XM________________________?____\ #________________________ XM____________________________________________________________ XM_________________________________\___Y____O_\___P___/^_____S XM_/____\___S___#______S______]_____G_/_______[__/______S___/_ XM_____________________________________________________G___G__ XM___V_____________________[____O____________________________\ X&_____\ X Xend END_OF_FILE # end of 'font-16/Uoldeng22x30rI' fi if test -f 'font-32/Uoldeng22x30rI' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'font-32/Uoldeng22x30rI'\" else echo shar: Extracting \"'font-32/Uoldeng22x30rI'\" \(10460 characters\) sed "s/^X//" >'font-32/Uoldeng22x30rI' <<'END_OF_FILE' Xbegin 644 oldeng22x30rI.fnt XM&!8>"%L@ #______________________?_________________________ XM____________________________________________________________ XM__________PO_'/S__N_8 /_',.^.=W_^[_'(?^;__\<S_'(?\<A__^[?A_N XM_]Y_PW/__>?\-Q__ __@?O\[G_W<__/Y\_G]WQW/^___________________ XM___?______[______________\______]__________]___W____________ XM_________________________________________\ #____________ XM_________^/_________________________________________________ XM______________________________________________@'^ ?!_W0_ '^ XM 8 \ X'_=#^ 0-]-__X!G^ 0/X! W_\:+ _ _QP_@4%_\</X5(_^ /_ /X: XM"_C07^&@@?#\'@V%^/_O__________________^_______S______W______ XM_P?_____K__________K___O____________________________________ XM_________________\ #_____________________\'_____________ XM______________________________________]_____________________ XM______________________ 3^ \Q_N _ #^ P \!P'^X#^ F#Y&__X#'^ N XM&X"8/_R)& ^ _#H? 3C_PZ'P$\?]^'> /^)Q_!./_B8..QX/ U#^ /____ XM______________]?______C______[_______,/_____C__________C__^/ XM____________________________]_______?__]_____________\ # XM_____________________^'________________________________\__\W XM__^?__Y___Q__P!__WW_^_/__/__\_____________________________?# XM^YSQ_-A_FOA^YOQ]SF/\V'^Y'G_$__[G'^Y?![D>?_F#&\=A^(</<'C_B'#W XM!\?[_ ^X ?^+Q_P>/_@XN/QX?8SC_ ?__________________\/______C_ XM_____Y______^./_____C__________C__^/________________________ XM____[______^___[_____________\ #______________________7_ XM_______________________________X+_X/__\%__P7__Q__P!__@'_\ ?_ XM^"__X+____________________________^C_\GQ^9W_\OQ_^?__]'?YGO_^ XM'O_B___]'_^?C_X>_^6+'\?W\Q>/\7C_,7C_%\?[_Q_[]_^+Q_Q>/_BXN/XW XM_XWC_P ___________________\'______C______P______^/______C___ XM_______C__^/____________________________C______\___S________ XM_____\ #______________________O_________________________ XM______^$'_T?__"#_\(/__C__@#_^ /_X ?_A!_^$'__________________ XM__________BQ_S'Q\QW_XOQ_Y?__S'?S'?_Y'__B___S'_Y?W_D>_\6+'\/W XM\Q?'\7C_,7Q_%\?Y_[_W=_^+Q_Q>/_BXN/XW_XWC__]_________________ XM__^/______C______X?_____^/______C__________C__^/____________ XM________________C______Y___G_____________\ #____________ XM__________?_______________________________^/'_\?__'C_\>/__C_ XM_O__^(?__ __CQ_^/'____________________________!Q_C'Q\QW_XOQ_ XMQ?__C'?S&__Q'__B___C'_Q?__$>_\6+'\/WXQ?'\7C^,7Q_%\?P/__F=_^+ XMQ_Q>/_BXN/\/_XWC__]____________________?______C______\/_____ XM^/______C___O__^___C__^/____________________________C______Y XM___G_____________\ #____________________________________ XM__________________^/'_\?__'C_\>/__G__O__^/___]__CQ_^/'______ XM______________________!X_C%SYQW_XGA_Q?__C'?G%__Q%W_B___C'_Q> XM/_$>_\6+']'WYQ?C\7C^<7X_%\?D!\?,=_^+Q_Q>/_BXN/\/_XWC__[_____ XM______________________C______^'_____^/______C___'__\?__C__^/ XM____________________________C______Q___'_____________\ # XM______________________________________________________^/'_\? XM__'C_\>/__'__O__^/___]__CQ_^/'_]___W______________________]X XM_#%GYQW_PH1_A8__# ?G#__A%#_"___#'_A9'^$>_X0('Y'WQQ?CX0#\<7X^ XM%X_F "/,=_\(!_A /_BXN/P!_PP#__W___________________________C_ XM______#_____^/______C___O__^___C__^/________________________ XM____C______Q___'_____________\ #________________________ XM______________________________^/'_\?__/C_\^/__+__O__^/___[__ XMCQ_^/'_X___C______________________[X^#$3QQW_@OQ_!07^# ?' ?_! XM$C^"__^#'_!''\$>_P0('QCWQQ?CP7C\<7X\%C_CP#><=_X+Q_!>/_" @/P! XM_@WC__O___________________________C_______A?____^!______C___ XM_______C__^/____________________________@?_____Q___'________ XM_____\ #________________________________________________ XM______^/'_\?___C__^/_^3__''_^/___W__CQ_^/'_P?__!____________ XM__________X >#!QQQW_@OQ_! /^# ?'%G_!!C^"__^#'_!?C\$>_P0('Q@' XMQQ #P7C\<0 \$!_P^!^<=_X+Q_!>/^"XN/P!_@WC_X#_________________ XM______[/__B?__Y___0__^?_^!___S__C/__-__\W__CO_^/__]]]_WW__]_ XM_^[___?__-O__GO_@?__??_X]__CWW_'M_\TW_P??\ #____________ XM__________________________________________^/'_\?___#__\?_^C_ XM_ "_^/?__W__@!_^.'_X___C______________________P >#%QQQW_@H1_ XM!??^# ?'%S_!%C^"__^#'_!?C\$>_P0('P!WQQ?CP7C\<7X\ Q_X&P\<=_X( XM!_! /^"XN/^'_@WC_X#_______________________P"__@%__P/_XX__X/_ XM^#___-O_B%_^#__X/__B'_^/__XPP?C!__P__\!__\/_^ /_^ ?_@__^./_X XM0O_A#"^#!_X(/_@ _\ #____________________________________ XM__________________^/'_\?__\#__X__]C__&!_^(+__G__P#_]!'_]___W XM______________________P /C%QQQW_XGA_Q??_C'?'$#_Q$#_B___C'_Q? XMG_$>_\6+']QWQQ?C\0#\<7X_!Q_\ \\<=_^+Q_Q>/^" @/]C_XWC_X#_____ XM__________________Y!__B#_^ /_XX__#/_^/__X\/_AC_]'__\?__AC_^/ XM__P((_ C_^,7_X8O_C%_]$/_X@__C__^,'_\,?_PPQ^P#_T<?_8!_\ # XM____________________________________________!_________^/'_\? XM__X#__\7_[C__?A_^''__/__@!__O'____________________________W^ XM/C$!QQW_XOQ_Q??_C'?'%Q_Q%C_B___C'_Q>/_$>_\6+']XWQQ #\7C\<0 _ XM%X__ $\<=_^+Q_Q>/_BXN/]C_XP#_]________________________]Q__CC XM_^&?_XX__C'_^/__X\?_CC__'__\?__CS_^/__XXX_CC_^./_\<?_CC__&?_ XMXY__C__^./_\<?_QQQ_QG_\<?__S_\ #________________________ XM___________________^#_________^/'_\?__S___^/_P ?__Q_^/'__/__ XMCQ___'____________________________O^/C%QQQW_XOQ_Q??_C'?'%Q_Q XM$#_B___C'_Q8/_$>_\6+']XWYQ?G\7C^<7Y_%X__X \<=_^+Q_Q>/_BXN/[Q XM_XWC_]________________________\Q__CC_^/__XX__CC_^/__X\?_CC__ XM'__\?__CG_^/__XXX_CC_^./_\<?_CC__'__X[__C__^./_\<?_QQQ_X__\< XM?__/_\ #___________________________________________\'___ XM______^/'_\?__W___^/__C___Q_^/'_^/__CQ___'__________________ XM__________O_'G$!XSV_XOQ_Q??_C'?G,#_Q%C_B___C'_Q''_$^_\6+']\7 XMXS?G\7C^,WY_%X__[ ^,]O^+Q_Q>/_BXN/[Q_XWC_[__________________ XM______Y1__CC_^/__XX__CG_^/__X\?_CC__'__\?__B'_^/__XXX_CC_^./ XM_\<?_CC__'__X!__C__^./_\<?_QQQ_X__\<?_^__\ #____________ XM__________________________________________^/'_\?__O___^/__C_ XM__Q_^/'_^?__CQ___'____________________________?_'N-QXWV_YOQ_ XMS??_G'?C=S_S-C_B___G'_S?'_-^_\6+']\7\_?/\7C_/WS_%\?_[D^-]O^+ XMQ_Q>/_BXN/WX_XWC_W________________________QQ__CC_^/__XX__B?_ XM^/__X\?_CC__'__\?__A'_^/__XXX_CC_^./_\<?_CC__'__^ ?_C__^./_\ XM<?_QQQ_\?_\<?_P/_\ #____________________________________ XM____W______]______^/'_\?__O___^/__C___Q_^/'_\?__CQ___'_]___W XM_____________________^/OC\]Q\/T_Z/Q_P/?_G'?S]G_Q=G_F__^/'_P> XMC_ ^_\6+'X^'\_?/\7C_/WS_#\?_WL_#]/^#Q_Q>/_@XN/CX_XWC_O______ XM__________________QQ__CC_^/__XX__A__^/__X\?_CC__'__\?__C'_^/ XM__XXX_CC_^./_\<?_CC__'___<?_C__^./_\<?_QQQ_\?_\<?_[__\ # XM________________________________________C______X______^/'_\? XM__L'__"/__C__P1_^/'_\/__CQ__A'_X___C_____________________X#? XMCP-Q\O!_X#Q_@!=^!'?S]'_@<G\N__X''_@-C^ &WPV+'D.'^/<?P7C_CW'^ XM T?X ]_+P?^ Q_Q^/_@8N. T;XWC_@?[______________________QQ__CC XM_^/__XX__C__^/__X\?_CC__'__\?__CB_^/__XXX_CC_^./_\<?_CC__'__ XM^<?_C__^./_\<?_QQQ_&/_\<?_[__\ #________________________ XM________________!______P?_____^"'_\7__8"_^ /__B__@!_^"'_\)__ XM@A__ '_P?__!_____________________P _C@!Q^ #_P A_ #\ '?X\/_ XM!OX.__P#/_ #Q< /@V+'0#'_#0_@1#_PD/\ .+P #_@ _\ !?P /_ ( , , XM7XWC_ '______________________X@__1C_]'?_T8__@[_]&__X,?_!C__ XM'__\?__1A_]%__P08?!A_]&/_X,?_1C__&__\$?_1?_^,'_\<?_QQQ^ -_\< XM?_P#?\ #________________________________________A______X XM______]!__X/__ !_\ ___!__ '_]!__^'__0?_^ ?_X___A____________ XM_________AQ_S#@/_ '_AP/^'P'X8/?\<_^&#OP!__AA?^''PX? ? -'B#C' XM_Q#_@0__\8_X<>'F '_P!_X<(_X?_^&$/X<>/W '^ /________________ XM______\9__X?__@__^'__P'__A__P ?_CG__C__^/__XC__C__XXX_CC__A_ XM_P#__X#_^A__X!__X__\"/_Z#__H"/\!#_\ ?_@ _\ #____________ XM____________________________U______]_______S__^?__'[_]]___S_ XM_/O__S___?__\__^^__]___U_____________________/[_Z?X__PW_/\?\ XM_^/S^??_#_\_G?W#__/X_\_OYS_X_<?OT?WG_\/_L3___!_S^_//8/_\-_S_ XM=_^__\_N_S^_?GX/\_@?______________________^[__]___S___?__\?_ XM_W___,O_WO__W___/__]W__W__]]]_WW__W__T/__]C__S___G__]___/?__ XM/__\<_]SG_^?___!_\ #____________________________________ XM____[______________________________________________________[ XM_____________________/__^?____W_/__\___S__?___\__?W___/__\__ XM_S___?__\?______\7___]_S___??___]_S______\___S___G__________ XM_________________________________________^/__O______'_______ XM_____________\?___C___________________________]______\ # XM________________________________________W___________________ XM___________________________________W_____________________?__ XM^_____W_?__]___W__?___]__OY___?__]___W___?__\_______\7___]_W XM___>____]_W______]___W___G__________________________________ XM_________________^/__W______'____________________\?___C_____ XM______________________]X_____\ #________________________ XM____________________________________________________________ XM_________________________________?__^_____W_?__]___W__?___]_ XM_G^?__?__]___W___O__]_______\7___\_W___N____]_W______]___W__ XM_GX/__________________________________________________/__S__ XM____G____________________\?___C___________________________]P XM?____\ #________________________________________________ XM____________________________________________________________ XM_________?__^_____W_?__]___W__?___]__C____?__]___W___O__]___ XM____\7___\]W___Q____]_W______]___W___P '____________________ XM____________________________Y_/__Q______G___________________ XM_\?___C___________________________\ ?____\ #____________ XM____________________________________________________________ XM_____________________________________________?__^_____W_?__] XM_]_W__?___]__C____?__]___W_W_S__]_______\7___\=W________]_W_ XM_____]___W___P #____________________________________________ XM____R>?__Q_____X/____________________\?___A_________________ XM__________\'?____\ #____________________________________ XM____________________________________________________________ XM_____________________O___?____G_O__^_S_[_^?___^__#____O__^__ XM_[_/_\?_^_______\?___^#[________Y_[______^___[___X'[________ XM________________________________________TH___A_____P?_______ XM_____________\____C___________________________^/?____\ # XM____________________________________________________________ XM_________________________________________________________S__ XM_F____'_S___//_\_\?____/_'____S___/__\\______/______\O____#\ XM________Q_\_______/__\_____[________________________________ XM_________________1___C_____P_____________________]____G_____ XM________________________?____\ #________________________ XM____________________________________________________________ XM_________________________________\___Y____O_\___P___/^_____S XM_/____\___S___#______S______]_____G_/_______[__/______S___/_ XM_____________________________________________________G___G__ XM___V_____________________[____O____________________________\ X&_____\ X Xend END_OF_FILE # end of 'font-32/Uoldeng22x30rI' fi if test -f 'src/cut.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/cut.c'\" else echo shar: Extracting \"'src/cut.c'\" \(10755 characters\) sed "s/^X//" >'src/cut.c' <<'END_OF_FILE' X/* Copyright (c) 1987 Bellcore X * All Rights Reserved X * Permission is granted to copy or use this program, EXCEPT that it X * may not be sold for profit, the copyright notice must be reproduced X * on copies, and credit should be given to Bellcore where it is due. X * BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM. X */ X/* $Header: cut.c,v 4.2 88/06/27 11:13:00 bianchi Exp $ X $Source: /tmp/mgrsrc/src/RCS/cut.c,v $ X*/ Xstatic char RCSid_[] = "$Source: /tmp/mgrsrc/src/RCS/cut.c,v $$Revision: 4.2 $"; X X/* cut and paste text */ X X#include <stdio.h> X#include "bitmap.h" X#include "defs.h" X#include "font.h" X#include "window.h" X#include "event.h" X X/* stuff global buffer into input stream */ X Xint Xpaste() X { X if (snarf) { X do_event(EVENT_PASTE,active,E_MAIN); X Write(ACTIVE(to_fd),snarf,strlen(snarf)); X#ifdef DEBUG X dprintf(y)(stderr,"%s: Pasting [%s]\n",ACTIVE(tty), snarf?snarf:"EMPTY"); X#endif X } X#ifdef DEBUG X else { X dprintf(y)(stderr,"%s: Nothing to paste\n",ACTIVE(tty)); X } X#endif X } X X/* cut text from a window, put in global buffer */ X X X#define MAXROWS 64 /* greatest char height */ X#define MAXCOLS 32 /* widest char (bits in u-long) */ X XBITMAP *glyph; /* spot for glyph comparison */ Xunsigned long data[MAXROWS]; /* bit data for glyph */ XBITMAP *check; /* other spot for glyph comparison */ Xunsigned long data2[MAXROWS]; /* bit data for other glyph */ X Xstatic struct entry **table; /* hash table */ X X/* sweep out and cut text */ X Xint Xcut() X { X register int i,j; X register WINDOW *win = active; /* window to cut text from */ X int count; /* # of snarfed chars */ X int errors = 0; /* number of misses */ X int cols=1, rows=0; /* rows and cols swept */ X int col,row; /* starting col and row */ X int maxcol; /* # of cols in row */ X int x,y; /* bit position in bitmap */ X int hcode; /* hash code */ X int button; /* button from move_mouse */ X char c; /* matched char */ X char *pntr; /* current char in line */ X struct entry *entry; /* current hash table entry */ X char *line; /* buffer to receive text */ X char get_match(),*malloc(); X char *to_tabs(), *fixline(); X X /* return immediately if window is not snarffable */ X X if (W(flags) & W_SNARFABLE ==0) X return(0); X X /* initialize comparison registers */ X X glyph = bit_alloc(32,FSIZE(high),data,1); X check = bit_alloc(32,FSIZE(high),data2,1); X bit_blit(check,0,0,32,FSIZE(high),BIT_CLR,NULL_DATA,0,0); X X /* build hash table */ X X if ((table = W(font)->table) == NULL) { X#ifdef DEBUG X dprintf(C)(stderr,"building cut table\n"); X#endif X table = W(font)->table = X (struct entry **) malloc (sizeof (struct entry) * H_SIZE); X bzero(table, sizeof(struct entry) * H_SIZE); X X for(i = FSIZE(start);i<FSIZE(start)+FSIZE(count);i++) { X if (W(font)->glyph[i] && i >= ' ') { X hcode = get_hash(W(font)->glyph[i],0,0,FSIZE(wide),FSIZE(high),0); X enter(hcode,i); X } X } X } X X /* find cut region */ X X SETMOUSEICON(&mouse_cut); X button = move_mouse(screen,mouse,&mousex,&mousey,0); X SETMOUSEICON(&mouse_arrow); X i = get_text(screen,mouse,mousex,mousey,&cols,&rows,win,E_SWTEXTT); X if (i == 0) { X do_button(0); X return(0); X } X X /* find extent of cut region */ X X col = (mousex-(W(x0)+SUM_BDR+W(text.x)))/FSIZE(wide); X maxcol = (W(text.wide) ? W(text.wide) : BIT_WIDE(W(window)))/FSIZE(wide); X row = (mousey-(W(y0)+SUM_BDR+W(text.y)))/FSIZE(high); X X if (W(flags)&W_SNARFLINES) { /* snarf lines only */ X#ifdef DEBUG X dprintf(C)(stderr,"Cutting lines only\n"); X#endif X col = 0; X cols = maxcol; X } X X#ifdef DEBUG X dprintf(C)(stderr,"Cut got %d,%d %d x %d\n",col,row,cols,rows); X#endif X X /* look up characters */ X X pntr = line = malloc(1+(1+maxcol)*(rows+1)); /* max possible cut */ X switch(rows) { X case 0: /* 1 row */ X y = W(text.y)+row*FSIZE(high); X for(x=W(text.x)+col*FSIZE(wide),i=0;i<cols;i++,x+=FSIZE(wide)) { X c = get_match(W(window),x,y,FSIZE(wide),FSIZE(high)); X *pntr++ = c ? c : (errors++,C_NOCHAR); X } X if (col+cols == maxcol && c==' ') X pntr = fixline(line,pntr); X break; X case 1: /* 2 rows */ X y = W(text.y)+row*FSIZE(high); X for(x=W(text.x)+col*FSIZE(wide),i=0;i<maxcol;i++,x+=FSIZE(wide)) { X c = get_match(W(window),x,y,FSIZE(wide),FSIZE(high)); X *pntr++ = c ? c : (errors++,C_NOCHAR); X } X pntr = fixline(line,pntr); X X y += FSIZE(high); X for(x=W(text.x),i=0;i<col+cols;i++,x+=FSIZE(wide)) { X c = get_match(W(window),x,y,FSIZE(wide),FSIZE(high)); X *pntr++ = c ? c : (errors++,C_NOCHAR); X } X if (col+cols == maxcol && c==' ') X pntr = fixline(line,pntr); X break; X X default: /* > 2 rows */ X y = W(text.y)+row*FSIZE(high); X for(x=W(text.x)+col*FSIZE(wide),i=0;i<maxcol;i++,x+=FSIZE(wide)) { X c = get_match(W(window),x,y,FSIZE(wide),FSIZE(high)); X *pntr++ = c ? c : (errors++,C_NOCHAR); X } X pntr = fixline(line,pntr); X X for(j=0;j<rows-1;j++) { X y += FSIZE(high); X for(x=W(text.x),i=0;i<maxcol;i++,x+=FSIZE(wide)) { X c = get_match(W(window),x,y,FSIZE(wide),FSIZE(high)); X *pntr++ = c ? c : (errors++,C_NOCHAR); X } X pntr = fixline(line,pntr); X } X X y += FSIZE(high); X for(x=W(text.x),i=0;i<col+cols;i++,x+=FSIZE(wide)) { X c = get_match(W(window),x,y,FSIZE(wide),FSIZE(high)); X *pntr++ = c ? c : (errors++,C_NOCHAR); X } X if (col+cols == maxcol && c==' ') X pntr = fixline(line,pntr); X X break; X } X *pntr = '\0'; X bit_destroy(check); X bit_destroy(glyph); X X /* put text into snarf buffer */ X X count = pntr-line; X#ifdef DEBUG X dprintf(C)(stderr,"snarfed %d chars, %d errors\n",count,errors); X dprintf(C)(stderr,"snarfed [%s]\n",line); X#endif X X if (!(W(flags)&W_SNARFHARD) && errors > 0 || 2*errors > count) { X oops(); X count = 0; X } X else { X if (W(flags)&W_SNARFTABS) X to_tabs(col,line,line); X X if (snarf && button < BUTTON_SYS) { /* add to cut buffer */ X char *tmp = malloc(strlen(snarf) + strlen(line) +1); X count += strlen(snarf); X strcpy(tmp,snarf); X strcat(tmp,line); X free(snarf); X free(line); X snarf = tmp; X } X else if (snarf) { /* replace cut buffer */ X free(snarf); X snarf = line; X } X else /* new cut buffer */ X snarf = line; X X /* send snarf events (if any) */ X id_message = W(pid); X for(win=active;win != (WINDOW *) 0;win=W(next)) X do_event(EVENT_SNARFED,win,E_MAIN); X } X do_button(0); X return(count); X } X X/* given bitmap, get hash code */ X Xstatic int Xget_hash(map,x,y,w,h,how) XBITMAP *map; Xint x,y,w,h; /* where in map */ Xint how; /* 0-> normal, 1->inverted */ X { X register unsigned long sum = 0; X register int i,j; X bit_blit(glyph,0,0,32,h,BIT_CLR,NULL_DATA,0,0); X bit_blit(glyph,32-w,0,w,h,how ? BIT_NOT(BIT_SRC) : BIT_SRC,map,x,y); X for (j=0;j<h;j++) X sum += data[j]*(j+1); X return(sum%H_SIZE); X } X X/* enter a glyph into the hash table */ X Xstatic int Xenter(item,value) Xint item; Xunsigned char value; X { X register struct entry *entry; X char *malloc(); X X if (table[item] == (struct entry *) 0) { X table[item] = (struct entry *) malloc(sizeof (struct entry)); X table[item] -> value = value; X table[item] -> next = (struct entry *) 0; X } X else { X for(entry = table[item];entry->next;entry = entry -> next); X entry -> next = (struct entry *) malloc(sizeof (struct entry)); X entry -> next -> value = value; X entry -> next -> next = (struct entry *) 0; X } X } X X/* find a character match in current font */ X Xstatic char Xget_match(map,x,y,w,h) XBITMAP *map; /* bitmap containing text */ Xint x,y,w,h; /* position of glyph in "map" */ X { X register struct entry *entry; X register WINDOW *win = active; X int code; /* hash code */ X int size = sizeof(long) * h; X X code = get_hash(map,x,y,w,h,0); /* leaves char in glyph */ X for(entry=table[code];entry;entry=entry->next) { X bit_blit(check,32-w,0,w,h,BIT_SRC,W(font)->glyph[entry->value],0,0); X if (bcmp(data,data2,size)==0) { X return(entry->value); X } X } X X /* try inverse video version */ X X code = get_hash(map,x,y,w,h,1); /* leaves char in glyph */ X for(entry=table[code];entry;entry=entry->next) { X bit_blit(check,32-w,0,w,h,BIT_SRC,W(font)->glyph[entry->value],0,0); X if (bcmp(data,data2,size)==0) { X return(entry->value); X } X } X return('\0'); X } X X/* zap a font hash table */ X Xzap_fhash(fnt) Xstruct font *fnt; X { X register struct entry *entry, *next; X register int i; X X if (fnt->table) { X for(i=0;i<H_SIZE;i++) X for(entry=table[i];entry;entry=next) { X next = entry->next; X free(entry); X } X free(fnt->table); X } X } X X/* change trailing white space into \n */ X Xchar * Xfixline(s,pnt) Xchar *s; Xregister char *pnt; X { X while (*--pnt == ' ' && pnt > s); X *++pnt = '\n'; X return(++pnt); X } X X/* change spaces to tabs */ X Xstatic char * Xto_tabs(pos,in,out) Xregister int pos; /* starting col # */ Xregister char *in; /* input str */ Xregister char *out; /* output str - tabs */ X { X char *s = out; /* start of out str */ X register char c; /* current input char */ X register int spaces = 0; /* # pending spaces */ X X#ifdef DEBUG X dprintf(C)(stderr,"-> TABS"); X#endif X while(pos++,c = *in++) { X X if (c=='\n' || c=='\r' || c=='\f') /* reset column counter */ X pos =0; X X if (c == ' ') { X spaces++; X if (pos && pos%8 == 0) { /* ' ' -> \t */ X c = '\t'; X#ifdef DEBUG X dprintf(C)(stderr,"."); X#endif X spaces=0; X } X } X else for(;spaces>0;spaces--) { /* output spaces */ X *out++ = ' '; X } X X if (spaces == 0) X *out++ = c; X } X *out = '\0'; X#ifdef DEBUG X dprintf(C)(stderr,"\n"); X#endif X return(s); X } X X/* can't cut, ring bell */ X Xstatic int Xoops() X { X register WINDOW *win = active; X X CLEAR(W(window),BIT_NOT(BIT_DST)); X write(2,"\007",1); X CLEAR(W(window),BIT_NOT(BIT_DST)); X } END_OF_FILE # end of 'src/cut.c' fi if test -f 'src/win_stack.c' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'src/win_stack.c'\" else echo shar: Extracting \"'src/win_stack.c'\" \(10948 characters\) sed "s/^X//" >'src/win_stack.c' <<'END_OF_FILE' X/* Copyright (c) 1987 Bellcore X * All Rights Reserved X * Permission is granted to copy or use this program, EXCEPT that it X * may not be sold for profit, the copyright notice must be reproduced X * on copies, and credit should be given to Bellcore where it is due. X * BELLCORE MAKES NO WARRANTY AND ACCEPTS NO LIABILITY FOR THIS PROGRAM. X */ X/* $Header: win_stack.c,v 4.2 88/07/20 10:22:55 sau Exp $ X $Source: /tmp/mgrsrc/src/RCS/win_stack.c,v $ X*/ Xstatic char RCSid_[] = "$Source: /tmp/mgrsrc/src/RCS/win_stack.c,v $$Revision: 4.2 $"; X X/* push - pop window environment */ X X#include "bitmap.h" X#include "font.h" X#include "defs.h" X#include "window.h" X#include "menu.h" X#include "event.h" X#include <stdio.h> X X#define S(x) (stack->x) X X/* push a window on the environment stack */ X Xint Xwin_push(win,level) Xregister WINDOW *win; /* window to push */ Xint level; /* what things to push */ X { X register WINDOW *stack; /* pushed window goes here */ X register int i,j; X char *malloc(), *save_line(), *print_stack(); X struct menu_state *menu_copy(); X X if ((stack = (WINDOW *) malloc(sizeof(WINDOW))) == (WINDOW *) 0) X return(-1); X X if (level == 0) X level = P_DEFAULT; X X#ifdef DEBUG X dprintf(P)(stderr,"%s Stacking %s\n", X W(tty),print_stack(level)); X#endif X X /* setup stacked window */ X X *stack = *win; /* structure assignment */ X W(stack) = stack; X X /* bcopy(win,stack,sizeof(WINDOW)); */ X X for(j=0;j<MAXMENU;j++) X S(menus)[j] = (struct menu_state *) 0; X for(j=0;j<MAXEVENTS;j++) X S(events)[j] = (char *) 0; X for(j=0;j<MAXBITMAPS;j++) X S(bitmaps)[j] = (BITMAP *) 0; X S(save) = (BITMAP *) 0; X S(clip_list) = (char *) 0; X X /* setup each pushed item */ X X for(i=1;i!=P_MAX;i <<= 1) X switch (level&i) { X case P_MENU: /* save the menus */ X#ifdef DEBUG X dprintf(P)(stderr," menus "); X#endif X for(j=0;j<MAXMENU;j++) X if (W(menus)[j] && (level&P_CLEAR)) { X S(menus)[j] = W(menus)[j]; X W(menus)[j] = (struct menu_state *) 0; X#ifdef DEBUG X dprintf(P)(stderr,"%d ",j); X#endif X } X else if (W(menus)[j]) { X S(menus)[j] = menu_copy(W(menus)[j]); X#ifdef DEBUG X dprintf(P)(stderr,"%d ",j); X#endif X } X#ifdef DEBUG X dprintf(P)(stderr,"\n"); X#endif X break; X case P_EVENT: /* save the events */ X X#ifdef DEBUG X dprintf(P)(stderr," events "); X#endif X if (IS_EVENT(win,EVENT_STACK)) X EVENT_SET_MASK(win,EVENT_STFLAG); X X if (level&P_CLEAR) X W(event_mask) = IS_EVENT(win,EVENT_STFLAG); X else X EVENT_CLEAR_MASK(win,EVENT_STACK); X X for(j=0;j<MAXEVENTS;j++) X if (W(events)[j] && (level&P_CLEAR)) { X S(events)[j] = W(events)[j]; X W(events)[j] = (char *) 0; X#ifdef DEBUG X dprintf(P)(stderr,"%d ",j); X#endif X } X else if (W(events)[j]) { X S(events)[j] = save_line(W(events)[j]); X#ifdef DEBUG X dprintf(P)(stderr,"%d ",j); X#endif X } X#ifdef DEBUG X dprintf(P)(stderr,"\n"); X X#endif X break; X case P_BITMAP: /* save the bitmaps */ X#ifdef DEBUG X dprintf(P)(stderr," bitmaps "); X#endif X for(j=0;j<MAXBITMAPS;j++) X if (W(bitmaps)[j] && level&P_CLEAR) { X S(bitmaps)[j] = W(bitmaps)[j]; X W(bitmaps)[j] = (BITMAP *) 0; X#ifdef DEBUG X dprintf(P)(stderr,"%d ",j); X#endif X } X else if (W(bitmaps)[j]) { X S(bitmaps)[j] = bit_alloc(BIT_WIDE(W(bitmaps)[j]), X BIT_HIGH(W(bitmaps)[j]),NULL_DATA, X BIT_DEPTH(W(bitmaps)[j])); X bit_blit(S(bitmaps)[j],0,0,BIT_WIDE(W(bitmaps)[j]), X BIT_HIGH(W(bitmaps)[j]),BIT_SRC,W(bitmaps)[j],0,0); X#ifdef DEBUG X dprintf(P)(stderr,"%d ",j); X#endif X } X#ifdef DEBUG X dprintf(P)(stderr,"\n"); X#endif X break; X case P_WINDOW: /* save the bit image */ X#ifdef DEBUG X dprintf(P)(stderr," window\n"); X#endif X S(save) = bit_alloc(BIT_WIDE(W(border)),BIT_HIGH(W(border)), X NULL_DATA,DEPTH); X if (W(save) && !(W(flags)&W_ACTIVE)) X bit_blit(S(save),0,0,BIT_WIDE(W(save)),BIT_HIGH(W(save)), X BIT_SRC,W(save),0,0); X else X bit_blit(S(save),0,0,BIT_WIDE(W(border)),BIT_HIGH(W(border)), X BIT_SRC,W(border),0,0); X break; X case P_POSITION: /* save the window position */ X#ifdef DEBUG X dprintf(P)(stderr," position\n"); X#endif X S(esc)[1] = BIT_WIDE(W(border)); X S(esc)[2] = BIT_HIGH(W(border)); X break; X case P_TEXT: /* save text region */ X if (level&P_CLEAR) { X W(text).x = 0; X W(text).y = 0; X W(text).wide = 0; X W(text).high = 0; X } X break; X case P_MOUSE: /* save mouse position */ X#ifdef DEBUG X dprintf(P)(stderr," mouse\n"); X#endif X S(esc)[3] = mousex; X S(esc)[4] = mousey; X break; X case P_FLAGS: /* save window flags */ X if (level&P_CLEAR) { X W(flags) &= ~W_SAVE; X W(flags) |= W_BACKGROUND; X W(style) = NOCOLOR&BIT_SRC | GETCOLOR(BLACK); X W(background) = NOCOLOR&W(background) | GETCOLOR(WHITE); X if (win == active) X border(win,SUM_BDR-1,1); X else X border(win,BLK_BDR,WH_BDR); X } X break; X } X X S(code) = level; X S(window) = (BITMAP *) 0; X S(border) = (BITMAP *) 0; X S(snarf) = (char *) 0; X S(bitmap) = (BITMAP *) 0; X return(level); X } X X/* pop the window stack */ X Xint Xwin_pop(win) XWINDOW *win; /* window to pop to */ X { X register int i,j; X register WINDOW *stack = W(stack); /* window to pop from */ X char *print_stack(); X X if (stack == (WINDOW *) 0) { X#ifdef DEBUG X dprintf(P)(stderr," No environment to pop\n"); X#endif X return(-1); X } X X#ifdef DEBUG X dprintf(P)(stderr,"%s popping %s\n",W(tty),print_stack(S(code))); X#endif X X /* pop each item stacked */ X X for(i=1;i!=P_MAX;i <<= 1) X switch (S(code)&i) { X case P_MENU: /* restore the menus */ X#ifdef DEBUG X dprintf(P)(stderr," menus "); X#endif X W(menu[0]) = S(menu[0]); X W(menu[1]) = S(menu[1]); X for(j=0;j<MAXMENU;j++) { X if (W(menus)[j]) { X#ifdef DEBUG X dprintf(P)(stderr,"d(%d) ",j); X#endif X menu_destroy(W(menus)[j]); X } X if (S(menus)[j]) { X#ifdef DEBUG X dprintf(P)(stderr,"r(%d) ",j); X#endif X W(menus)[j] = S(menus)[j]; X S(menus)[j] = (struct menu_state *) 0; X } X else X W(menus)[j] = (struct menu_state *) 0; X } X#ifdef DEBUG X dprintf(P)(stderr,"\n"); X#endif X break; X case P_EVENT: /* restore the events */ X X#ifdef DEBUG X dprintf(P)(stderr," events "); X#endif X for(j=0;j<MAXEVENTS;j++) { X if (W(events)[j]) { X#ifdef DEBUG X dprintf(P)(stderr,"d(%d) ",j); X#endif X free(W(events)[j]); X } X W(events)[j] = S(events)[j]; X S(events)[j] = (char *) 0; X } X W(event_mask) = S(event_mask); X#ifdef DEBUG X dprintf(P)(stderr,"\n"); X#endif X break; X case P_CURSOR: /* restore the cursor position */ X W(x) = S(x); X W(y) = S(y); X W(gx) = S(gx); X W(gy) = S(gy); X break; X case P_BITMAP: /* restore the bitmaps */ X for(j=0;j<MAXBITMAPS;j++) { X if (W(bitmaps)[j]) X bit_destroy(W(bitmaps)[j]); X W(bitmaps)[j] = S(bitmaps)[j]; X S(bitmaps)[j] = (BITMAP *) 0; X } X#ifdef DEBUG X dprintf(P)(stderr," bitmaps\n"); X#endif X break; X case P_FONT: /* restore font */ X W(font) = S(font); X break; X case P_TEXT: /* restore text region */ X W(text) = S(text); X break; X case P_POSITION: /* restore the window position */ X if (win!= active) X cursor_off(); X ACTIVE_OFF(); X expose(win); X X shape(S(x0),S(y0),S(esc)[1],S(esc)[2]); X X ACTIVE_ON(); X#ifdef DEBUG X dprintf(P)(stderr," position\n"); X#endif X break; X case P_WINDOW: /* restore the window contents */ X if (W(save)) X bit_destroy(W(save)); X W(save) = bit_alloc(BIT_WIDE(W(border)),BIT_HIGH(W(border)), X NULL_DATA,DEPTH); X bit_blit(W(border),0,0,BIT_WIDE(S(save)),BIT_HIGH(S(save)), X BIT_SRC,S(save),0,0); X#ifdef DEBUG X dprintf(P)(stderr," window\n"); X#endif X break; X case P_FLAGS: /* restore the window flags */ X W(op) = S(op); X W(style) = S(style); X W(background) = S(background); X W(dup) = S(dup); X W(flags) = (S(flags)&W_SAVE) | (W(flags)&(~W_SAVE)); X if (win == active) X border(win,SUM_BDR-1,1); X else X border(win,BLK_BDR,WH_BDR); X#ifdef DEBUG X dprintf(P)(stderr," flags\n"); X#endif X break; X case P_MOUSE: /* save mouse position */ X#ifdef DEBUG X dprintf(P)(stderr," mouse\n"); X#endif X mousex =S(esc)[3] ; X mousey =S(esc)[4] ; X break; X } X#ifdef DEBUG X dprintf(P)(stderr,"%s\n",S(stack)?"another stack":"no environments stacked"); X#endif X W(stack) = S(stack); X unlink_win(stack,0); X X return(0); X } X X/* in-implemented window stack manipulation */ X Xwin_swap(win,x,y) XWINDOW *win; Xint x,y; /* entries on stack to swap 1=1st stack entry */ X { X register int i,j; X WINDOW *winx, *winy; X } END_OF_FILE # end of 'src/win_stack.c' fi echo shar: End of archive 33 \(of 61\). cp /dev/null ark33isdone MISSING="" for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 \ 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 \ 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 \ 55 56 57 58 59 60 61 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 61 archives. rm -f ark[1-9]isdone ark[1-9][0-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0 -- Please send comp.sources.unix-related mail to rsalz@uunet.uu.net.