General description of an elevated area. Elevations are mainly used
to describe the edges of dialog_item
objects. Elevations are reusable named objects. In its most simple form,
an
elevation object is
simply created from its elevation<-height:
new(X, elevation(1))
describes a elevation<-kind:
3d elevation suitable for a colour environment.
Elevations come in two flavours: elevation<-kind:
3d will paint a hilited edge on the top and left sides of the object and
a reduced edge on the bottom and right sides. By default these colours
are computed from the context background colour using
colour<-hilite
and colour<-reduce.
A elevation<-kind:
shadow elevation is designed for monochrome displays. It will paint a
shadow at the bottom and right side of the objects to simulate the
object elevated above the surface.
|colour|pixmap]<-relief
and elevation<-shadow.<-relief
colour and the bottom- and right sides using the
elevation<-shadow
colour. elevation<-kind shadow
will paint a shadow image at the bottom-right side of the object.|int*<-name
are stored in the table @elevations. elevation<-convert
will convert elevation identifiers to elevation
objects.|pixmap]light side. When @default,
the
elevation object
will invoke colour<-hilite
using the current background. See also elevation<-shadow.|pixmap]<-reduce’on the current
background colour.
|int]*,
height=[int], colour=[{hilited,reduced}|colour|pixmap],
relief=[colour|pixmap], shadow=[colour|pixmap],
kind=[{3d,shadow}], background=[{reduced}|colour|pixmap]<-name
and description parameters. In most cases the user will create an elevation
object simply from its elevation<-height:
?- new(X, elevation(1)).
This will create a default elevation object. See the various attributes for the interpretation of the default values.
<-name
is not @nil,
delete this elevation from the reuse table @elevations.
|int]*,
height=[int], colour=[{hilited,reduced}|colour|pixmap],
relief=[colour|pixmap], shadow=[colour|pixmap],
kind=[{3d,shadow}], background=[{reduced}|colour|pixmap] -> elevation|int -> elevation<-convert
and elevation<-lookup
methods realise reuse of elevation
objects from the @elevations
table.->initialise),
attributes of named elevation
objects cannot be modified. This method returns a new elevation
object with the requested attribute modified if the elevation<-name
is not @nil
and just modifies the attribute otherwise.