From 691563024b0140572111dcfc80c7cdf6ad505d5e Mon Sep 17 00:00:00 2001 From: Larry Masinter Date: Tue, 18 Apr 2023 14:57:41 -0700 Subject: [PATCH] Yet another Logo with parameters for substrings. WINDOW.BITMAP move to Window (#1151) * Yet another Logo with parameters for substrings. WINDOW.BITMAP move to Window * Added LOGOW.DFASL, so rm LOGOW.LCOM * LOGOW: Add local variables for most of the hard-coded constants to make it easier to experiment with adjusting said constants. Adding kerning for substring1. * LOGOW: Add more kerning options. Cretaed separate kerned.prin3 function. * Set default params to Option 8. Added some top and right margins when placing LOGOW in screen so it doesn't look so squished into the corner. --------- Co-authored-by: Frank Halasz --- library/PRESS | 280 ++++++++++++++++++++------------------------ library/PRESS.LCOM | Bin 39413 -> 42981 bytes sources/LOGOW | 222 +++++++++++++++++++++++------------ sources/LOGOW.DFASL | Bin 0 -> 8380 bytes sources/LOGOW.LCOM | Bin 10384 -> 0 bytes sources/WINDOW | 193 ++++++++++++++++-------------- sources/WINDOW.LCOM | Bin 67740 -> 67824 bytes 7 files changed, 383 insertions(+), 312 deletions(-) create mode 100644 sources/LOGOW.DFASL delete mode 100644 sources/LOGOW.LCOM diff --git a/library/PRESS b/library/PRESS index a29609f8..2dad0227 100644 --- a/library/PRESS +++ b/library/PRESS @@ -1,18 +1,21 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 5-Feb-2021 22:18:06" {DSK}larry>ilisp>medley>library>PRESS.;2 455434Q - changes to%: (VARS PRESSCOMS) +(FILECREATED "10-Apr-2023 07:15:37" {DSK}larry>il>medley>library>PRESS.;2 452576Q - previous date%: "20-Jan-93 14:25:20" {DSK}larry>ilisp>medley>library>PRESS.;1) + :EDIT-BY "lmm" + + :CHANGES-TO (VARS PRESSCOMS) + + :PREVIOUS-DATE " 5-Feb-2021 22:18:06" {DSK}larry>il>medley>library>PRESS.;1) (* ; " -Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1990, 1993, 2021 by Venue & Xerox Corporation. All rights reserved. +Copyright (c) 1981-1987, 1990, 1993, 2021 by Venue & Xerox Corporation. ") (PRETTYCOMPRINT PRESSCOMS) -(RPAQQ PRESSCOMS +(RPAQQ PRESSCOMS [ (* ;;; "PRESS printing support module") @@ -28,7 +31,7 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1990, 1993, 2021 by Venu (* ;; "Bitmap printing support") - (FNS PRESSBITMAP FULLPRESSBITMAP SHOWREGION SHOWPRESSBITMAPREGION PRESSWINDOW WINDOW.BITMAP + (FNS PRESSBITMAP FULLPRESSBITMAP SHOWREGION SHOWPRESSBITMAPREGION PRESSWINDOW \WRITEPRESSBITMAP) (* ;; "Basic PRESS data structure output functions") @@ -101,7 +104,7 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1990, 1993, 2021 by Venu ROTATION TITLE))) ((FULLPRESS RAVEN) (* ; - "same as PRESS but can scale bitmaps") + "same as PRESS but can scale bitmaps") (CANPRINT (PRESS)) (STATUS TRUE) (PROPERTIES NILL) @@ -718,19 +721,6 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1990, 1993, 2021 by Venu (\WRITEPRESSBITMAP BITMAP NIL NIL PRSTREAM) (RETURN (CLOSEF PRSTREAM]) -(WINDOW.BITMAP - [LAMBDA (W) (* ; "Edited 12-Jun-90 10:38 by mitani") - (* Returns all of the bitmap of the - window) - (PROG [BM (REGION (WINDOWPROP W 'REGION] - (CLOSEW W) - (SETQ BM (BITMAPCREATE (fetch (REGION WIDTH) of REGION) - (fetch (REGION HEIGHT) of REGION))) - (BITBLT (WINDOWPROP W 'IMAGECOVERED) - NIL NIL BM) - (OPENW W) - (RETURN BM]) - (\WRITEPRESSBITMAP [LAMBDA (BITMAP XPOS YPOS SCALEFACTOR CLIPPINGREGION PRSTREAM) (* ; "Edited 12-Jun-90 10:39 by mitani") @@ -2344,7 +2334,7 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1990, 1993, 2021 by Venu (RPAQQ SPRUCEPAPERTOPSCANS 4096) (RPAQ SPRUCEPAPERTOPMICAS (FIX (FQUOTIENT (FTIMES SPRUCEPAPERTOPSCANS \MicasPerInch) - ScansPerIn))) + ScansPerIn))) (RPAQ SPRUCEPAPERRIGHTMICAS (FIX (FTIMES 8.5 \MicasPerInch))) @@ -2427,85 +2417,74 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1990, 1993, 2021 by Venu (DECLARE%: DONTCOPY (DECLARE%: EVAL@COMPILE -(DATATYPE PRESSDATA (PRHEADING (* The string to be printed atop - each page.) - PRHEADINGFONT (* Font to print the heading in) - PRXPOS (* Current X position) - PRYPOS (* Current Y position) - PRFONT (* Current font) - PRCURRFDE PRESSFONTDIR PRWIDTHSCACHE PRCOLOR PRLINEFEED PRPAGESTATE - PDSTREAM ELSTREAM XPRPAGEREGION PRDOCNAME (PRLEFT WORD) +(DATATYPE PRESSDATA (PRHEADING (* The string to be printed atop each + page.) + PRHEADINGFONT (* Font to print the heading in) + PRXPOS (* Current X position) + PRYPOS (* Current Y position) + PRFONT (* Current font) + PRCURRFDE PRESSFONTDIR PRWIDTHSCACHE PRCOLOR PRLINEFEED PRPAGESTATE + PDSTREAM ELSTREAM XPRPAGEREGION PRDOCNAME (PRLEFT WORD) (* Page left margin) - (PRBOTTOM WORD) (* Page bottom margin) - (PRRIGHT WORD) (* Page right margin) - (PRTOP WORD) (* Page top margin) - (PRPAGENUM WORD) (* Current Page number) - (PRNEXTFONT# BYTE) - (PRMAXFONTSET BYTE) - (PRPARTSTART INTEGER) - (DLSTARTBYTE INTEGER) - (ELSTARTBYTE INTEGER) - (STARTCHARBYTE INTEGER) - (VECMOVINGRIGHT FLAG) (* If we're drawing a curve with - vector fonts, are we moving to the - right?) - (VECWASDISPLAYING FLAG) + (PRBOTTOM WORD) (* Page bottom margin) + (PRRIGHT WORD) (* Page right margin) + (PRTOP WORD) (* Page top margin) + (PRPAGENUM WORD) (* Current Page number) + (PRNEXTFONT# BYTE) + (PRMAXFONTSET BYTE) + (PRPARTSTART INTEGER) + (DLSTARTBYTE INTEGER) + (ELSTARTBYTE INTEGER) + (STARTCHARBYTE INTEGER) + (VECMOVINGRIGHT FLAG) (* If we're drawing a curve with + vector fonts, are we moving to the + right?) + (VECWASDISPLAYING FLAG) - (* Used during curve/line clipping to remember whether we were on-screen or - not, so we know when to force a SETXY.) + (* Used during curve/line clipping to remember whether we were on-screen or not, + so we know when to force a SETXY.) - VECSEGCHARS (* Cache for vector characters while - we're moving to the left.) - VECCURX (* Current X position within vector - code, in Dover spots) - VECCURY (* Current Y position with vector - code, in Dover spots) - PRSPACEFACTOR PRSPACEWIDTH (CHARWASDISPLAYING FLAG) - (* Says whether we have been - printing characters inside the - clipping region) - PRClippingRegion + VECSEGCHARS (* Cache for vector characters while + we're moving to the left.) + VECCURX (* Current X position within vector + code, in Dover spots) + VECCURY (* Current Y position with vector + code, in Dover spots) + PRSPACEFACTOR PRSPACEWIDTH (CHARWASDISPLAYING FLAG) + (* Says whether we have been printing + characters inside the clipping region) + PRClippingRegion (* The edges of the paper, as far as PRESS is concerned. - Used to protect SPRUCE users who get killed when the image goes off-paper) + Used to protect SPRUCE users who get killed when the image goes off-paper) - ) - PRSPACEFACTOR _ 1 PRXPOS _ 0 PRYPOS _ 0 - (* We assume that the origin is - translated to the bottom-left of the - page region) - PRClippingRegion _ (create REGION - LEFT _ SPRUCEPAPERLEFTMICAS - BOTTOM _ SPRUCEPAPERBOTTOMMICAS - WIDTH _ (DIFFERENCE SPRUCEPAPERRIGHTMICAS - SPRUCEPAPERLEFTMICAS) - HEIGHT _ 29210) - [ACCESSFNS ((PRWIDTH (IDIFFERENCE (fetch (PRESSDATA PRRIGHT) of - DATUM) - (fetch (PRESSDATA PRLEFT) of DATUM))) - (PRHEIGHT (IDIFFERENCE (fetch (PRESSDATA PRTOP) of DATUM) - (fetch (PRESSDATA PRBOTTOM) of DATUM))) - (PRPAGEREGION (fetch (PRESSDATA XPRPAGEREGION) of DATUM) - (PROGN (replace (PRESSDATA XPRPAGEREGION) of - DATUM - with NEWVALUE) - (replace (PRESSDATA PRLEFT) of DATUM - with (fetch (REGION LEFT) of - NEWVALUE - )) - (replace (PRESSDATA PRBOTTOM) of DATUM - with (fetch (REGION BOTTOM) of - NEWVALUE)) - (replace (PRESSDATA PRRIGHT) of DATUM - with (IPLUS (fetch (REGION LEFT) - of NEWVALUE) - (fetch (REGION WIDTH) - of NEWVALUE))) - (replace (PRESSDATA PRTOP) of DATUM - with (IPLUS (fetch (REGION BOTTOM) - of NEWVALUE) - (fetch (REGION HEIGHT) - of NEWVALUE]) + ) + PRSPACEFACTOR _ 1 PRXPOS _ 0 PRYPOS _ 0 (* We assume that the origin is + translated to the bottom-left of the + page region) + PRClippingRegion _ (create REGION + LEFT _ SPRUCEPAPERLEFTMICAS + BOTTOM _ SPRUCEPAPERBOTTOMMICAS + WIDTH _ (DIFFERENCE SPRUCEPAPERRIGHTMICAS + SPRUCEPAPERLEFTMICAS) + HEIGHT _ 29210) + [ACCESSFNS ((PRWIDTH (IDIFFERENCE (fetch (PRESSDATA PRRIGHT) of DATUM) + (fetch (PRESSDATA PRLEFT) of DATUM))) + (PRHEIGHT (IDIFFERENCE (fetch (PRESSDATA PRTOP) of DATUM) + (fetch (PRESSDATA PRBOTTOM) of DATUM))) + (PRPAGEREGION (fetch (PRESSDATA XPRPAGEREGION) of DATUM) + (PROGN (replace (PRESSDATA XPRPAGEREGION) of DATUM + with NEWVALUE) + (replace (PRESSDATA PRLEFT) of DATUM + with (fetch (REGION LEFT) of NEWVALUE)) + (replace (PRESSDATA PRBOTTOM) of DATUM + with (fetch (REGION BOTTOM) of NEWVALUE)) + (replace (PRESSDATA PRRIGHT) of DATUM + with (IPLUS (fetch (REGION LEFT) of NEWVALUE) + (fetch (REGION WIDTH) of NEWVALUE))) + (replace (PRESSDATA PRTOP) of DATUM + with (IPLUS (fetch (REGION BOTTOM) of NEWVALUE) + (fetch (REGION HEIGHT) of NEWVALUE]) (RECORD FONTDIRENTRY (DESCR FONT# FONTSET#)) ) @@ -2596,7 +2575,7 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1990, 1993, 2021 by Venu (RPAQ? DEFAULTPAGEREGION (CREATEREGION 2794 1905 16256 24765)) (RPAQ? PRESSBITMAPREGION (CREATEREGION 1270 1270 (FIX (TIMES 7.5 \MicasPerInch)) - (TIMES 10 \MicasPerInch))) + (TIMES 10 \MicasPerInch))) (DECLARE%: DOEVAL@COMPILE DONTCOPY (GLOBALVARS DEFAULTPAGEREGION) @@ -2618,7 +2597,7 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1990, 1993, 2021 by Venu -(RPAQQ PRESSOPS +(RPAQQ PRESSOPS (SetX SetY ShowCharacters ShowCharactersShortCode SkipCharactersShortCode ShowCharactersAndSkipCode SetSpaceXShortCode SetSpaceYShortCode FontCode SkipControlBytesImmediateCode AlternativeCode OnlyOnCopyCode SetXCode SetYCode @@ -2739,65 +2718,64 @@ Copyright (c) 1981, 1982, 1983, 1984, 1985, 1986, 1987, 1990, 1993, 2021 by Venu ) (ADDTOVAR IMAGESTREAMTYPES (PRESS (OPENSTREAM OPENPRSTREAM) - (FONTCREATE \CREATEPRESSFONT) - (CREATECHARSET \CREATECHARSET.PRESS) - (FONTSAVAILABLE \SEARCHPRESSFONTS))) + (FONTCREATE \CREATEPRESSFONT) + (CREATECHARSET \CREATECHARSET.PRESS) + (FONTSAVAILABLE \SEARCHPRESSFONTS))) -(ADDTOVAR PRINTERTYPES - ((PRESS SPRUCE PENGUIN DOVER) - (CANPRINT (PRESS)) - (STATUS PUP.PRINTER.STATUS) - (PROPERTIES PUP.PRINTER.PROPERTIES) - (SEND EFTP) - (BITMAPSCALE NIL) - (BITMAPFILE (PRESSBITMAP FILE BITMAP SCALEFACTOR REGION ROTATION TITLE))) - ((FULLPRESS RAVEN) +(ADDTOVAR PRINTERTYPES ((PRESS SPRUCE PENGUIN DOVER) + (CANPRINT (PRESS)) + (STATUS PUP.PRINTER.STATUS) + (PROPERTIES PUP.PRINTER.PROPERTIES) + (SEND EFTP) + (BITMAPSCALE NIL) + (BITMAPFILE (PRESSBITMAP FILE BITMAP SCALEFACTOR REGION ROTATION TITLE))) + ((FULLPRESS RAVEN) (* ; - "same as PRESS but can scale bitmaps") - (CANPRINT (PRESS)) - (STATUS TRUE) - (PROPERTIES NILL) - (SEND EFTP) - (BITMAPSCALE PRESS.BITMAPSCALE) - (BITMAPFILE (FULLPRESSBITMAP FILE BITMAP SCALEFACTOR REGION ROTATION TITLE)))) + "same as PRESS but can scale bitmaps") + (CANPRINT (PRESS)) + (STATUS TRUE) + (PROPERTIES NILL) + (SEND EFTP) + (BITMAPSCALE PRESS.BITMAPSCALE) + (BITMAPFILE (FULLPRESSBITMAP FILE BITMAP SCALEFACTOR REGION ROTATION TITLE)))) -(ADDTOVAR PRINTFILETYPES - [PRESS (TEST PRESSFILEP) - (EXTENSION (PRESS)) - (CONVERSION (TEXT MAKEPRESS TEDIT (LAMBDA (FILE PFILE FONTS HEADING) - (SETQ FILE (OPENTEXTSTREAM FILE)) - (TEDIT.FORMAT.HARDCOPY FILE PFILE T NIL NIL - NIL 'PRESS) - (CLOSEF? FILE) - PFILE]) +(ADDTOVAR PRINTFILETYPES [PRESS (TEST PRESSFILEP) + (EXTENSION (PRESS)) + (CONVERSION (TEXT MAKEPRESS TEDIT + (LAMBDA (FILE PFILE FONTS HEADING) + (SETQ FILE (OPENTEXTSTREAM FILE)) + (TEDIT.FORMAT.HARDCOPY FILE PFILE T NIL NIL + NIL 'PRESS) + (CLOSEF? FILE) + PFILE]) (PUTPROPS PRESS COPYRIGHT ("Venue & Xerox Corporation" 3675Q 3676Q 3677Q 3700Q 3701Q 3702Q 3703Q 3706Q 3711Q 3745Q)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (16032Q 73011Q (\SEARCHPRESSFONTS 16044Q . 20001Q) (\GETPRESSFONTNAMES 20003Q . 26641Q) -(\PRESSFAMILYCODELST 26643Q . 30565Q) (\DECODEPRESSFACEBYTE 30567Q . 33356Q) (\CREATEPRESSFONT 33360Q - . 35625Q) (\CREATECHARSET.PRESS 35627Q . 73007Q)) (73446Q 130434Q (PRESSBITMAP 73460Q . 103062Q) ( -FULLPRESSBITMAP 103064Q . 111076Q) (SHOWREGION 111100Q . 112442Q) (SHOWPRESSBITMAPREGION 112444Q . -113106Q) (PRESSWINDOW 113110Q . 117247Q) (WINDOW.BITMAP 117251Q . 120432Q) (\WRITEPRESSBITMAP 120434Q - . 130432Q)) (130532Q 160405Q (\BCPLSOUT.PRESS 130544Q . 131521Q) (\PAGEPAD.PRESS 131523Q . 132760Q) ( -\ENTITYEND.PRESS 132762Q . 140256Q) (\PARTEND.PRESS 140260Q . 142645Q) (\ENTITYSTART.PRESS 142647Q . -146260Q) (SETX.PRESS 146262Q . 150115Q) (SETXY.PRESS 150117Q . 153121Q) (SETY.PRESS 153123Q . 154523Q) - (SHOW.PRESS 154525Q . 160403Q)) (160467Q 275304Q (OPENPRSTREAM 160501Q . 165630Q) (\BITBLT.PRESS -165632Q . 170244Q) (\BLTSHADE.PRESS 170246Q . 171701Q) (\SCALEDBITBLT.PRESS 171703Q . 174327Q) ( -\BITMAPSIZE.PRESS 174331Q . 175271Q) (\CHARWIDTH.PRESS 175273Q . 177342Q) (\CLOSEF.PRESS 177344Q . -207333Q) (\DRAWLINE.PRESS 207335Q . 210673Q) (\ENDPAGE.PRESS 210675Q . 212145Q) (NEWLINE.PRESS 212147Q - . 213560Q) (NEWPAGE.PRESS 213562Q . 214054Q) (SETUPFONTS.PRESS 214056Q . 217607Q) (\DEFINEFONT.PRESS -217611Q . 221733Q) (\DSPBOTTOMMARGIN.PRESS 221735Q . 222531Q) (\DSPCLIPPINGREGION.PRESS 222533Q . -224125Q) (\DSPFONT.PRESS 224127Q . 231121Q) (\DSPLEFTMARGIN.PRESS 231123Q . 232003Q) ( -\DSPLINEFEED.PRESS 232005Q . 233315Q) (\DSPRIGHTMARGIN.PRESS 233317Q . 234202Q) (\DSPSPACEFACTOR.PRESS - 234204Q . 235610Q) (\DSPTOPMARGIN.PRESS 235612Q . 236375Q) (\DSPXPOSITION.PRESS 236377Q . 237115Q) ( -\DSPYPOSITION.PRESS 237117Q . 237635Q) (\FIXLINELENGTH.PRESS 237637Q . 241734Q) (\OUTCHARFN.PRESS -241736Q . 250772Q) (\SETSPACE.PRESS 250774Q . 252270Q) (\STARTPAGE.PRESS 252272Q . 256633Q) ( -\STRINGWIDTH.PRESS 256635Q . 272213Q) (SHOWRECTANGLE.PRESS 272215Q . 272736Q) ( -\PRESS.CONVERT.NSCHARACTER 272740Q . 275302Q)) (275344Q 406406Q (\ENDVECRUN 275356Q . 305174Q) ( -\VECENCODE 305176Q . 306225Q) (\VECPUT 306227Q . 315655Q) (\VECSKIP 315657Q . 316412Q) (\VECFONTINIT -316414Q . 323537Q) (\DRAWCIRCLE.PRESS 323541Q . 326044Q) (\DRAWARC.PRESS 326046Q . 326637Q) ( -\DRAWCURVE.PRESS 326641Q . 334577Q) (\DRAWCURVE.PRESS.LINE 334601Q . 343446Q) (\DRAWELLIPSE.PRESS -343450Q . 347227Q) (\GETBRUSHFONT.PRESS 347231Q . 351133Q) (\PRESSCURVE2 351135Q . 406404Q)) (412244Q -417070Q (\PRESSINIT 412256Q . 417066Q)) (446754Q 452043Q (MAKEPRESS 446766Q . 447272Q) (PRESSFILEP -447274Q . 451051Q) (PRESS.BITMAPSCALE 451053Q . 452041Q))))) + (FILEMAP (NIL (15752Q 72731Q (\SEARCHPRESSFONTS 15764Q . 17721Q) (\GETPRESSFONTNAMES 17723Q . 26561Q) +(\PRESSFAMILYCODELST 26563Q . 30505Q) (\DECODEPRESSFACEBYTE 30507Q . 33276Q) (\CREATEPRESSFONT 33300Q + . 35545Q) (\CREATECHARSET.PRESS 35547Q . 72727Q)) (73366Q 127171Q (PRESSBITMAP 73400Q . 103002Q) ( +FULLPRESSBITMAP 103004Q . 111016Q) (SHOWREGION 111020Q . 112362Q) (SHOWPRESSBITMAPREGION 112364Q . +113026Q) (PRESSWINDOW 113030Q . 117167Q) (\WRITEPRESSBITMAP 117171Q . 127167Q)) (127267Q 157142Q ( +\BCPLSOUT.PRESS 127301Q . 130256Q) (\PAGEPAD.PRESS 130260Q . 131515Q) (\ENTITYEND.PRESS 131517Q . +137013Q) (\PARTEND.PRESS 137015Q . 141402Q) (\ENTITYSTART.PRESS 141404Q . 145015Q) (SETX.PRESS 145017Q + . 146652Q) (SETXY.PRESS 146654Q . 151656Q) (SETY.PRESS 151660Q . 153260Q) (SHOW.PRESS 153262Q . +157140Q)) (157224Q 274041Q (OPENPRSTREAM 157236Q . 164365Q) (\BITBLT.PRESS 164367Q . 167001Q) ( +\BLTSHADE.PRESS 167003Q . 170436Q) (\SCALEDBITBLT.PRESS 170440Q . 173064Q) (\BITMAPSIZE.PRESS 173066Q + . 174026Q) (\CHARWIDTH.PRESS 174030Q . 176077Q) (\CLOSEF.PRESS 176101Q . 206070Q) (\DRAWLINE.PRESS +206072Q . 207430Q) (\ENDPAGE.PRESS 207432Q . 210702Q) (NEWLINE.PRESS 210704Q . 212315Q) (NEWPAGE.PRESS + 212317Q . 212611Q) (SETUPFONTS.PRESS 212613Q . 216344Q) (\DEFINEFONT.PRESS 216346Q . 220470Q) ( +\DSPBOTTOMMARGIN.PRESS 220472Q . 221266Q) (\DSPCLIPPINGREGION.PRESS 221270Q . 222662Q) (\DSPFONT.PRESS + 222664Q . 227656Q) (\DSPLEFTMARGIN.PRESS 227660Q . 230540Q) (\DSPLINEFEED.PRESS 230542Q . 232052Q) ( +\DSPRIGHTMARGIN.PRESS 232054Q . 232737Q) (\DSPSPACEFACTOR.PRESS 232741Q . 234345Q) ( +\DSPTOPMARGIN.PRESS 234347Q . 235132Q) (\DSPXPOSITION.PRESS 235134Q . 235652Q) (\DSPYPOSITION.PRESS +235654Q . 236372Q) (\FIXLINELENGTH.PRESS 236374Q . 240471Q) (\OUTCHARFN.PRESS 240473Q . 247527Q) ( +\SETSPACE.PRESS 247531Q . 251025Q) (\STARTPAGE.PRESS 251027Q . 255370Q) (\STRINGWIDTH.PRESS 255372Q . +270750Q) (SHOWRECTANGLE.PRESS 270752Q . 271473Q) (\PRESS.CONVERT.NSCHARACTER 271475Q . 274037Q)) ( +274101Q 405143Q (\ENDVECRUN 274113Q . 303731Q) (\VECENCODE 303733Q . 304762Q) (\VECPUT 304764Q . +314412Q) (\VECSKIP 314414Q . 315147Q) (\VECFONTINIT 315151Q . 322274Q) (\DRAWCIRCLE.PRESS 322276Q . +324601Q) (\DRAWARC.PRESS 324603Q . 325374Q) (\DRAWCURVE.PRESS 325376Q . 333334Q) ( +\DRAWCURVE.PRESS.LINE 333336Q . 342203Q) (\DRAWELLIPSE.PRESS 342205Q . 345764Q) (\GETBRUSHFONT.PRESS +345766Q . 347670Q) (\PRESSCURVE2 347672Q . 405141Q)) (410775Q 415621Q (\PRESSINIT 411007Q . 415617Q)) +(443570Q 446657Q (MAKEPRESS 443602Q . 444106Q) (PRESSFILEP 444110Q . 445665Q) (PRESS.BITMAPSCALE +445667Q . 446655Q))))) STOP diff --git a/library/PRESS.LCOM b/library/PRESS.LCOM index fd5a8c9241d2a95b86dd3c7db426c4836b0d89b4..511b8ded83586c29c4565dfee3b9fdf471a8b2e2 100644 GIT binary patch delta 14847 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 Xklv?1gzvpiPb>@2?;J58am#-Lw1PKd delta 11466 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.;2| 13188 +(FILECREATED "18-Apr-2023 12:12:26" |{DSK}frank>il>medley>tmedley>sources>LOGOW.;5| 18068 - :CHANGES-TO (FNS LOGOW) + :EDIT-BY "fgh" - :PREVIOUS-DATE " 4-Mar-2022 19:17:17" |{DSK}larry>medley>sources>LOGOW.;1|) + :CHANGES-TO (FUNCTIONS LOGOW KERNED.PRIN3) + (VARS LOGOWCOMS) + + :PREVIOUS-DATE "16-Apr-2023 14:46:18" |{DSK}frank>il>medley>tmedley>sources>LOGOW.;2|) -; Copyright (c) 1986-1991, 2022 by Venue. +; Copyright (c) 1986-1991, 2022-2023 by Venue. (PRETTYCOMPRINT LOGOWCOMS) -(RPAQQ LOGOWCOMS ((FNS KOTOLOGOW LOGOW \\DRAWLOGOWINDOWIMAGE) +(RPAQQ LOGOWCOMS ((FNS \\DRAWLOGOWINDOWIMAGE) + (FUNCTIONS LOGOW KERNED.PRIN3) (VARS LOGOBITMAP) (INITVARS (LOGOW NIL)) (ADDVARS (AFTERMAKESYSFORMS (LOGOW))) (PROP (LOGOW FILETYPE)))) (DEFINEQ -(KOTOLOGOW - (LAMBDA (STRING WHERE TITLE ANGLEDELTA) (* \; "Edited 28-Feb-2022 20:27 by larry") - (* |edited:| " 1-AUG-83 22:55") - (* |creates| \a |logo| |window.|) - (PROG ((CIRCLESIZE 60) - (LOGOXCENTER 70) - (LOGOYCENTER 65) - (LOGOWINDOWHEIGHT 180) - W LOGOWINDOWWIDTH WIMAGEWIDTH WIMAGEHEIGHT (STRING (OR STRING "Interlisp-D"))) - (OR ANGLEDELTA (SETQ ANGLEDELTA 23)) - (SETQ WIMAGEWIDTH (FIX (FTIMES CIRCLESIZE 0.62))) - (SETQ WIMAGEHEIGHT (FIX (FTIMES CIRCLESIZE 0.5))) - (SETQ LOGOWINDOWWIDTH (IPLUS LOGOXCENTER 30 WIMAGEWIDTH (STRINGWIDTH STRING - '(TIMESROMAND 36)))) - (SETQ W (COND - ((TYPENAMEP WHERE 'WINDOW) - WHERE) - (T (CREATEW (COND - ((POSITIONP WHERE) - (|create| REGION - LEFT _ (|fetch| (POSITION XCOORD) |of| WHERE) - BOTTOM _ (|fetch| (POSITION YCOORD) |of| WHERE) - WIDTH _ LOGOWINDOWWIDTH - HEIGHT _ LOGOWINDOWHEIGHT)) - ((EQ WHERE T) - (|create| REGION - HEIGHT _ LOGOWINDOWHEIGHT - WIDTH _ LOGOWINDOWWIDTH - LEFT _ (- SCREENWIDTH LOGOWINDOWWIDTH) - BOTTOM _ (- SCREENHEIGHT LOGOWINDOWHEIGHT))) - (T (GETBOXREGION LOGOWINDOWWIDTH LOGOWINDOWHEIGHT NIL NIL NIL - "Specify location for logo window."))) - (OR TITLE (CONCAT "Copyright (c) by Xerox Corporation" " " - (OR MAKESYSDATE (DATE)))))))) - (|for| ANGLE |from| 0 |to| 270 |by| ANGLEDELTA - |do| (\\DRAWLOGOWINDOWIMAGE (IPLUS LOGOXCENTER (FTIMES CIRCLESIZE (COS ANGLE))) - (IPLUS LOGOYCENTER (FTIMES CIRCLESIZE (SIN ANGLE))) - WIMAGEWIDTH WIMAGEHEIGHT 2 W)) - (MOVETO (IPLUS LOGOXCENTER 10 WIMAGEWIDTH) - (IPLUS 2 (IDIFFERENCE LOGOYCENTER CIRCLESIZE)) - W) - (DSPFONT '(TIMESROMAND 36) - W) - (PRIN3 STRING W) - (RETURN W)))) - -(LOGOW - (LAMBDA (STRING WHERE TITLE TITLE-LOCATION) (* \; "Edited 4-Mar-2022 19:05 by larry") - (* \; "Edited 12-Jul-91 03:12 by jds") - (PROG (WINDOW) - (CL:WHEN (WINDOWP LOGOW) - (CLOSEW LOGOW)) - (OR STRING (SETQ STRING (OR "Medley" (CL:STRING-CAPITALIZE MAKESYSNAME)))) - (OR TITLE (SETQ TITLE (CONCAT "https://Interlisp.org" " " MAKESYSDATE))) - - (* |;;| "(LOGOW NIL) gives default") - - (SETQ WINDOW (KOTOLOGOW STRING T TITLE)) - (WINDOWPROP WINDOW 'BUTTONEVENTFN 'MOVEW) - (WINDOWPROP WINDOW 'TYPE 'LOGOW) - (WINDOWPROP WINDOW 'CLOSEFN (FUNCTION (LAMBDA NIL - - (* |;;| "Set LOGOW to NIL when closing the window") - - (SETQ LOGOW NIL)))) - (RETURN (SETQ LOGOW WINDOW))))) - (\\DRAWLOGOWINDOWIMAGE (LAMBDA (XPOS YPOS WIDTH HEIGHT BORDER W) (* |rrb| "22-FEB-82 18:04") (* |makes| \a |window| |image.| @@ -99,14 +36,147 @@ 'REPLACE WHITESHADE))) ) -(RPAQQ LOGOBITMAP #*(288 110)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOL@@COO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOL@@COO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AN@@@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AN@@@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AN@@@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AN@@@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@@@AL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@@@AL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GH@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GH@@N@@@@CO@@@OL@OH@@GO@@GH@@@OL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GH@AL@@@@OOL@@OLGOL@@GO@@GH@@COO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GH@AL@@@AOON@@OLOON@@GO@@GH@@GOOH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GH@CH@@@CN@O@@OMO@N@@GN@@G@@@OHCL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GH@CH@@@GL@G@@COL@N@@AN@@O@@AO@AL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CL@G@@@@OH@CH@GOH@N@@AL@@O@@CN@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CL@G@@@AO@@CH@GO@@N@@CL@@N@@GL@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CL@N@@@CN@@CH@GL@@N@@CH@@N@@GH@@N@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CL@N@@@CL@@GH@GL@AN@@GH@AN@@G@@AN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CLAL@@@CH@AOH@OH@AL@@G@@AL@@O@@GN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CLAL@@@CH@GN@@O@@CL@@O@@AL@@N@AOH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ANCH@@@GH@OH@@O@@CH@@N@@CL@@N@CN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ANCH@@@GHCN@@AO@@CH@@N@@CL@AN@OH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ANG@@@@GOOL@@AN@@GH@AN@@CH@AOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ANG@@@@GOO@@@AN@@G@@AL@@GH@AOOL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AON@@@@GOL@@@CN@@O@NAL@@G@@AOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AON@@@@G@@@@@CL@@NANAL@@O@CIL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AOL@@@@G@@@N@CL@@NCLAL@@O@CIL@@CH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OL@@@@GH@AN@GL@ALCHAN@AO@GIL@@GH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OH@@@@GL@CL@GH@ALO@AN@GO@OAN@@O@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OH@@@@CN@GH@GH@AMN@@OOOOAN@O@AN@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@@@@@AOOO@@GH@AOL@@GOOCOL@GOOL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@O@@@@@@OON@@G@@AOH@@CONCOH@COOH@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@COH@@G@@@O@@@AOHAO@@@ON@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ +(CL:DEFUN LOGOW (&OPTIONAL (MAINTEXT (CL:STRING-CAPITALIZE MAKESYSNAME)) + &KEY + (FONT '(TIMESROMAND 36)) + (ANGLEDELTA 30) + (TITLE (CONCAT "Interlisp.org" " " MAKESYSDATE)) + TITLE-LOCATION + (SUBTEXT1 "INTERLISP") + (SUBTEXT2 "COMMON LISP") + (WHERE T)) (* \; "Edited 18-Apr-2023 12:11 by fgh") + (* \; "Edited 16-Apr-2023 14:44 by fgh") + (* \; "Edited 10-Apr-2023 07:22 by lmm") + (* \; "Edited 2-Apr-2023 20:09 by lmm") + (* \; "Edited 31-Mar-2023 19:22 by lmm") + (* \; "Edited 12-Jul-91 03:12 by jds") + (PROG ((CIRCLESIZE 60) + (SQUASHFACTOR 0.9) + (LOGOWINDOWHEIGHT 170) + (LOGOWINDOW.MARGIN.X 7) + (LOGOWINDOW.MARGIN.Y 7) + (LOGOXCENTER 70) + (LOGOYCENTER 60) + (LOGOWINDOWWIDTH.ADJ -12) + (LMAR.ADJ -34) + (MAINTEXT.Y.ADJ 52) + (SUBTEXT1.X.ADJ 42) + (SUBTEXT2.X.ADJ 42) + (SUBTEXT1.Y 26) + (SUBTEXT2.Y 9) + (SUBTEXT1.FONT '(HELVETICA 12 BRR)) + (SUBTEXT2.FONT '(HELVETICA 12 BRR)) + (MAINTEXT.KERN 0) + (SUBTEXT1.KERN 1) + (SUBTEXT2.KERN 1) + (SUBTEXT1.SPACE 4) + (SUBTEXT2.SPACE 4) + W LOGOWINDOWWIDTH WIMAGEWIDTH WIMAGEHEIGHT LMAR W) + + (* |;;| " COMPUTE SIZE FOR LOGO WINDOW") + + (SETQ WIMAGEWIDTH (FIX (FTIMES CIRCLESIZE 0.62))) + (SETQ WIMAGEHEIGHT (FIX (FTIMES CIRCLESIZE 0.5))) + (SETQ LOGOWINDOWWIDTH (IPLUS LOGOXCENTER LOGOWINDOWWIDTH.ADJ WIMAGEWIDTH (STRINGWIDTH + MAINTEXT + FONT))) + + (* |;;| "CREATE AND PLACE LOGO WINDOW") + + (SELECTQ (TYPENAME WHERE) + ((WINDOW STREAM) + (SETQ W WHERE)) + (SETQ W (CREATEW (COND + ((POSITIONP WHERE) + (|create| REGION + LEFT _ (|fetch| (POSITION XCOORD) |of| WHERE) + BOTTOM _ (|fetch| (POSITION YCOORD) |of| WHERE) + WIDTH _ LOGOWINDOWWIDTH + HEIGHT _ LOGOWINDOWHEIGHT)) + ((EQ WHERE T) + (|create| REGION + HEIGHT _ LOGOWINDOWHEIGHT + WIDTH _ LOGOWINDOWWIDTH + LEFT _ (- SCREENWIDTH LOGOWINDOWWIDTH LOGOWINDOW.MARGIN.X) + BOTTOM _ (- SCREENHEIGHT LOGOWINDOWHEIGHT + LOGOWINDOW.MARGIN.Y))) + (T (GETBOXREGION LOGOWINDOWWIDTH LOGOWINDOWHEIGHT NIL NIL NIL + "Specify location for logo window."))) + TITLE))) + (PRIN1 (LIST LOGOWINDOWWIDTH LOGOWINDOWHEIGHT)) + (PRIN1 (LIST WIMAGEWIDTH WIMAGEHEIGHT)) + + (* |;;| " PLACE MAIN TEXT") + + (SETQ LMAR (+ LOGOXCENTER LMAR.ADJ WIMAGEWIDTH)) + (MOVETO LMAR (+ MAINTEXT.Y.ADJ (- LOGOYCENTER CIRCLESIZE)) + W) + (DSPFONT FONT W) + (KERNED.PRIN3 MAINTEXT MAINTEXT.KERN W) + + (* |;;| " PLACE SUBTEXT1") + + (CL:WHEN SUBTEXT1 + (DSPFONT SUBTEXT1.FONT W) + (MOVETO (+ LMAR SUBTEXT1.X.ADJ) + SUBTEXT1.Y W) + (KERNED.PRIN3 SUBTEXT1 SUBTEXT1.KERN W)) + + (* |;;| " PLACE SUBTEXT2") + + (CL:WHEN SUBTEXT2 + (DSPFONT SUBTEXT2.FONT W) + (MOVETO (+ LMAR SUBTEXT2.X.ADJ) + SUBTEXT2.Y W) + (KERNED.PRIN3 SUBTEXT2 SUBTEXT2.KERN W SUBTEXT2.SPACE)) + (* \; " ") + + (* |;;| " DRAW CIRCLE OF WINDOWS") + + (|for| ANGLE |from| 30 |to| 270 |by| ANGLEDELTA + |do| (\\DRAWLOGOWINDOWIMAGE (+ LOGOXCENTER (FTIMES CIRCLESIZE (COS ANGLE))) + (+ LOGOYCENTER (FTIMES CIRCLESIZE SQUASHFACTOR (SIN ANGLE))) + WIMAGEWIDTH WIMAGEHEIGHT 2 W)) + + (* |;;| "SETUP AND OPEN LOGOW") + + (IF (NEQ W WHERE) + THEN (CLOSEW W) + (SETQ LOGOBITMAP (WINDOW.BITMAP W)) + (WINDOWPROP W 'BUTTONEVENTFN 'MOVEW) + (WINDOWPROP W 'TYPE 'LOGOW) + (WINDOWPROP W 'CLOSEFN (FUNCTION (LAMBDA NIL + + (* |;;| + "Set LOGOW to NIL when closing the window") + + (SETQ LOGOW NIL)))) + (CL:WHEN (WINDOWP LOGOW) + (CLOSEW LOGOW)) + (OPENW W) + (RETURN (SETQ LOGOW W))))) + +(CL:DEFUN KERNED.PRIN3 (STRING KERN W &OPTIONAL (SPACE.WIDTH NIL)) + (* \; "Edited 16-Apr-2023 22:43 by frank") + (PROG ((S (CONCAT STRING)) + (C NIL)) + (|while| (SETQ C (GNC S)) + |do| (SETQ C (MKSTRING C)) + (|if| (AND (STREQUAL C " ")) + |then| (RELMOVETO (IDIFFERENCE (OR SPACE.WIDTH (STRINGWIDTH C (DSPFONT NIL W))) + KERN) + 0 W) + |else| (PRIN3 C W) + (RELMOVETO KERN 0 W))))) + +(RPAQQ LOGOBITMAP #*(235 170)OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOON@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOON@OOOOOOOOOGOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOON@OMOOKOOOKGOOOOOOOOOOOKLCONOOOOONCLGHOAOLGHOOMNCOLGHGOOOOOON@OMOOKOOOKOOOOOOOOOOOOCMOONOOOOOMMKKGFNOKKGGOIMMOKKKOOOOOOON@OMJC@LGDKGAMAONAMCAGLCHGOMGJCJGOMKKOGNOOKGFNAOMKOK@OOOOOOON@OMIMKKKBKFNLNOMNLJNGOKKKOMGIMIGOMKKOGIOOKGFOMOCKOKGGOOOOOON@OMKMKHCGKGAMNOMNMNOGOKOKOKKKMKOOCKKLONONGGGOMOMONGOGOOOOOON@OMKMKKOGKGNMNOMNMNOGOKOKCHCKMKLNOKKKONOMOGGOMOMOMOOGOOOOOON@OMKMKKKGKFNLNMMNMNNGOKKKOGMIMKOMOKKGNNOKOGGOMMMOKOGGOOOOOON@OMKMLLGGKGAMAMNAMOAGOKLGOGMJCKOLALG@GAOHCHNOMNCKHCHOOOOOOON@OOOOOOOOOOOMOOOOONOGOOOOOOOKOOOOOOOOOOOOOONOOOOKOOOOOOOOOON@OOOOOOOOOOOMOOOOOO@OOOOOOOOKOOOOOOOOOOOOOOOOOOOOOOOOOOOOOON@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOON@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@GOOOOOOOOL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@GOOOOOOOOL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@GOOOOOOOOL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@GOOOOOOOOL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AOOOOOOOOO@@@@@@@OOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AOOOOOOOOO@@@@@@@OOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AOOOOOOOOO@@@@@@@OOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AOOOOOOOOO@@@@@@@OOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@@C@@@@@@@L@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@@C@@@@@@@L@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@@C@@@@@@@L@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@@C@@@@@@@L@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@@C@@@@@@@L@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@@C@@@@@@@L@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@@C@@@@@@@L@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@@C@@@@@@@L@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@@C@@@@@@@L@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@@C@@@@@@@L@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@@C@@@@@@@L@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@@C@@@@@@@L@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@@C@@@@@@@L@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@@C@@@@@@@L@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@@C@@@@@@@L@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@COOOOOOOON@@@@C@@@@@@@L@@@@@@COOOOOL@@@@@@@@@@@@@@@@@F@L@@@@COOOOOOOON@@@@C@@@@@@@L@@@@@@COOOOOL@@@@@@@@@@@@@@@@@F@L@@@@COOOOOOOON@@@@COOOOOOOL@@@@@@COOOOOL@@@@@@@@@@@@@@@@@F@L@@@@COOOOOOOON@@@@COOOOOOOL@@@@@@COOOOOL@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@C@@@@@AH@@@@@@@C@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@C@@@@@AH@@@@@@@C@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@C@@@@@AH@@@@@@@C@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@C@@@@@AH@@@@@@@C@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@C@@@@@AH@@@@@@@C@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@GOOOOO@@@@@AOOOOOOOOO@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@GOOOOO@@@@@AOOOOOOOOO@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@COOOOOOOON@F@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@F@L@@COOOOOOOOOON@@@@@@@@@@@@@@@@GOOOOOOOOL@@@@@@@@@@@@@@@@@F@L@@COOOOOOOOOON@@@@@@@@@@@@@@@@GOOOOOOOOL@@@@@@@@@@@@@@@@@F@L@@COOOOOOOON@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@C@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@C@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@C@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@C@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@C@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@C@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@C@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@COOAOOH@@@@@@@@@@@@@@F@L@@C@@@@@@@@F@@@@@@COON@@@COOL@@@@@@@AOO@OOH@@@@@@@@@@@@@@F@L@@C@@@@@@@@F@@@@@@@OOO@@@GOO@@@@@@@@@OO@GOH@@@@@@@@@@@@@@F@L@@C@@@@@@@@F@@@@@@@GOO@@@GON@@@@@@@@@OO@GOH@@@@@@@@@@@@@@F@L@@C@@@@@@@@F@@@@@@@GOOH@@OON@@@@@@@@@OO@GOH@@@@@@@@@@@@@@F@L@@C@@@@@@@@F@@@@@@@GOOH@@OON@@@@@@@@@OO@GOH@@@@@@@@@@@@@@F@L@@C@@@@@@@@F@@@@@@@GOOL@AOON@@@@@@@@@OO@GOH@@@@@@@@@@@@@@F@L@@C@@@@@@@@F@@@@@@@GOOL@AOON@@@@@@@@@OO@GOH@@@@@@@@@@@@@@F@L@@C@@@@@@@@F@@@@@@@GOON@COON@@@@@@@@@OO@GOH@@@@@@@@@@@@@@F@L@@C@@@@@@@@F@@@@@@@GGON@CKON@@COH@@GLOO@GOH@COH@OOOGOH@@@F@L@@C@@@@@@@@F@@@@@@@GGOO@GKON@@OON@AONOO@GOH@OON@GONCO@@@@F@L@@C@@@@@@@@F@@@@@@@GCOO@GCON@AOIO@COOOO@GOHAOIO@COLAN@@@@F@L@@C@@@@@@@@F@@@@@@@GCOOHOCON@CO@OHGOMOO@GOHCO@OHCONAN@@@@F@L@@C@@@@@@@@F@@@@@@@GAOOHNCON@CO@OHGOHOO@GOHCO@OHAONAL@@@@F@L@@C@@@@@@@@F@@@@@@@GAOOMNCON@GO@OLGOHOO@GOHGO@OLAOOCL@@@@F@L@@C@@@@@@@@F@@@@@@@G@OOMLCON@GO@OLOO@OO@GOHGO@OL@OOCL@@@@F@L@@C@@@@@@@@F@@@@@@@G@OOOLCON@GO@OLOO@OO@GOHGO@OL@OOCH@@@@F@L@@C@COOOOOOOON@@@@@G@GOOHCON@OOOOLOO@OO@GOHOOOOL@GOOH@@@@F@L@@COOOOOOOOOON@@@@@G@GOOHCON@OOOOLOO@OO@GOHOOOOL@GOO@@@@@F@L@@COOOOOOOOOON@@@@@G@COO@CON@OO@@@OO@OO@GOHOO@@@@GOO@@@@@F@L@@@@COOOOOOOON@@@@@G@COO@CON@OO@@@OO@OO@GOHOO@@@@COO@@@@@F@L@@@@C@@@@@@@@F@@@@@G@AON@CON@GO@@@OO@OO@GOHGO@@@@CON@@@@@F@L@@@@C@@@@@@@@F@@@@@G@AON@CON@GOH@@GOHOO@GOHGOH@@@AON@@@@@F@L@@@@C@@@@@@@@F@@@@@G@@OL@CON@GOHAHGOHOO@GOHGOHAH@AON@@@@@F@L@@@@C@@@@@@@@F@@@@@G@@OL@CON@CONCHGOLOO@GOHCONCH@AOL@@@@@F@L@@@@C@@@@@@@@F@@@@@G@@GH@CON@COOO@COOOO@GOHCOOO@@@OL@@@@@F@L@@@@C@@@@@@@@F@@@@@OH@GH@GOO@AOOO@COOOOHOOLAOOO@@@OL@@@@@F@L@@@@C@@@@@@@@F@@@@CON@C@AOOOL@OOL@AOLOOMOON@OOL@@@GH@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@C@@@@@@@CO@@@G@N@@@@@@CO@@@@GH@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CLG@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GNG@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GNN@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GLN@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GOL@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@COH@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@N@@@@@@@F@L@@@@C@@@@@@@@F@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@C@@@@AOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@C@@@@AOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@C@@@@AOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@C@@@@AOOOOOOOOO@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@C@@@@AH@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@C@@@@AH@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@C@@@@AH@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@C@@@@AH@@@@@@GOOOOOOOOL@AIHFGOIOLONC@CAOAOH@@@@@@@@@@F@L@@@@COOOOOH@@@@@@GOOOOOOOOL@AILF@LAH@LCC@CCAIHL@@@@@@@@@@F@L@@@@COOOOOH@@@@@@GOOOOOOOOL@AILF@LAH@LCC@CCAIHL@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@GOOOOOOOOL@AINF@LAH@LCC@CCLAHL@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@AINF@LAOHONC@CAOAHL@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@AIKF@LAH@LCC@C@GIOH@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@AIKF@LAH@LCC@CCAIH@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@AIIN@LAH@LCC@CCAIH@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@AIIN@LAH@LCC@CCAIH@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@AIHN@LAOLLCCOCAOAH@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@@GLAO@N@NG@G@OHFAHC@CAOAOH@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@@LFCAHN@NG@GAHLGAHC@CCAIHL@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@AHFF@LOANGHOC@FGAHC@CCAIHL@@@F@L@@@@@@@@@AH@@@@@@F@@@@@@@@L@AH@F@LOANGHOC@FGIHC@CCLAHL@@@F@L@@@@@@@@@AOOOOOOON@@@@@@@@L@AH@F@LMKFFMKC@FGIHC@CAOAHL@@@F@L@@@@@@@@@AOOOOOOON@@@@@@@@L@AH@F@LMKFFMKC@FFMHC@C@GIOH@@@F@L@@@@@@@@@@@@@@@@@F@@@@@@@@L@AHFF@LMKFFMKC@FFMHC@CCAIH@@@@F@L@@@@@@@@@@@@@@@@@F@@@@@@@@L@AHFF@LLNFFGCC@FFGHC@CCAIH@@@@F@L@@@@@@@@@@@@@@@@@F@@@@@@@@L@@LFCAHLNFFGCAHLFGHC@CCAIH@@@@F@L@@@@@@@@@@@@@@@@@F@@@@@@@@L@@GLAO@LDFFBC@OHFCHCOCAOAH@@@@F@L@@@@@@@@@@@@@@@@@F@@@@@@@@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@GOOOOOOOOL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@GOOOOOOOOL@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@L@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@F@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOON@OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOON@ ) (RPAQ? LOGOW NIL) (ADDTOVAR AFTERMAKESYSFORMS (LOGOW)) -(PUTPROPS LOGOW COPYRIGHT ("Venue" 1986 1987 1988 1989 1990 1991 2022)) +(PUTPROPS LOGOW COPYRIGHT ("Venue" 1986 1987 1988 1989 1990 1991 2022 2023)) (DECLARE\: DONTCOPY - (FILEMAP (NIL (596 5071 (KOTOLOGOW 606 . 3400) (LOGOW 3402 . 4362) (\\DRAWLOGOWINDOWIMAGE 4364 . 5069) -)))) + (FILEMAP (NIL (732 1449 (\\DRAWLOGOWINDOWIMAGE 742 . 1447)) (1451 7015 (LOGOW 1451 . 7015)) (7017 7666 + (KERNED.PRIN3 7017 . 7666))))) STOP diff --git a/sources/LOGOW.DFASL b/sources/LOGOW.DFASL new file mode 100644 index 0000000000000000000000000000000000000000..3152c170d2e7445fc8fce4a590231b93f75cf5ef GIT binary patch literal 8380 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 xOZz4nqQ2IU-kaplan>local>medley3.5>working-medley>sources>WINDOW.;19 221116 +(FILECREATED "10-Apr-2023 07:05:18" {DSK}larry>il>medley>sources>WINDOW.;2 222381 + + :EDIT-BY "lmm" :CHANGES-TO (VARS WINDOWCOMS) - (FNS \MEDW.DSPCREATE \GENERIC.DSPCREATE \GENERIC.DSPCREATE.DESTINATION.BITMAP?) - :PREVIOUS-DATE " 8-Jul-2022 23:54:16" -{DSK}kaplan>local>medley3.5>working-medley>sources>WINDOW.;15) + :PREVIOUS-DATE " 9-Jul-2022 11:10:09" {DSK}larry>il>medley>sources>WINDOW.;1) (* ; " @@ -16,7 +15,7 @@ Copyright (c) 1982-1988, 1990-1994, 1999-2000, 2021 by Venue & Xerox Corporation (PRETTYCOMPRINT WINDOWCOMS) -(RPAQQ WINDOWCOMS +(RPAQQ WINDOWCOMS [(COMS (FNS WINDOWWORLD WINDOWWORLDP CHANGEBACKGROUND CHANGEBACKGROUNDBORDER TILE \TTY.CREATING.DISPLAYSTREAM \CREATE.TTY.OUTCHARFN \CREATE.TTYDISPLAYSTREAM HASTTYWINDOWP TTYINFOSTREAM CREATESCREEN \INSURESCREEN \BITMAPTOSCREEN MAINSCREEN) @@ -73,6 +72,8 @@ Copyright (c) 1982-1988, 1990-1994, 1999-2000, 2021 by Venue & Xerox Corporation (PROP ARGNAMES WINDOWPROP) (OPTIMIZERS WINDOWPROP) (FNS CWINDOWPROP CGETWINDOWPROP \GETWINDOWHEIGHT \GETWINDOWWIDTH)) + (FNS WINDOW.BITMAP) + (* ; "lmm 4/23") (COMS (FNS OPENWP TOPWP RESHAPEBYREPAINTFN \INBETWEENP DECODE/WINDOW/OR/DISPLAYSTREAM GROW/REGION CLRPROMPT PROMPTPRINT OPENWINDOWS \INSUREWINDOW) (* ; @@ -1389,23 +1390,23 @@ Middle button down moves closest corner.") ) (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE -(PUTPROPS .COPYKEYDOWNP. MACRO [NIL (OR (KEYDOWNP 'LSHIFT) +[PUTPROPS .COPYKEYDOWNP. MACRO (NIL (OR (KEYDOWNP 'LSHIFT) (KEYDOWNP 'RSHIFT) - (KEYDOWNP 'COPY]) + (KEYDOWNP 'COPY] -(PUTPROPS WSOP MACRO [ARGS (LET ((METHOD (CADR (CAR ARGS))) +[PUTPROPS WSOP MACRO (ARGS (LET ((METHOD (CADR (CAR ARGS))) (DISPLAY (CADR ARGS)) (OTHERARGS (CDDR ARGS))) `(SPREADAPPLY* (fetch (WSOPS ,METHOD) of (fetch (FDEV WINDOWOPS) of ,DISPLAY)) ,DISPLAY - ,@OTHERARGS]) + ,@OTHERARGS] ) (* "END EXPORTED DEFINITIONS") -(PUTPROPS WSOP ARGNAMES (METHOD DISPLAY . OTHERARGS)) +(PUTPROPS WSOP ARGNAMES (METHOD DISPLAY . OTHERARGS)) (DECLARE%: EVAL@COMPILE (RECORD WSOPS (STARTBOARD STARTCOLOR STOPCOLOR EVENTFN SENDCOLORMAPENTRY SENDPAGE PILOTBITBLT)) @@ -1868,15 +1869,15 @@ Middle button down moves closest corner.") (DECLARE%: DONTCOPY (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE -(PUTPROPS \COERCETODS MACRO [OPENLAMBDA (X) +[PUTPROPS \COERCETODS MACRO (OPENLAMBDA (X) (COND ((type? WINDOW X) (fetch (WINDOW DSP) of X)) - (T (\ILLEGAL.ARG X]) + (T (\ILLEGAL.ARG X] -(PUTPROPS .WHILE.ON.TOP. MACRO ((FIRST . REST) +[PUTPROPS .WHILE.ON.TOP. MACRO ((FIRST . REST) (UNINTERRUPTABLY - (\INTERNALTOTOPW FIRST) . REST))) + (\INTERNALTOTOPW FIRST) . REST)] ) (* "END EXPORTED DEFINITIONS") @@ -2042,7 +2043,7 @@ Middle button down moves closest corner.") (* ; "Compiled WINDOWPROP") -(PUTPROPS WINDOWPROP ARGNAMES (NIL (WINDOW PROP {NEWVALUE}) . U)) +(PUTPROPS WINDOWPROP ARGNAMES (NIL (WINDOW PROP {NEWVALUE}) . U)) (DEFOPTIMIZER WINDOWPROP (&REST ARGS) (CWINDOWPROP ARGS)) @@ -2172,6 +2173,26 @@ Middle button down moves closest corner.") ) (DEFINEQ +(WINDOW.BITMAP + [LAMBDA (W) (* ; "Edited 12-Jun-90 10:38 by mitani") + (* Returns all of the bitmap of the + window) + (PROG [BM (REGION (WINDOWPROP W 'REGION] + (CLOSEW W) + (SETQ BM (BITMAPCREATE (fetch (REGION WIDTH) of REGION) + (fetch (REGION HEIGHT) of REGION))) + (BITBLT (WINDOWPROP W 'IMAGECOVERED) + NIL NIL BM) + (OPENW W) + (RETURN BM]) +) + + + +(* ; "lmm 4/23") + +(DEFINEQ + (OPENWP [LAMBDA (WINDOW) (* rrb "26-OCT-83 15:01") @@ -3491,7 +3512,7 @@ Middle button down moves closest corner.") (DECLARE%: EVAL@COMPILE DONTCOPY (* "FOLLOWING DEFINITIONS EXPORTED")(DECLARE%: EVAL@COMPILE -(PUTPROPS WINDOWOP DMACRO [ARGS (LET ((OPNAME (CAR ARGS)) +[PUTPROPS WINDOWOP DMACRO (ARGS (LET ((OPNAME (CAR ARGS)) (METHOD-DEVICE (CADR ARGS)) (TAIL (CDDR ARGS))) (COND @@ -3502,7 +3523,7 @@ Middle button down moves closest corner.") of ,METHOD-DEVICE) ,METHOD-DEVICE ,@TAIL] - (T (ERROR "OPNAME not quoted: " OPNAME]) + (T (ERROR "OPNAME not quoted: " OPNAME] ) (* "END EXPORTED DEFINITIONS") @@ -3917,40 +3938,42 @@ Middle button down moves closest corner.") (FILESLOAD PAINTW) -(ADDTOVAR WindowMenuCommands - (Close '\INTERACTIVE.CLOSEW "Closes a window") - (Snap 'SNAPW "Saves a snapshot of a region of the screen.") - (Paint 'PAINTW +(ADDTOVAR WindowMenuCommands (Close '\INTERACTIVE.CLOSEW "Closes a window") + (Snap 'SNAPW "Saves a snapshot of a region of the screen.") + (Paint 'PAINTW "Starts a painting mode in which the mouse can be used to draw pictures or make notes on windows.") - (Clear 'CLEARW "Clears a window to its gray.") - (Bury 'BURYW "Puts a window on the bottom.") - (Redisplay 'REDISPLAYW "Redisplays a window using its REPAINTFN.") - (Hardcopy 'HARDCOPYIMAGEW "Prints a window using its HARDCOPYFN." - (SUBITEMS ("To a file" 'HARDCOPYIMAGEW.TOFILE - "Puts image on a file; prompts for filename and format") - ("To a printer" 'HARDCOPYIMAGEW.TOPRINTER - "Sends image to a printer of your choosing"))) - (Move 'MOVEW "Moves a window by a corner.") - (Shape 'SHAPEW "Gets a new region for a window. + (Clear 'CLEARW "Clears a window to its gray.") + (Bury 'BURYW "Puts a window on the bottom.") + (Redisplay 'REDISPLAYW "Redisplays a window using its REPAINTFN.") + (Hardcopy 'HARDCOPYIMAGEW "Prints a window using its HARDCOPYFN." + (SUBITEMS ("To a file" 'HARDCOPYIMAGEW.TOFILE + "Puts image on a file; prompts for filename and format" + ) + ("To a printer" 'HARDCOPYIMAGEW.TOPRINTER + "Sends image to a printer of your choosing"))) + (Move 'MOVEW "Moves a window by a corner.") + (Shape 'SHAPEW "Gets a new region for a window. Left button down marks fixed corner; sweep to other corner. Middle button down moves closest corner.") - (Shrink 'SHRINKW "Replaces this window with its icon (or title if it doesn't have an icon." - )) + (Shrink 'SHRINKW + "Replaces this window with its icon (or title if it doesn't have an icon." + )) -(ADDTOVAR BackgroundMenuCommands - (SaveVM '(SAVEVM) - "Updates the virtual memory.") - (Snap '(SNAPW) - "Saves a snapshot of a region of the screen.") - (Hardcopy '(HARDCOPYW) - "Send hardcopy of screen region to printer." - (SUBITEMS ("To a file" '(HARDCOPYREGION.TOFILE) - +(ADDTOVAR BackgroundMenuCommands (SaveVM '(SAVEVM) + "Updates the virtual memory.") + (Snap '(SNAPW) + "Saves a snapshot of a region of the screen.") + (Hardcopy '(HARDCOPYW) + "Send hardcopy of screen region to printer." + (SUBITEMS ("To a file" '(HARDCOPYREGION.TOFILE) + "Writes a region of screen to a file; prompts for filename and format" - ) - ("To a printer" '(HARDCOPYREGION.TOPRINTER) - "Sends a region of screen to a printer of your choosing")))) + ) + ("To a printer" '(HARDCOPYREGION.TOPRINTER) + + "Sends a region of screen to a printer of your choosing" + )))) (ADDTOVAR WINDOWUSERFORMS ) @@ -3975,7 +3998,7 @@ Middle button down moves closest corner.") (* ;; "Arrange for the proper compiler") -(PUTPROPS WINDOW FILETYPE :FAKE-COMPILE-FILE) +(PUTPROPS WINDOW FILETYPE :FAKE-COMPILE-FILE) (DECLARE%: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS (ADDTOVAR NLAMA ) @@ -3987,42 +4010,42 @@ Middle button down moves closest corner.") (PUTPROPS WINDOW COPYRIGHT ("Venue & Xerox Corporation" 1982 1983 1984 1985 1986 1987 1988 1990 1991 1992 1993 1994 1999 2000 2021)) (DECLARE%: DONTCOPY - (FILEMAP (NIL (11550 26190 (WINDOWWORLD 11560 . 15313) (WINDOWWORLDP 15315 . 15615) (CHANGEBACKGROUND -15617 . 16654) (CHANGEBACKGROUNDBORDER 16656 . 17207) (TILE 17209 . 17801) ( -\TTY.CREATING.DISPLAYSTREAM 17803 . 18350) (\CREATE.TTY.OUTCHARFN 18352 . 18652) ( -\CREATE.TTYDISPLAYSTREAM 18654 . 21693) (HASTTYWINDOWP 21695 . 21975) (TTYINFOSTREAM 21977 . 22501) ( -CREATESCREEN 22503 . 25446) (\INSURESCREEN 25448 . 25697) (\BITMAPTOSCREEN 25699 . 26060) (MAINSCREEN -26062 . 26188)) (26837 44120 (WINDOW.MOUSE.HANDLER 26847 . 39642) (\PROTECTED.APPLY 39644 . 39892) ( -DOWINDOWCOM 39894 . 41914) (DOBACKGROUNDCOM 41916 . 43074) (DEFAULT.BACKGROUND.COPYFN 43076 . 44118)) -(44201 76084 (BURYW 44211 . 44499) (CLEARW 44501 . 44891) (CLOSEW 44893 . 45667) (\CLOSEW1 45669 . -46022) (\OKTOCLOSEW 46024 . 46383) (\INTERACTIVE.CLOSEW 46385 . 47208) (OPENW 47210 . 48265) ( -DOUSERFNS 48267 . 49428) (DOUSERFNS2 49430 . 49926) (\USERFNISDON'T 49928 . 50199) (\OPENW1 50201 . -50551) (CREATEW 50553 . 51817) (CREATEW1 51819 . 54097) (\CREATEW1 54099 . 55318) (OPENDISPLAYSTREAM -55320 . 55643) (MOVEW 55645 . 55860) (PPROMPT3 55862 . 56190) (\ONSCREENCLIPPINGREGION 56192 . 56743) -(RELMOVEW 56745 . 57043) (SHAPEW 57045 . 61964) (SHAPEW1 61966 . 64668) (\SHAPEW2 64670 . 67356) ( -RESHOWBORDER 67358 . 67869) (\RESHOWBORDER1 67871 . 72797) (TRACKW 72799 . 73914) (SNAPW 73916 . 75589 -) (WINDOWREGION 75591 . 76082)) (76085 76781 (MINIMUMWINDOWSIZE 76095 . 76779)) (78428 101693 ( -ADVISEWDS 78438 . 86381) (SHOWWFRAME 86383 . 88135) (SHOWWTITLE 88137 . 92171) (\STRINGWIDTHGUESS -92173 . 92532) (RESHOWTITLE 92534 . 97175) (TOTOPW 97177 . 97416) (\INTERNALTOTOPW 97418 . 98508) ( -\TTW1 98510 . 101110) (WHICHW 101112 . 101691)) (101822 104660 (WFROMDS 101832 . 103830) (NU\TOTOPWDS -103832 . 104268) (\COERCETODS 104270 . 104658)) (105303 112103 (WINDOWP 105313 . 105459) ( -INSURE.WINDOW 105461 . 105800) (WINDOWPROP 105802 . 106234) (WINDOWADDPROP 106236 . 107970) ( -WINDOWDELPROP 107972 . 108398) (GETWINDOWPROP 108400 . 108950) (GETWINDOWUSERPROP 108952 . 109379) ( -PUTWINDOWPROP 109381 . 109846) (REMWINDOWPROP 109848 . 110903) (WINDOWADDFNPROP 110905 . 112101)) ( -112307 119871 (CWINDOWPROP 112317 . 113322) (CGETWINDOWPROP 113324 . 118542) (\GETWINDOWHEIGHT 118544 - . 119452) (\GETWINDOWWIDTH 119454 . 119869)) (119872 135320 (OPENWP 119882 . 120160) (TOPWP 120162 . -120445) (RESHAPEBYREPAINTFN 120447 . 130699) (\INBETWEENP 130701 . 130917) ( -DECODE/WINDOW/OR/DISPLAYSTREAM 130919 . 132959) (GROW/REGION 132961 . 133524) (CLRPROMPT 133526 . -133930) (PROMPTPRINT 133932 . 134196) (OPENWINDOWS 134198 . 134982) (\INSUREWINDOW 134984 . 135318)) ( -135451 138700 (OVERLAPPINGWINDOWS 135461 . 137743) (WOVERLAPP 137745 . 138000) (ORDERFROMBOTTOMTOTOP -138002 . 138698)) (138749 143532 (\ONSCREENW 138759 . 139465) (\PUTONSCREENW 139467 . 140294) ( -\UPDATECACHEDFIELDS 140296 . 140560) (\WWCHANGESCREENSIZE 140562 . 141951) (CREATEWFROMIMAGE 141953 . -142916) (UPDATEWFROMIMAGE 142918 . 143530)) (144089 196691 (\MEDW.CREATEW 144099 . 148773) ( -\MEDW.OPENW 148775 . 151133) (\MEDW.CLOSEW 151135 . 152501) (\MEDW.MOVEW 152503 . 163115) ( -\MEDW.RELMOVEW 163117 . 163496) (\MEDW.SHRINKW 163498 . 171682) (\MEDW.EXPANDW 171684 . 173951) ( -\MEDW.SHAPEW 173953 . 178559) (\MEDW.REDISPLAYW 178561 . 180516) (\MEDW.BURYW 180518 . 181800) ( -\MEDW.TOTOPW 181802 . 183150) (\MEDW.DSPCREATE 183152 . 183953) (\GENERIC.DSPCREATE 183955 . 185672) ( -\GENERIC.DSPCREATE.DESTINATION.BITMAP? 185674 . 185860) (\MEDW.GETWINDOWPROP 185862 . 188100) ( -\MEDW.PUTWINDOWPROP 188102 . 194887) (\MEDW.CURSOR 194889 . 196689)) (196692 197312 (\GENERIC.CURSOR -196702 . 197310))))) + (FILEMAP (NIL (11535 26175 (WINDOWWORLD 11545 . 15298) (WINDOWWORLDP 15300 . 15600) (CHANGEBACKGROUND +15602 . 16639) (CHANGEBACKGROUNDBORDER 16641 . 17192) (TILE 17194 . 17786) ( +\TTY.CREATING.DISPLAYSTREAM 17788 . 18335) (\CREATE.TTY.OUTCHARFN 18337 . 18637) ( +\CREATE.TTYDISPLAYSTREAM 18639 . 21678) (HASTTYWINDOWP 21680 . 21960) (TTYINFOSTREAM 21962 . 22486) ( +CREATESCREEN 22488 . 25431) (\INSURESCREEN 25433 . 25682) (\BITMAPTOSCREEN 25684 . 26045) (MAINSCREEN +26047 . 26173)) (26822 44105 (WINDOW.MOUSE.HANDLER 26832 . 39627) (\PROTECTED.APPLY 39629 . 39877) ( +DOWINDOWCOM 39879 . 41899) (DOBACKGROUNDCOM 41901 . 43059) (DEFAULT.BACKGROUND.COPYFN 43061 . 44103)) +(44186 76069 (BURYW 44196 . 44484) (CLEARW 44486 . 44876) (CLOSEW 44878 . 45652) (\CLOSEW1 45654 . +46007) (\OKTOCLOSEW 46009 . 46368) (\INTERACTIVE.CLOSEW 46370 . 47193) (OPENW 47195 . 48250) ( +DOUSERFNS 48252 . 49413) (DOUSERFNS2 49415 . 49911) (\USERFNISDON'T 49913 . 50184) (\OPENW1 50186 . +50536) (CREATEW 50538 . 51802) (CREATEW1 51804 . 54082) (\CREATEW1 54084 . 55303) (OPENDISPLAYSTREAM +55305 . 55628) (MOVEW 55630 . 55845) (PPROMPT3 55847 . 56175) (\ONSCREENCLIPPINGREGION 56177 . 56728) +(RELMOVEW 56730 . 57028) (SHAPEW 57030 . 61949) (SHAPEW1 61951 . 64653) (\SHAPEW2 64655 . 67341) ( +RESHOWBORDER 67343 . 67854) (\RESHOWBORDER1 67856 . 72782) (TRACKW 72784 . 73899) (SNAPW 73901 . 75574 +) (WINDOWREGION 75576 . 76067)) (76070 76766 (MINIMUMWINDOWSIZE 76080 . 76764)) (78391 101656 ( +ADVISEWDS 78401 . 86344) (SHOWWFRAME 86346 . 88098) (SHOWWTITLE 88100 . 92134) (\STRINGWIDTHGUESS +92136 . 92495) (RESHOWTITLE 92497 . 97138) (TOTOPW 97140 . 97379) (\INTERNALTOTOPW 97381 . 98471) ( +\TTW1 98473 . 101073) (WHICHW 101075 . 101654)) (101785 104623 (WFROMDS 101795 . 103793) (NU\TOTOPWDS +103795 . 104231) (\COERCETODS 104233 . 104621)) (105248 112048 (WINDOWP 105258 . 105404) ( +INSURE.WINDOW 105406 . 105745) (WINDOWPROP 105747 . 106179) (WINDOWADDPROP 106181 . 107915) ( +WINDOWDELPROP 107917 . 108343) (GETWINDOWPROP 108345 . 108895) (GETWINDOWUSERPROP 108897 . 109324) ( +PUTWINDOWPROP 109326 . 109791) (REMWINDOWPROP 109793 . 110848) (WINDOWADDFNPROP 110850 . 112046)) ( +112248 119812 (CWINDOWPROP 112258 . 113263) (CGETWINDOWPROP 113265 . 118483) (\GETWINDOWHEIGHT 118485 + . 119393) (\GETWINDOWWIDTH 119395 . 119810)) (119813 120472 (WINDOW.BITMAP 119823 . 120470)) (120498 +135946 (OPENWP 120508 . 120786) (TOPWP 120788 . 121071) (RESHAPEBYREPAINTFN 121073 . 131325) ( +\INBETWEENP 131327 . 131543) (DECODE/WINDOW/OR/DISPLAYSTREAM 131545 . 133585) (GROW/REGION 133587 . +134150) (CLRPROMPT 134152 . 134556) (PROMPTPRINT 134558 . 134822) (OPENWINDOWS 134824 . 135608) ( +\INSUREWINDOW 135610 . 135944)) (136077 139326 (OVERLAPPINGWINDOWS 136087 . 138369) (WOVERLAPP 138371 + . 138626) (ORDERFROMBOTTOMTOTOP 138628 . 139324)) (139375 144158 (\ONSCREENW 139385 . 140091) ( +\PUTONSCREENW 140093 . 140920) (\UPDATECACHEDFIELDS 140922 . 141186) (\WWCHANGESCREENSIZE 141188 . +142577) (CREATEWFROMIMAGE 142579 . 143542) (UPDATEWFROMIMAGE 143544 . 144156)) (144715 197317 ( +\MEDW.CREATEW 144725 . 149399) (\MEDW.OPENW 149401 . 151759) (\MEDW.CLOSEW 151761 . 153127) ( +\MEDW.MOVEW 153129 . 163741) (\MEDW.RELMOVEW 163743 . 164122) (\MEDW.SHRINKW 164124 . 172308) ( +\MEDW.EXPANDW 172310 . 174577) (\MEDW.SHAPEW 174579 . 179185) (\MEDW.REDISPLAYW 179187 . 181142) ( +\MEDW.BURYW 181144 . 182426) (\MEDW.TOTOPW 182428 . 183776) (\MEDW.DSPCREATE 183778 . 184579) ( +\GENERIC.DSPCREATE 184581 . 186298) (\GENERIC.DSPCREATE.DESTINATION.BITMAP? 186300 . 186486) ( +\MEDW.GETWINDOWPROP 186488 . 188726) (\MEDW.PUTWINDOWPROP 188728 . 195513) (\MEDW.CURSOR 195515 . +197315)) (197318 197938 (\GENERIC.CURSOR 197328 . 197936))))) STOP diff --git a/sources/WINDOW.LCOM b/sources/WINDOW.LCOM index 3337412b3f4e67f8c4af8454fda44a739637f168..8faf1ae67cef43e63eb1dec53016117bb6402ddf 100644 GIT binary patch delta 3025 zcmbtWU2GIp6yDixkgf&0r9d$X$0d+0(01;fou6H_GVRW`Bio&IXSO5Ih=dkO($WI@ zKn!lsH7t{x($hjLNSI2FUA;u9_7Wv#0O0D(Zq9ie)gw4khn=ZckY}y z_xya{cjoGq*rO}458Wye2lU0W15~6Eh-#LIS*j%=l{~&Mzj$hHW*QbwLlWN3*#|GY zIJ+=EGdy?f?Ai0fr{;#|XQt<7&JUkkcNHf76LmMx{KnwmU=pT}y@{u{drH$Rk&^xK6n8ONHgw0xwHc{d zQO*)f;z@!o1W^N}RMH4!jhyKWj2wdG-28kp4%yLhy*Osr1C9l$Nxf`?mnf!U_d~W+ zHYQE0Vh`jn5+({ec0W;(NNq9tWv7@g2JQw&OlLwb^+Re8?602<=^=`lLW-XRDQ+5P zd%A!f?9zoe`=D#rdfz(EzUn&q)PyyegH*h>W5YX%ZD}Zh1P=DJ1Qf3nuLQ58c60mH z4W0Z}##^~|WZy15UxGYjV9K`g&S<404)NcY4+!WS;g#(iNTy{m&~GLlrd=xLstC$f|S-8OA)+;L6W3! zmx@p}N(Ft?0Ex(87E2WeXeJXFP)!D}LO|1ExGQ?~SsQ+ z>7fL4I7|B~%g@Zd!42wdo_us z61G+-KiY=^g0!p`?E?0i_gE6e)(xs6ZXCxYz)Rx4MznOR6_G{u+xxv$%sxa#hO~o1 z#m={3A}zHUp~6Ur9gpjX1;p7}uwc^z12M!6%}CW?n__^z1y$5=DPsmcW~ofWZ9K$B z8I?%5q~RfyG`xu+I7udSOjK_{?euL!=#K{ltwQ(TZx1xmnKG{%+1#HHI0kxVoa5e{^6 zblqQJH*@JEkMz-U$GbNo581Yr*L&77iCtdV z*~T8WvN9r&k8bx>8p4-p6+W#EzCdJ7t~TLAqtIy8_F$)6Ree{by{QJ-`>3Aar#OS&Hg*A_s$d3F+!X!UYXg#^aCA zVNIef&r#!BpJSVv-dC|GEzecds^;f%y7jpdRYi7f-8N8Ut=UjX%aFtGFr&;rloTn$ zUj1RyPKDykY+=2E`ljb5P21pK46;UX5^X8UYRD{^i?cVCWM0=0U@}6t4PY|wZlf7> zgr!xrcKE&^9F+qMDA+PRk8=&b(2RT$6fA)c8d*aJYnm@N046tPf{Y9epp?#JI6k6U M{Zjkq!RIgi2VvzN7ytkO delta 2676 zcmb7GTWB0r7|!elO}7z~=2nB3zbnziy2+k1bLJ8?bh10!ZoAnTc4jjzMAO)Wwlv9x z)*>RhJ{2rfjOU>seXxoTzO~)rleMX6uoNlyqV!2o3I!2gqz@wa&&HVvccL$#H)qsvQ+P+NsGq~6Ti``&u-gERCzmrcODRxsl1Y<{ zps94uoUw`}BU8YCi)lED4hq#$30lvOkB_Heap5%#;6Zkj^jK=tyPvBVx?|+=kQO^5 z{DROk@?V3^5Dh3LgvcY>k4&e$AMQ5(%gTh%&-+$?Kqqsy zS#WaIifvY^7LFC8?0_hH8!nxm0g-Ajy$=mfmvB9+@$+x@ZKDbUdynb5g^E670F_m) z*9LSsyhKz6bB^hlmYcVM;OV?={fG$}Z-vwR&lR zP4t-1gbm43(aUxTxm_`KV?B^utqW8^j2*`%m?sUd5mjkFMVN>MMH99$pL5UICDNaBnt>{`94ezZFG-l3}h8iz_dUFW*luh34O!BoW1H!NT z)Rk8T|CKz$T>6r&wjmNzhSIoc5yu!*qSAW+10uIY7Bnr^wY|3yS1R$JYW-yzgGo`N z!kS}a&gF|XHtYcuULENd7lrtwY&MrCLSdsZ8Z??DdE?^*RVms-H?2*_SFYY^>Z9c8 z;~=ILfECGO$E{?Nf4K2XSU9__>m2_5#)MG);B-G9yf(kzyB;Z3Tsb0nZvAE>NTZg@ zW$!Hss7Qv`hF>@)^Y5-ff)Fnsd~F%zN~VqPpjVD&sfc$ktbh{rfTutq`(m;aDZVGh zYDMF-B<2_@TWDCt>6WGw#jkEcmc5{cQFy~cXuBl=tMSEGw}r0Y4HEq#4~h3zIr+|x zWaG})p9{i|{G-jm?Pq$SFJNlMoyPY_58k6Zzp*(X6dHeRt_gJ+rMyWF7gX%H;PW65 z9;_p4+ef`?-$#*axvywy`@VvG+q%z`_I){_i2S#2ho3^Gx15s^>O6iZ7!~|{09m5^ zTB@%uV`=A#WxHB2ns~{Cfu5f&+J^V+G4BzKQIDC!5XvTVm?vBTiI~``sSHJ`y{~|w zLbcfI3S?EyHm+V5glE-|60)d(UO>g3F=vfJ8Dy+UGd`yIY#U)rik4!DWL_UNiNLZ! Wze$=u_DKE*LDU6SWA}~EUit?Nqu)0G