Next: Adding Specifications, Previous: Specifier Instancing, Up: Specifiers [Contents][Index]
There are various different types of specifiers. The type of a specifier controls what sorts of instantiators are valid, how an instantiator is instantiated, etc. Here is a list of built-in specifier types:
boolean
The valid instantiators are the symbols t
and nil
.
Instance objects are the same as instantiators so no special
instantiation function is needed.
integer
The valid instantiators are integers. Instance objects are the same as
instantiators so no special instantiation function is needed.
modeline-shadow-thickness
is an example of an integer specifier
(negative thicknesses indicate that the shadow is drawn recessed instead
of raised).
natnum
The valid instantiators are natnums (non-negative integers). Instance
objects are the same as instantiators so no special instantiation
function is needed. Natnum specifiers are used for dimension variables
such as top-toolbar-height
.
generic
All Lisp objects are valid instantiators. Instance objects are the same as instantiators so no special instantiation function is needed.
font
The valid instantiators are strings describing fonts or vectors indicating inheritance from the font of some face. Instance objects are font-instance objects, which are specific to a particular device. The instantiation method for font specifiers can fail, unlike for integer, natnum, boolean, and generic specifiers.
color
The valid instantiators are strings describing colors or vectors indicating inheritance from the foreground or background of some face. Instance objects are color-instance objects, which are specific to a particular device. The instantiation method for color specifiers can fail, as for font specifiers.
image
Images are perhaps the most complicated type of built-in specifier. The valid instantiators are strings (a filename, inline data for a pixmap, or text to be displayed in a text glyph) or vectors describing inline data of various sorts or indicating inheritance from the background-pixmap property of some face. Instance objects are either strings (for text images), image-instance objects (for pixmap images), or subwindow objects (for subwindow images). The instantiation method for image specifiers can fail, as for font and color specifiers.
face-boolean
The valid instantiators are the symbols t
and nil
and
vectors indicating inheritance from a boolean property of some face.
Specifiers of this sort are used for all of the built-in boolean
properties of faces. Instance objects are either the symbol t
or the symbol nil
.
toolbar
The valid instantiators are toolbar descriptors, which are lists of toolbar-button descriptors (each of which is a vector of two or four elements). See Toolbar, for more information.
Color and font instance objects can also be used in turn as instantiators for a new color or font instance object. Since these instance objects are device-specific, the instantiator can be used directly as the new instance object, but only if they are of the same device. If the devices differ, the base color or font of the instantiating object is effectively used instead as the instantiator.
See Faces and Window-System Objects, for more information on fonts, colors, and face-boolean specifiers. See Glyphs, for more information about image specifiers. See Toolbar, for more information on toolbar specifiers.
This function returns the type of specifier. The returned value
will be a symbol: one of integer
, boolean
, etc., as
listed in the above table.
Functions are also provided to query whether an object is a particular kind of specifier:
This function returns non-nil
if object is a boolean
specifier.
This function returns non-nil
if object is an integer
specifier.
This function returns non-nil
if object is a natnum
specifier.
This function returns non-nil
if object is a generic
specifier.
This function returns non-nil
if object is a face-boolean
specifier.
This function returns non-nil
if object is a toolbar
specifier.
This function returns non-nil
if object is a font
specifier.
This function returns non-nil
if object is a color
specifier.
This function returns non-nil
if object is an image
specifier.
Next: Adding Specifications, Previous: Specifier Instancing, Up: Specifiers [Contents][Index]