Oberon ||
Library ||
Module Index ||
Search Engine ||
Definition ||
Module
Ulm's Oberon Library:
TermAttributes
NAME
TermAttributes - support of display attributes on ASCII terminals
SYNOPSIS
(* attributes *)
CONST standout = 0;
CONST underline = 1;
CONST reverse = 2;
CONST blink = 3;
CONST dim = 4;
CONST bold = 5;
CONST attributes = 6;
(* errorcodes *)
CONST unknownAttribute = 0;
CONST notSupported = 1;
CONST errorcodes = 2;
TYPE AttributeSet = SET; (* of attributes *)
TYPE SetProc = PROCEDURE (s: Streams.Stream; atts: AttributeSet);
TYPE Interface = POINTER TO InterfaceRec;
TYPE InterfaceRec =
RECORD
(Objects.ObjectRec)
set: SetProc;
END;
TYPE ErrorEvent = POINTER TO ErrorEventRec;
TYPE ErrorEventRec =
RECORD
(Events.EventRec)
errorcode: SHORTINT;
END;
PROCEDURE Init(s: Streams.Stream; available: AttributeSet; if: Interface);
PROCEDURE Set(s: Streams.Stream; attributes: AttributeSet);
PROCEDURE Current(s: Streams.Stream): AttributeSet;
PROCEDURE Available(s: Streams.Stream): AttributeSet;
DESCRIPTION
TermAttributes
adds support of display attributes on ASCII terminals. Display attributes are
used on character-based displays to highlight selected characters when they
appear on the screen. More than one attribute can be active at the same
time. Following attributes are supported by the abstraction:
- standout
-
standout mode is the standard mode to highlight selected characters. On many
terminals it's a combination of one or more of the other attributes.
- underline
-
underline character
- reverse
-
reverse fore- and background colour of character
- blink
-
make character blink at a certain frequency
- dim
-
draw character with less intensity
- bold
-
draw character bold or with more intensity
Init
has to be called by the underlying terminal implementation
with the interface specified by if and the available
attributes in set.
Set
makes attributes the active set.
Current
returns the set of attributes currently in use.
Available
returns the set of available attributes.
DIAGNOSTICS
Errors are converted to events of type error which are passed to
RelatedEvents for further handling. Following errorcodes are currently
implemented:
- unknownAttribute
-
an attribute to be set with
Set
is not supported by the terminal.
- notSupported
-
the terminal does not support attributes.
SEE ALSO
- Streams
-
abstraction for byte oriented input and output
- Terminals
-
abstraction for terminals
AUTHOR
Ralf Beck
Edited by: rbeck, last change: 1996/01/09, revision: 1.6, converted to HTML: 1997/04/28
Oberon ||
Library ||
Module Index ||
Search Engine ||
Definition ||
Module