Page 135 Table of Contents Index Page 137
Chapters
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
A, B, C, D, E



CHAPTER 15. EXTENDED STREAM OUTPUT


15.3.1 Text Cursor Protocol

Many streams that maintain a text cursor display some visible indication of the text cursor. The
object that represents this display is (somewhat confusingly) also called a cursor.

=> cursor [Protocol Class]
The protocol class that corresponds to cursors. If you want to create a new class that behaves
like a cursor, it should be a subclass of cursor. Subclasses of cursor must obey the cursor
protocol. Members of this class are mutable.

=> cursorp object [Function]
Returns true if object is a cursor, otherwise returns false.

=> :sheet [Init Arg]
The :sheet initarg is used to specify the sheet with which the cursor is associated.

=> standard-text-cursor [Class]
The instantiable class that implements a text cursor. Typically, ports will further specialize this
class.

=> cursor-sheet cursor [Generic Function]
Returns the sheet with which the cursor cursor is associated.

=> cursor-position cursor [Generic Function]
Returns the x and y position of the cursor cursor as two values.

=> (setf* cursor-position) x y cursor [Generic Function]
Sets the x and y position of the cursor cursor to the specified position.

=> cursor-visibility cursor [Generic Function]
=> (setf cursor-visibility) visibility cursor [Generic Function]
Returns (or sets) the visibility of the cursor cursor. The visibility can be either :on (meaning
that the cursor will be visible at its current position), :off (meaning that the cursor is active,
but not visible at its current position), or nil (meaning that the cursor is to be deactivated).

=> display-cursor cursor state [Generic Function]
This is responsible for drawing or erasing the cursor cursor. If state is :draw, the cursor will be
drawn. Otherwise, if the state is :erase, the cursor will be erased.


Page 135 Table of Contents Index Page 137
Chapters
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
A, B, C, D, E