;skip 1 ;vsp 6 ;squish ;lftmar 0 ;topmar 0 ;botmar 0 ;rgtmar 0 ;dfont TIMESROMAN10,TIMESROMAN10,TIMESROMAN10I,HELVETICA10,TIMESROMAN18B,TIMESROMAN12B,TIMESROMAN12B,GACHA10,GACHA10B,MATH10,HIPPO10 "‡"A  New Window System q1 Sheets "`  1. Sheets "( PWindows‚îare‚îbuilt‚îon‚the‚primitive‚type‚sheet.‚Sheets‚provide‚mainly‚facilities‚for‚drawing  characters‚and‚graphics‚(lines,‚rectangles,‚triangles)‚into‚2-dimensional‚arrays‚of‚bits,‚which‚can  be‚either‚ordinary‚arrays‚or‚special‚arrays‚which‚are‚mapped‚into‚the‚hardware‚TV‚buer.  Some‚of‚the‚most‚primitive‚parts‚of‚support‚for‚sheets‚are‚built‚into‚microcode‚for‚the‚sake‚of  speed.‚ " PNote‚that‚a‚window‚does‚not‚have‚a‚sheet;‚rather‚a‚window‚is‚a‚sheet,‚with‚some  additional‚capabilities‚added‚by‚mixing‚in‚additional‚avors.‚Thus‚all‚the‚sheet‚operations  described‚îin‚îthis‚îchapter‚îare‚îintended‚îto‚îbe‚îused‚îon‚îwindows.‚  "@  1.1 Components of and Attributes " PSome‚of‚these‚functions‚are‚actually‚eld‚selectors,‚and‚few‚of‚them‚can‚be‚modied‚with  setf,‚however‚in‚most‚cases‚just‚doing‚a‚setf‚will‚not‚work.‚Modifying‚attributes‚of‚a‚sheet‚is  usually‚done‚through‚the‚part‚of‚the‚window-system‚responsible‚for‚that‚particular‚feature.  Some‚of‚the‚elds‚of‚a‚sheet‚are‚also‚accessible‚as‚window‚instance-variables‚inside‚of‚a  method;‚which‚way‚you‚access‚them‚is‚a‚matter‚of‚style.‚Some‚elds‚of‚a‚sheet‚can‚be  accessed‚î(or‚îcomputed)‚îeither‚îby‚îa‚îfunction‚îdescribed‚îhere‚îor‚by‚sending‚a‚message;‚again‚it‚is  a‚matter‚of‚style‚which‚way‚you‚choose‚to‚do‚it.‚If‚eciency‚is‚important,‚the‚most‚ecient  way‚to‚access‚a‚eld‚is‚as‚an‚instance‚variable;‚however‚this‚only‚works‚in‚a‚method,‚and  sending‚a‚message‚costs‚noticeably‚more‚than‚a‚simple‚function‚call.‚Accessing‚a‚eld‚by‚one  of‚îthe‚îfunctions‚îdescribed‚îin‚îthis‚section‚is‚less‚ecient‚than‚accessing‚an‚instance‚variable,‚but  more‚îecient‚îthan‚îsending‚îa‚îmessage.‚  "  tv:sheet-screen-array‚sheet The‚array‚on‚which‚the‚microcode‚puts‚output‚drawn‚on‚the‚sheet.‚This‚may‚be‚a section‚of‚the‚physical‚screen,‚a‚regular‚array‚when‚output‚is‚being‚saved‚in‚a deexposed‚window's‚bit-array,‚or‚nil‚when‚there‚is‚no‚place‚for‚the‚output‚on‚a deexposed‚îwindow‚îto‚îgo.‚ [Currently‚the‚width‚of‚this‚array‚has‚to‚not‚be‚its‚"correct"‚width,‚because‚of limitations‚in‚the‚indirect-array‚feature.‚The‚width‚is‚the‚same‚as‚the‚width‚of‚the physical‚screen‚when‚the‚array‚is‚indirected‚to‚the‚screen,‚thus‚full‚subscript-bounds- checking‚îis‚înot‚îobtained.]‚î  "  tv:sheet-locations-per-line‚sheet The‚înumber‚îof‚îmemory‚îlocations‚îper‚îraster‚îline;‚used‚îby‚îthe‚îmicrocode‚îonly.‚ "‡"k  DSK:LMWIND;SHEET 9 E20-AUG-80î "‡"A  New Window System q2 tComponents of and Attributes "`  tv:sheet-old-screen-array‚sheet Saves‚îthe‚îscreen-array‚îwhile‚îdeexposed.‚  "  tv:sheet-bit-array‚sheet nil‚îor‚îthe‚îarray‚îon‚îwhich‚îthe‚îwindow‚îsaves‚îits‚îbits‚îwhen‚înot‚îexposed.‚  "  tv:sheet-name‚sheet A‚îstring‚îwhich‚înames‚îthe‚îsheet.‚  "  tv:sheet-lock‚sheet nil,‚the‚process‚which‚has‚the‚sheet‚locked,‚or‚a‚list‚of‚temporary‚windows‚which‚have the‚îsheet‚îlocked‚îby‚îbeing‚îexposed‚îover‚îit.‚ [Someone‚îshould‚îdocument‚îwhat‚îthis‚îlock‚îcontrols.]‚î  "  tv:sheet-lock-count‚sheet 0‚if‚not‚locked,‚or‚the‚number‚of‚times‚locked‚by‚the‚indicated‚process‚(recursive locking‚îis‚îallowed).‚  "  tv:sheet-superior‚sheet nil‚îif‚îthis‚îa‚îtop-level‚îsheet‚î(a‚îscreen),‚else‚îthe‚îsuperior.‚  "  tv:sheet-inferiors‚sheet List‚îof‚îactive‚îinferiors.‚  "  tv:sheet-exposed-inferiors‚sheet List‚îof‚inferiors‚that‚are‚exposed‚with‚respect‚to‚this‚sheet.‚Namely,‚if‚this‚sheet‚has‚a screen‚array,‚then‚these‚inferiors‚have‚their‚exposed-p‚ag‚set‚(they‚are‚really exposed).‚If‚this‚sheet‚has‚no‚screen‚array‚(it‚is‚deexposed‚and‚has‚no‚bit‚array),‚then the‚sheets‚on‚this‚list‚are‚not‚really‚exposed,‚but‚will‚get‚exosed‚when‚this‚sheet‚is exposed.‚ " P[there‚îare‚îa‚îbunch‚îmore‚îSHEET‚îelds‚îwhich‚îI‚îdon't‚îfeel‚îlike‚îtyping‚îin‚îright‚înow.]‚î " P[SCREEN‚îneeds‚îto‚îbe‚îdocumented‚îsome‚îplace,‚don't‚îforget.‚Probably‚îgets‚îits‚îown‚îchapter.]‚î  "  tv:sheet-flags‚sheet A‚îxnum‚îcontaining‚îbit‚îags‚îfor‚îthe‚îsheet.‚  "  tv:sheet-exceptions‚sheet Four‚bits‚giving‚exceptions‚,‚reasons‚why‚typeout‚can't‚happen‚at‚the‚moment.‚These are:‚ "‡"g  DSK:LMWIND;SHEET 9 E20-AUG-80î "‡"A  New Window System q3 tComponents of and Attributes "`  tv:sheet-end-line-flag‚sheet Cursor‚îis‚îat‚îthe‚îright-hand‚îend‚îof‚îa‚îline.‚  "  tv:sheet-end-page-flag‚sheet Cursor‚îis‚îat‚îthe‚îbottom‚îof‚îthe‚îwindow.‚  "  tv:sheet-more-flag‚sheet Cursor‚îis‚îabout‚îto‚îoverwrite‚îunseen‚îoutput,‚time‚îfor‚îa‚î**more**.‚  "  tv:sheet-output-hold-flag‚sheet Output‚îmay‚înot‚îhappen,‚typically‚îbecause‚îthe‚îwindow‚îis‚îdeexposed.‚  "  tv:sheet-right-margin-character-flag‚sheet When‚a‚line‚wraps‚around,‚an‚exclamation‚point‚should‚be‚put‚in‚the‚right‚margin. [Only‚îrespected‚îby‚îsheet-line-out.]‚î  "  tv:sheet-truncate-line-out-flag‚sheet When‚a‚line‚is‚too‚long‚to‚t,‚it‚should‚be‚truncated‚at‚the‚right‚margin.‚[Only respected‚îby‚îsheet-line-out.]‚î  "  tv:sheet-inside-left‚&optional‚(sheet‚self) The‚X‚coordinate,‚relative‚to‚the‚sheet,‚of‚the‚left‚edge‚of‚the‚inside‚area.‚Equals‚the left‚îmargin‚îsize.‚  "  tv:sheet-inside-top‚&optional‚(sheet‚self) The‚îY‚îcoordinate,‚relative‚îto‚îthe‚îsheet,‚of‚îthe‚îtop‚îedge‚îof‚îthe‚îinside‚îarea.‚  "  tv:sheet-inside-right‚&optional‚(sheet‚self) The‚îX‚îcoordinate,‚relative‚îto‚îthe‚îsheet,‚of‚îthe‚îright‚îedge‚îof‚îthe‚îinside‚îarea.‚  "  tv:sheet-inside-bottom‚&optional‚(sheet‚self) The‚îY‚îcoordinate,‚relative‚îto‚îthe‚îsheet,‚of‚îthe‚îbottom‚îedge‚îof‚îthe‚îinside‚îarea.‚  "  tv:sheet-inside-width‚&optional‚(sheet‚self) The‚îwidth‚îin‚îpixels‚îof‚îthe‚îarea‚îinside‚îthe‚îmargins.‚  "  tv:sheet-inside-height‚&optional‚(sheet‚self) The‚îheight‚îin‚îpixels‚îof‚îthe‚îarea‚îinside‚îthe‚îmargins.‚  "  tv:sheet-temporary-p‚&optional‚(sheet‚self) t‚îif‚îthe‚îsheet‚îis‚îa‚îtemporary-window,‚nil‚îif‚înot‚î(see‚î).‚ "‡"k  DSK:LMWIND;SHEET 9 E20-AUG-80î "‡"A  New Window System q4 cSheet Special Forms "`  tv:sheet-superior-screen-array‚&optional‚(sheet‚self) Gets‚the‚screen-array‚or‚old-screen-array‚of‚this‚sheet's‚superior,‚which‚is‚where‚this sheet's‚îown‚îscreen‚îarray‚îshould‚îindirect‚îto.‚[Should‚îthis‚îbe‚îdocumented?]‚î  "  tv:sheet-output-held-p‚&optional‚(sheet‚self) t‚îif‚îoutput‚îis‚îto‚îbe‚îheld‚îup,‚either‚because‚the‚sheet's‚output-hold‚ag‚is‚set‚or‚because it‚îis‚îlocked.‚nil‚îif‚îoutput‚îmay‚îsafely‚îproceed.‚ " P[Don't‚îforget,‚blinkers‚îwill‚îneed‚îdocumentation‚îof‚îtheir‚îown.]‚î " P[Who-line‚îwill‚îneed‚îdocumentation.]‚î  "@  1.2 Sheet Special Forms  "  tv:lock-sheet Special Form `(tv:lock-sheet (sheet) ` form-1 form-2 ...) evaluates‚îthe‚îbody‚îforms‚îwith‚îthe‚îsheet‚îlocked.‚ " P[The‚îlocking‚îscheme‚îshould‚îbe‚îdocumented,‚particularly‚îthe‚îway‚îit‚îgoes‚îinto‚îthe‚îinferiors.]‚î  "  tv:prepare-sheet Special Form `(tv:prepare-sheet (sheet) ` form-1 form-2 ...) prepares‚for‚output‚to‚the‚sheet‚,‚and‚evaluates‚the‚body‚forms.‚This‚locks‚the‚sheet (waiting‚for‚anyone‚else‚who‚has‚it‚locked‚to‚unlock),‚checks‚for‚output‚hold,‚gets‚the blinkers‚out‚of‚the‚way,‚and‚primes‚the‚microcode‚for‚character‚drawing‚on‚this‚sheet. [Well,‚it‚îdoesn't‚îreally‚îseem‚îto‚îdo‚îthat.]‚îThe‚îbody‚îis‚îexecuted‚îwithout-interrupts.‚ " P[redirect-array?]‚î  "  tv:sheet-force-access Special Form `(tv:sheet-force-access (sheet) ` form-1 form-2 ...) forces‚access‚to‚the‚bit‚representation‚of‚the‚sheet,‚does‚a‚tv:prepare-sheet,‚then evaluates‚the‚body‚forms.‚If‚access‚cannot‚be‚forced,‚then‚the‚body‚is‚ignored. Forcing‚îaccess‚îdoes‚înothing‚îto‚îan‚îexposed‚îwindow,‚but‚îif‚îit‚îis‚îdeexposed‚îand‚has‚a‚bit- save‚array‚then‚the‚output-hold‚ag‚is‚turned‚o‚and‚the‚output‚is‚set‚to‚be‚drawn‚on the‚bit-save‚array.‚tv:sheet-force-access‚is‚used‚extensively‚for‚such‚applications‚as redrawing‚îof‚îborders.‚ `(tv:sheet-force-access (sheet t) ` form-1 form-2 ...) is‚îthe‚îsame‚îexcept‚îthat‚îthe‚îtv:prepare-sheet‚îis‚îomitted.‚ "v  DSK:LMWIND;SHEET 9 E20-AUG-80î "‡"A  New Window System q5 Z[Somebody and the Somethings] "` P[IO‚îbuers‚îneed‚îto‚îbe‚îdocumented.]‚î  "@  1.3 [Somebody and the Somethings] " P[Do‚îthese‚îgo‚îin‚îthis‚îchapter?‚I‚îdoubt‚îit.]‚î  "  tv:window-bind Special Form This‚îallows‚îtemporary‚îreplacement‚îof‚îone‚window‚with‚another‚of‚a‚dierent‚type.‚The new‚window‚will‚appear‚on‚the‚screen‚at‚the‚same‚place.‚The‚change‚is‚undone‚after executing‚îsome‚îbody‚îforms.‚ `(tv:window-bind (symbol new-type ':init-option val ...) ` form-1 form-2 ...) Symbol‚'s‚value‚must‚be‚a‚window.‚A‚new‚window‚is‚created‚using‚the‚tv:window- create-type‚arguments‚supplied,‚and‚substituted‚for‚that‚window‚in‚symbol‚'s‚value,‚in terminal-io's‚îvalue,‚and‚îin‚îvarious‚îinternal‚îdata‚îbases.‚ [Hic,‚please‚îcheck‚îI‚îdidn't‚îleave‚îanything‚îout.]‚î  "  tv:window-call Special Form `(tv:window-call (window nal-action) ` form-1 form-2 ...) Selects‚îwindow‚,‚evaluates‚îthe‚îbody‚îforms,‚then‚re-selects‚the‚window‚that‚was‚originally selected‚î(if‚îany).‚Final-action‚îis‚optional;‚if‚it‚is‚supplied,‚it‚is‚the‚name‚of‚a‚message to‚îsend‚îto‚îwindow‚îafter‚îit‚îis‚îdeselected.‚Typically‚îit‚îmight‚îbe‚î:bury‚îor‚î:deactivate.‚ " P[Resources‚îshould‚îbe‚îdocumented‚îsomeplace.]‚î  "  tv:delaying-screen-management Special Form `(tv:delaying-screen-management form-1 form-2 ...) Evaluates‚the‚body‚forms‚without‚doing‚any‚screen‚management‚until‚after‚the‚last‚one has‚been‚evaluated.‚This‚is‚useful‚when‚you‚are‚making‚a‚complicated‚change‚to‚the screen‚îinvolving‚exposing‚and‚deexposing‚several‚windows,‚and‚don't‚want‚extra‚display to‚happen.‚!Delaying‚screen‚management‚also‚delays‚auto-exposing‚of‚fully-visible deexposed‚îwindows,‚and‚auto-selection‚of‚a‚selectable‚exposed‚window‚when‚there‚is‚no window‚îselected.‚ " You‚can‚nest‚tv:delaying-screen-management‚forms;‚screen‚management‚is‚delayed until‚the‚end‚of‚the‚outermost‚form.‚If‚control‚is‚thrown‚out‚of‚a‚tv:delaying-screen- management‚îform,‚the‚needed‚screen‚management‚is‚not‚forgotten,‚due‚to‚an‚unwind- protect.‚ "‡"‡  DSK:LMWIND;SHEET 9 E20-AUG-80î "‡"A  New Window System q6 WMicrocode Primitives "`  tv:without-screen-management Special Form Evaluates‚the‚forms‚in‚its‚body‚with‚screen-management‚delayed,‚and‚does‚not‚do‚the deferred‚screen‚management‚at‚all‚if‚the‚body‚is‚exited‚normally.‚This‚is‚useful‚in circumstances‚when‚you‚know‚you'll‚be‚doing‚screen‚management‚on‚the‚same‚stu right‚away.‚[?]‚If‚the‚body‚is‚exitted‚abnormally,‚it‚is‚still‚done‚to‚make‚sure‚the screen‚îlooks‚îright.‚ " P[These‚îbelong‚îelsewhere.]‚î  "  tv:with-mouse-grabbed Special Form Evaluates‚îthe‚forms‚in‚its‚body‚with‚the‚mouse‚grabbed,‚so‚that‚the‚mouse‚process‚will not‚îtouch‚îit‚î[not‚îeven‚îtrack‚îit?]‚î " P[Where‚îdoes‚îtv:beep‚îgo?]‚î  "@  1.4 Microcode Primitives " PThe‚functions‚in‚this‚section‚are‚the‚microcode‚primitives‚for‚putting‚character‚or‚graphic  display‚îonto‚îa‚îsheet.‚They‚îshould‚îonly‚îbe‚îcalled‚îfrom‚îinside‚îa‚îtv:prepare-sheet.‚ " P[What‚îpackage‚îprex‚îdo‚îI‚îwant‚îto‚îput‚îhere?‚They‚îare‚îreally‚îin‚îSYS,‚but‚îI‚îthink‚îI'm‚îgoing  to‚îdocument‚îthem‚îas‚îTV:]‚î  "  tv:%draw-char‚font‚char‚x‚y‚alu-function‚sheet Draws‚the‚specied‚character‚in‚the‚specied‚font‚at‚the‚specied‚coordinates‚in‚the specied‚îsheet,‚using‚îthe‚îspecied‚îalu‚îfunction.‚Does‚înot‚îdeal‚îwith‚îwide-raster‚îfonts.‚  "  tv:%draw-rectangle‚width‚height‚x‚y‚alu-function‚sheet Makes‚a‚rectangle‚of‚all‚one‚bits,‚with‚dimensions‚width‚by‚height‚,‚and‚merges‚it‚into the‚sheet‚using‚alu-function‚,‚with‚its‚upper-left‚corner‚positioned‚at‚the‚specied coordinates.‚This‚îis‚îused‚îfor‚îerasing,‚complementing,‚and‚îborder-drawing.‚  "  tv:%draw-line‚x1‚y1‚x2‚y2‚alu-function‚sheet Draws‚a‚line‚between‚the‚two‚points‚on‚the‚sheet,‚merging‚the‚bits‚of‚the‚line‚in‚with the‚îspecied‚îalu‚îfunction.‚  "  %draw-triangle‚x1‚y1‚x2‚y2‚x3‚y3‚alu-function‚sheet Makes‚a‚triangle‚of‚all‚one‚bits,‚with‚its‚three‚corners‚at‚the‚three‚specied‚points‚on the‚îsheet,‚and‚îmerges‚îit‚îinto‚îthe‚îsheet‚îusing‚îalu-function‚.‚ " PThese‚îfunctions‚îare‚înot‚really‚in‚microcode,‚but‚they‚are‚equally‚as‚primitive.‚They‚are‚to  be‚îcalled‚îinside‚îa‚îtv:prepare-sheet.‚ "‡"#  DSK:LMWIND;SHEET 9 E20-AUG-80î "‡"A  New Window System q7 x[Random Utilities] "`  tv:%draw-rectangle-clipped‚width‚height‚x‚y‚alu-function‚sheet This‚is‚like‚tv:%draw-rectangle‚except‚that‚portions‚of‚the‚rectangle‚that‚lie‚outside‚the sheet‚îare‚înot‚îdrawn‚î(tv:%draw-rectangle‚îwould‚îgive‚îan‚îerror).‚  "  tv:draw-rectangle-inside-clipped‚width‚height‚x‚y‚alu-function‚sheet This‚is‚like‚tv:%draw-rectangle‚except‚that‚the‚coordinates‚x‚and‚y‚are‚inside- coordinates,‚and‚only‚portions‚of‚the‚rectangle‚that‚lie‚inside‚the‚sheet's‚margins‚are drawn.‚  "@  1.5 [Random Utilities]  "  tv:sheet-calculate-offsets‚of-sheet‚&optional‚in-sheet Returns‚two‚values,‚the‚X‚and‚Y‚oset‚which‚added‚to‚a‚coordinate‚in‚of-sheet produces‚îa‚îcoordinate‚îin‚îin-sheet‚.‚An‚îerror‚occurs‚if‚the‚in-sheet‚is‚not‚in‚the‚transitive closure‚of‚superiors‚of‚of-sheet‚.‚If‚in-sheet‚is‚not‚supplied,‚it‚defaults‚to‚tv:default- screen.‚  "  tv:sheet-me-or-my-kid-p‚sheet‚me Returns‚ît‚îif‚îme‚îis‚îin‚îthe‚îtransitive‚îclosure‚îof‚îsuperiors‚îof‚îsheet‚,‚otherwise‚înil.‚  "  tv:sheet-get-screen‚sheet Returns‚îthe‚îscreen‚îcontaining‚îsheet‚.‚  "  tv:map-over-exposed-sheets‚function  "@  1.6 Character Display " [These‚îhaven't‚îbeen‚îsorted‚îinto‚îreasonable‚îorder‚îyet.]‚î  "  tv:sheet-tab‚sheet Do‚îa‚îhorizontal‚îtab‚îon‚îsheet‚.‚  "  tv:sheet-set-font‚sheet‚font Set‚îthe‚îsheet's‚îcurrent‚îfont.‚  "  tv:sheet-set-cursorpos‚sheet‚x‚y Set‚îthe‚îposition‚îwhere‚îthe‚înext‚îcharacter‚îwill‚îbe‚îdisplayed,‚in‚îraster‚îunits‚îrelative‚îto‚the inside‚top-left‚corner‚of‚the‚sheet.‚This‚is‚the‚position‚of‚the‚top-left‚corner‚of‚the character,‚except‚îfor‚îbaseline-adjustment.‚ "‡"o  DSK:LMWIND;SHEET 9 E20-AUG-80î "‡"A  New Window System q8 ~Character Display "`  tv:sheet-read-cursorpos‚sheet Returns‚îtwo‚îvalues,‚x‚îand‚îy‚.‚This‚îis‚îthe‚îopposite‚îof‚îtv:sheet-set-cursorpos.‚  "  tv:sheet-home‚sheet Set‚îthe‚îposition‚îwhere‚îthe‚înext‚îcharacter‚îwill‚îbe‚îdisplayed‚îto‚îthe‚îinside‚îtop-left‚îcorner.‚  "  sheet-crlf‚sheet Advance‚îto‚îthe‚îbeginning‚îof‚îthe‚înext‚îline,‚and‚îerase‚îthat‚îline.‚  "  sheet-space‚sheet Advance‚îthe‚îcursor‚îone‚îcharacter‚îposition.‚  "  sheet-backspace Move‚îthe‚îcursor‚îleft‚îone‚îcharacter‚îposition,‚sticking‚îat‚îthe‚îbeginning‚îof‚îthe‚îline.‚  "  sheet-clear-char‚sheet Erase‚îthe‚îcharacter‚îposition‚îunder‚îthe‚îcursor.‚  "  sheet-clear-eol‚sheet Erase‚îa‚îrectangle‚îfrom‚îthe‚îcursor‚îto‚îthe‚îinside‚îright‚îedge,‚the‚îheight‚îof‚îa‚îline.‚  "  sheet-clear-eof‚sheet Erase‚îfrom‚îthe‚îcursor‚îto‚îthe‚îinside‚îbottom‚îof‚îthe‚îsheet.‚  "  sheet-clear‚sheet‚&optional‚margins-p Erase‚the‚whole‚of‚the‚sheet,‚and‚home‚its‚cursor.‚If‚margins-p‚is‚nil,‚only‚erase‚the inside‚îof‚îthe‚îwindow;‚if‚îit‚îis‚ît,‚also‚îerase‚îthe‚îmargins.‚  "  sheet-home-down‚sheet Move‚îthe‚îcursor‚îto‚îthe‚îleft‚îedge‚îof‚îthe‚îlowest‚îlegal‚îplace‚îon‚îthe‚îsheet.‚  "  sheet-insert-line‚sheet‚&optional‚(line-count‚1) Insert‚îblank‚îlines‚îat‚îthe‚îcursor.‚ " [I‚îdidn't‚îget‚îany‚îrather‚îthrough‚îSHWARM‚îthan‚îthis.‚ "‡"‡"‡"A  DSK:LMWIND;SHEET 9 E20-AUG-80î "‡"A  New Window System q9 Function Index "` ZFunction Index  "d  %draw-triangle l.  . ,. L. l.  . ,. L. l.  . ,.6 tv:sheet-more-ag . ". B. b. . ". B. b. . ".3  sheet-backspace l.  . ,. L. l.  . ,. L. l.  . ,.8 tv:sheet-name B. b. . ". B. b. . ". B. b. . ".2  sheet-clear ,. L. l.  . ,. L. l.  . ,. L. l.  . ,.8 tv:sheet-old-screen-array B. b. . ". B. b. . ".2  sheet-clear-char l.  . ,. L. l.  . ,. L. l.  . ,.8 tv:sheet-output-held-p ". B. b. . ". B. b. . ".4  sheet-clear-eof L. l.  . ,. L. l.  . ,. L. l.  . ,.8 tv:sheet-output-hold-ag B. b. . ". B. b. . ".3  sheet-clear-eol L. l.  . ,. L. l.  . ,. L. l.  . ,.8 tv:sheet-read-cursorpos B. b. . ". B. b. . ".8  sheet-crlf  . ,. L. l.  . ,. L. l.  . ,. L. l.  . ,.8 tv:sheet-right-margin-character-ag B. b. . ".3  sheet-home-down  . ,. L. l.  . ,. L. l.  . ,.8 tv:sheet-screen-array ". B. b. . ". B. b. . ".1  sheet-insert-line l.  . ,. L. l.  . ,. L. l.  . ,.8 tv:sheet-set-cursorpos ". B. b. . ". B. b. . ".7  sheet-space ,. L. l.  . ,. L. l.  . ,. L. l.  . ,.8 tv:sheet-set-font b. . ". B. b. . ". B. b. . ".7  tv:%draw-char L. l.  . ,. L. l.  . ,. L. l.  . ,.6 tv:sheet-superior b. . ". B. b. . ". B. b. . ".2  tv:%draw-line L. l.  . ,. L. l.  . ,. L. l.  . ,.6 tv:sheet-superior-screen-array . ". B. b. . ".4  tv:%draw-rectangle  . ,. L. l.  . ,. L. l.  . ,.6 tv:sheet-tab ". B. b. . ". B. b. . ". B. b. . ".7  tv:%draw-rectangle-clipped l.  . ,. L. l.  . ,.7 tv:sheet-temporary-p ". B. b. . ". B. b. . ".3  tv:delaying-screen-management ,. L. l.  . ,.5 tv:sheet-truncate-line-out-ag . ". B. b. . ".3  tv:draw-rectangle-inside-clipped ,. L. l.  . ,.7 tv:window-bind b. . ". B. b. . ". B. b. . ".5  tv:lock-sheet L. l.  . ,. L. l.  . ,. L. l.  . ,.4 tv:window-call B. b. . ". B. b. . ". B. b. . ".5  tv:map-over-exposed-sheets l.  . ,. L. l.  . ,.7 tv:with-mouse-grabbed B. b. . ". B. b. . ".6  tv:prepare-sheet l.  . ,. L. l.  . ,. L. l.  . ,.4 tv:without-screen-management . ". B. b. . ".6  tv:sheet-bit-array l.  . ,. L. l.  . ,. L. l.  . ,.2  tv:sheet-calculate-osets L. l.  . ,. L. l.  . ,.7  tv:sheet-end-line-ag ,. L. l.  . ,. L. l.  . ,.3  tv:sheet-end-page-ag ,. L. l.  . ,. L. l.  . ,.3  tv:sheet-exceptions  . ,. L. l.  . ,. L. l.  . ,.2  tv:sheet-exposed-inferiors L. l.  . ,. L. l.  . ,.2  tv:sheet-ags L. l.  . ,. L. l.  . ,. L. l.  . ,.2  tv:sheet-force-access. ,. L. l.  . ,. L. l.  . ,.4  tv:sheet-get-screen  . ,. L. l.  . ,. L. l.  . ,.7  tv:sheet-home L. l.  . ,. L. l.  . ,. L. l.  . ,.8  tv:sheet-inferiors l.  . ,. L. l.  . ,. L. l.  . ,.2  tv:sheet-inside-bottom ,. L. l.  . ,. L. l.  . ,.3  tv:sheet-inside-height ,. L. l.  . ,. L. l.  . ,.3  tv:sheet-inside-left  . ,. L. l.  . ,. L. l.  . ,.3  tv:sheet-inside-right  . ,. L. l.  . ,. L. l.  . ,.3  tv:sheet-inside-top  . ,. L. l.  . ,. L. l.  . ,.3  tv:sheet-inside-width ,. L. l.  . ,. L. l.  . ,.3  tv:sheet-locations-per-line l.  . ,. L. l.  . ,.1  tv:sheet-lock L. l.  . ,. L. l.  . ,. L. l.  . ,.2  tv:sheet-lock-count  . ,. L. l.  . ,. L. l.  . ,.2  tv:sheet-me-or-my-kid-p L. l.  . ,. L. l.  . ,.7 "*  E20-AUG-80î "‡"A  New Window System q1 Table of Contents "` >Table of Contents "d  1. Sheets ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ".1  1.1 Components of and Attributes B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ".1  1.2 Sheet Special Forms b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ".4  1.3 [Somebody and the Somethings] b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ".5  1.4 Microcode Primitives b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ".6  1.5 [Random Utilities] B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ".7  1.6 Character Display B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ".7 "  Function Index b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ". B. b. . ".9 "‡"‡"‡"‡"‡"‡"‡"‡"‡"  E20-AUG-80î