Next Prev Up Top Contents Index

15.2 Extended Input Streams

In addition to the basic input stream protocol, CLIM defines an extended input stream protocol. This protocol extends the stream model to allow manipulation of non-character user gestures, such as pointer button presses. The extended input protocol provides the programmer with more control over input processing, including the options of specifying input wait timeouts and auxiliary input test functions.

extended-input-stream [Protocol Class]	

Summary: The protocol class for CLIM extended input streams. This is a subclass of input-stream . If you want to create a new class that behaves like an extended input stream, it should be a subclass of extended-input-stream . Subclasses of extended-input-stream must obey the extended input stream protocol.

extended-input-stream-p [Function]	

Arguments: object

Summary: Returns t if object is a CLIM extended input stream; otherwise, it returns nil .

:input-buffer

:pointer

:text-cursor

Summary: All subclasses of extended-input-stream must handle these initargs, which are used to specify, respectively, the input buffer, pointer, and text cursor for the extended input stream.

standard-extended-input-stream

Summary: This class provides an implementation of the CLIM extended input stream protocol based on CLIM's input kernel. The extended input stream maintains the state of the display's pointing devices (such as a mouse) in pointer objects associated with the stream. It defines a handle-event methods for keystroke and pointer motion and button press events and updates the pointer object state and queues the resulting events in a per-stream input buffer.

Members of this class are mutable.

15.2.1 The Extended Input Stream Protocol

15.2.2 Extended Input Stream Conditions


CommonLisp Interface Manager 2.0 User's Guide - 8 Aug 2003

Next Prev Up Top Contents Index