107 lines
3.5 KiB
Plaintext
107 lines
3.5 KiB
Plaintext
|
.\" Copyright (c) 1980, 1993
|
||
|
.\" The Regents of the University of California. All rights reserved.
|
||
|
.\"
|
||
|
.\" Redistribution and use in source and binary forms, with or without
|
||
|
.\" modification, are permitted provided that the following conditions
|
||
|
.\" are met:
|
||
|
.\" 1. Redistributions of source code must retain the above copyright
|
||
|
.\" notice, this list of conditions and the following disclaimer.
|
||
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
||
|
.\" notice, this list of conditions and the following disclaimer in the
|
||
|
.\" documentation and/or other materials provided with the distribution.
|
||
|
.\" 3. All advertising materials mentioning features or use of this software
|
||
|
.\" must display the following acknowledgement:
|
||
|
.\" This product includes software developed by the University of
|
||
|
.\" California, Berkeley and its contributors.
|
||
|
.\" 4. Neither the name of the University nor the names of its contributors
|
||
|
.\" may be used to endorse or promote products derived from this software
|
||
|
.\" without specific prior written permission.
|
||
|
.\"
|
||
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||
|
.\" SUCH DAMAGE.
|
||
|
.\"
|
||
|
.\" @(#)intro.0 8.1 (Berkeley) 6/4/93
|
||
|
.\"
|
||
|
.tp
|
||
|
.(l C
|
||
|
.ps 12
|
||
|
.ft B
|
||
|
Screen Updating and Cursor Movement Optimization:
|
||
|
.fl
|
||
|
A Library Package
|
||
|
.ft
|
||
|
.ps
|
||
|
.sp
|
||
|
.i "Kenneth C. R. C. Arnold"
|
||
|
.i "Elan Amir"
|
||
|
.sp
|
||
|
Computer Science Division
|
||
|
Department of Electrical Engineering and Computer Science
|
||
|
University of California, Berkeley
|
||
|
Berkeley, California 94720
|
||
|
.sp 3
|
||
|
.bi ABSTRACT
|
||
|
.sp 2
|
||
|
.)l
|
||
|
.(q
|
||
|
.pp
|
||
|
This document describes a package of C library functions
|
||
|
which allow the user to:
|
||
|
.ie t .ip \ \ \ \(bu
|
||
|
.el .ip 1)
|
||
|
update a screen with reasonable optimization,
|
||
|
.ie t .ip \ \ \ \(bu
|
||
|
.el .ip 2)
|
||
|
get input from the terminal
|
||
|
in a screen-oriented fashion,
|
||
|
and
|
||
|
.ie t .ip \ \ \ \(bu
|
||
|
.el .ip 3)
|
||
|
independent from the above, move the cursor optimally
|
||
|
from one point to another.
|
||
|
.pp
|
||
|
These routines all use the
|
||
|
\*(tc \*(db to describe the capabilities of the terminal.
|
||
|
.)q
|
||
|
.b Acknowledgements
|
||
|
.pp
|
||
|
This package would not exist
|
||
|
without the work of Bill Joy,
|
||
|
who,
|
||
|
in writing his editor,
|
||
|
created the capability to generally describe terminals,
|
||
|
wrote the routines which read this \*(db,
|
||
|
and, most importantly,
|
||
|
those which implement optimal cursor movement,
|
||
|
which routines I have simply lifted nearly intact.
|
||
|
Doug Merritt and Kurt Shoens also were extremely important,
|
||
|
as were both willing to waste time listening to me rant and rave.
|
||
|
The help and/or support of
|
||
|
Ken Abrams,
|
||
|
Alan Char,
|
||
|
Mark Horton,
|
||
|
and
|
||
|
Joe Kalash,
|
||
|
was, and is,
|
||
|
also greatly appreciated.
|
||
|
.i "Ken Arnold 16 April 1986"
|
||
|
.pp
|
||
|
The help and/or support of Kirk McKusick and Keith Bostic (public vi!)
|
||
|
was invaluable in bringing the package ``into the 90's'', which now
|
||
|
includes completely new data structures and screen refresh optimization
|
||
|
routines.
|
||
|
.i "Elan Amir 29 December 1992"
|
||
|
|
||
|
|
||
|
|
||
|
|