Next Prev Up

# 1.6 Data Types

The following are some data type definitions that are commonly used in CLX function definitions.

alist | (key-type-and-name datum-type-and-name) 'list | Type

| alist defines an association list. An association list is a sequence, containing zero or more repetitions of the given elements with each of the elements expressed as (type name).

angle | `(number ,(* -2pi) ,(* 2pi)) | Type

| angle defines an angle in units of radians and is bounded by (-2%pi;) and (2%pi;). Note that we are explicitly using a different angle representation than what is actually transmitted in the protocol.

arc-seq | '(repeat-seq (int16 x) (int16 y ) (card16 width) ( card16 height) (angle angle1 ) (angle angle2)) | Type

| arc-seq defines a six-tuple sequence of the form (x, y, width, height, angle1, angle2). The points x and y are signed, 16-bit quantities with a range from -32,768 to 32,767. The width and height values are unsigned, 16-bit quantities and range from 0 to 65,535. angle1 and angle2 are in units of radians, and bounded by (-2%pi;) and (2%pi;).

array-index | `(integer 0 , array-dimension-limit) | Type

| array-index defines a type which is a subtype of the integers and can be used to describe all variables that can be array indices. The range is inclusive because start and end array index specifiers can be one (1) past the end.

bit-gravity | '`(` member gravity*) | Type

| A keyword that specifies which region of a window should be retained when the window is resized. gravity -- One of the following: :center :north :south :static :east :north-east :south-east :west :forget :north-west :south-west If a window is reconfigured without changing its inside width or height, then the contents of the window moves with the window and are not lost. Otherwise, the contents of a resized window are either moved or lost, depending on its bit-gravity attribute. See window-bit-gravity, in paragraph 4.3, Window Attributes, for additional information.

bitmap | '(array bit (* *)) | Type

| Specifies a two-dimensional array of bits.

bitmap-format |  | Structure

| A structure that describes the storage format of a bitmap. The bitmap-format structure contains slots for unit, pad, and lsb-first-p. The unit member indicates the unit of increments used to maintain the bitmap data. The units available for use are 8, 16, or 32 bits. The pad member indicates how many bits are needed to pad the left edge of the scan-line. The lsb-first-p member is a predicate which indicates the ordering of bits with the bitmap unit.

unit |  | Slot of bitmap-format

| Type: (member 8 16 32). The size of a contiguous grouping of bits, which can be 8, 16, or 32. The default is 8.

pad |  | Slot of bitmap-format

| Type: (member 8 16 32). The number of bits to left-pad the scan-line, which can be 8, 16, or 32. The default is 8.

lsb-first-p |  | Slot of bitmap-format

| Type: boolean. A predicate indicating whether the least significant bit comes first (true) or not (nil).

boolean | '(or nil ( not nil)) | Type

| boolean defines a type which is all inclusive. It is used for variables that can take on a true (non-nil) or false (nil) value.

boole-constant | `(member value *) | Type

| boole-constant defines a type that is a set of the values associated with the 16 boolean operation-code constants for the Common Lisp language. It is used for the set of allowed source and destination combination functions in a graphics context. value -- One of the following: boole-1 boole-c1 boole-nand boole-xor boole-2 boole-c2 boole-nor boole-and boole-clr boole-orc1 boole-andc1 boole-eqv boole-orc2 boole-andc2 boole-ior boole-set

card8 | '(unsigned-byte 8) | Type

| An unsigned integer value that is a maximum of eight bits long. This gives a number of this type a range from 0 to 255.

card16 | '(unsigned-byte 16) | Type

| An unsigned integer value that is a maximum of 16 bits long. This gives a number of this type a range from 0 to 65,535.

card29 | '(unsigned-byte 29) | Type

| An unsigned integer value that is a maximum of 29 bits long. This gives a number of this type a range from 0 to 536,870,911.

card32 | '(unsigned-byte 32) | Type

| An unsigned integer value that is a maximum of 32 bits long. This gives a number of this type a range from 0 to 4,294,967,295.

color | '(satisfies color-p) | Type

| A color. See paragraph 9.2, Color Functions, for additional information.

colormap | '(satisfies colormap-p) | Type

| A colormap. See paragraph 9.3, Colormap Functions, for additional information.

cursor | '(satisfies cursor-p) | Type

| A cursor. See Section 10, Cursors, for additional information.

device-event-mask | '(or mask32 ( list device-event-mask-class)) | Type

| Provides a way to specify a set of bits for an event bitmask. Two ways of specifying the bits are allowed: by setting the event bits in a 32 bit mask, or by listing the keyword names of the device related event bits in a list.

device-event-mask-class | '`(` member event*) | Type

| A keyword name, for a device related event, that corresponds to a particular bit in an event bitmask. The set of names is a subset of the names in the type event-mask-class . event -- One of the following: :button-1-motion :button-motion :button-2-motion :button-press :button-3-motion :key-press :button-4-motion :key-release :button-5-motion :pointer-motion

display | '(satisfies display-p) | Type

| A connection to an X server. See Section 2, Displays, for additional information.

drawable | '(or window pixmap ) | Type

| Both windows and pixmaps can be used as sources and destinations in graphics operations. windows and pixmaps together are known as drawables. However, an :input-only window cannot be used as a source or destination in a graphics operation.

draw-direction | '(member :left-to-right :right-to-left) | Type

| Defines a list of rotation directions for drawing arcs and fonts. draw-direction can have the values of :left-to-right or :right-to-left.

error-key | '(member error*) | Type

| Defines a list of all predefined errors. All errors (synchronous and asynchronous) are processed by calling an error handler in the display. The handler is called with the display as the first argument and the error-key as its second argument. error -- One of the following: :access :drawable :implementation :value :alloc :font :length :window :atom :gcontext :match :colormap :id-choice :name :cursor :illegal-request :pixmap

event-key | '(member event-type*) | Type

| Defines a list that specifies all predefined event-types. Clients are informed of information asynchronously by means of events. These events can be either asynchronously generated from devices or generated as side effects of client requests. event-type -- One of the following: :button-press :exposure :motion-notify :button-release :focus-in :no-exposure :circulate-notify :focus-out :property-notify :circulate-request :graphics-exposure :reparent-notify :client-message :gravity-notify :resize-request :colormap-notify :keymap-notify :selection-clear :configure-notify :key-press :selection-notify :configure-request :key-release :selection-request :create-notify :leave-notify :unmap-notify :destroy-notify :map-notify :visibility-notify :enter-notify :map-request

event-mask | '(or mask32 ( list event-mask-class)) | Type

| Provides a way to specify a set of bits for an event bitmask. Two ways of specifying the bits are allowed: by setting the event bits in a 32 bit mask, or by listing the keyword names of the event bits in a list.

event-mask-class | '`(` member event*) | Type

| The elements of the type event-mask-class are keyword names that correspond to a particular bit in an event bitmask. event -- One of the following: :button-1-motion :enter-window :pointer-motion-hint :button-2-motion :exposure :property-change :button-3-motion :focus-change :resize-redirect :button-4-motion :key-press :structure-notify :button-5-motion :key-release :substructure-notify :button-motion :keymap-state :substructure-redirect :button-press :leave-window :visibility-change :button-release :owner-grab-button :colormap-change :pointer-motion

make-event-keys | event-mask | Function

| event-mask An event mask (type mask32). Returns a list of event-mask-class keyword names for the event bits that are set in the specified event mask.

make-event-mask | &rest keys | Function

| keys event-mask-class keywords. Constructs an event mask from a set of event-mask-class keyword names. event-mask Type mask32.

font | '(satisfies font-p ) | Type

| A text font. See Section 8, Fonts and Characters, for additional information.

fontable | '(or stringable font) | Type

| A fontable is either a font object or the name of one of the fonts in the font database.

font-props | 'list | Type

| A list that contains alternating keywords and integers.

gcontext | '(satisfies gcontext-p) | Type

| A graphics context. See Section 5, Graphics Contexts, for additional information.

gcontext-key | '(member type*) | Type

| A list of predefined types for use in gcontext processing. Various information for graphics output is stored in a graphics context (GC or GContext), such as foreground pixel, background pixel, line width, clipping region, and so forth. type -- One of the following: :arc-mode :exposures :line-width :background :fill-rule :plane-mask :cap-style :fill-style :stipple :clip-mask :font :subwindow-mode :clip-x :foreground :tile :clip-y :function :ts-x :dash-offset :join-style :ts-y :dashes :line-style

grab-status | '(member grab-type*) | Type

| There are two kinds of grabs: active and passive. An active grab occurs when a single client grabs the keyboard and/or pointer explicitly. Clients can also grab a particular keyboard key or pointer button in a window. The grab activates when the key or button is actually pressed, and is called a passive grab. Passive grabs can be very convenient for implementing reliable pop-up menus. grab-type -- One of the following: :already-grabbed :frozen :invalid-time :not-viewable :success

image-depth | '(integer 0 32) | Type

| Used in determining the depth of a pixmap, window, or image. The value specifies the number of bits deep that a given pixel has within a given pixmap, window, or image.

index-size | '(member :default 8 16) | Type

| Used to control the element size of the destination buffer given to the translate function when drawing glyphs. If :default is specified, the size is based on the current font, if known; otherwise, 16 is used.

int8 | '(signed-byte 8) | Type

| A signed integer value that is a maximum of eight bits long. A number of this type can have a range from -128 to 127.

int16 | '(signed-byte 16) | Type

| A signed integer value that is a maximum of 16 bits long. A number of this type can have a range from -32,768 to 32,767.

int32 | '(signed-byte 32) | Type

| A signed integer value that is a maximum of 32 bits long. A number of this type can have a range from -2,147,483,648 to 2,147,483,647.

keysym | 'card32 | Type

| Used as an encoding of a symbol on a keycap on a keyboard. It is an unsigned integer value represented in a maximum of 32 bits long. A keysym type can have a range from 0 to 4,294,967,295.

mask16 | ' card16 | Type

| A positional bitmask that contains 16 boolean flags.

mask32 | ' card32 | Type

| A positional bitmask that contains 32 boolean flags.

modifier-key | '(member modifier*) | Type

| A keyword identifying one of the modifier keys on the keyboard device. modifier -- One of the following: :shift :mod-2 :lock :mod-3 :control :mod-4 :mod-1 :mod-5

modifier-mask | '(or ( member :any) mask16 (list modifier-key)) | Type

| A bitmask or list of keywords that specifies a set of modifier keys. The keyword :any is equivalent to any subset of modifier key.

pixarray | '(or ( array pixel (* *)) (array card16 (* *)) (array card8 (* *)) (array (unsigned-byte 4) (* *)) (array bit (* *))) | Type

| Specifies a two-dimensional array of pixels.

pixel | '(unsigned-byte 32) | Type

| An unsigned integer value that is a maximum of 32 bits long. This gives a pixel type a value range from 0 to 4,294,967,295. Useful values are dependent on the class of colormap being used.

pixmap | '(satisfies pixmap-p) | Type

| A pixmap. See paragraph 4.8, Pixmaps, for additional information.

pixmap-format |  | Structure

| A structure that describes the storage format of a pixmap. The pixmap-format structure contains slots for depth, bits-per-pixel, and scanline-pad. The depth member indicates the number of bit planes in the pixmap. The bits-per-pixel member indicates the number of bits used to represent a single pixel. For X, a pixel can be 1, 4, 8, 16, 24, or 32 bits wide. As for bitmap-format , the scanline-pad member indicates how many pixels are needed to pad the left edge of the scan-line.

depth |  | Slot of pixmap-format

| Type: image-depth. The number of bit planes in the pixmap.

bits-per-pixel |  | Slot of pixmap-format

| Type: (member 1 4 8 16 24 32). The number of consecutive bits used to encode a single pixel. The default is 8.

scanline-pad |  | Slot of pixmap-format

| Type: (member 8 16 32). The number of bits to left-pad the scan-line, which can be 8, 16, or 32. The default is 8.

point-seq | '(repeat-seq (int16 x) (int16 y)) | Type

| The point-seq type is used to define sequences of (x,y) pairs of points. The paired values are 16-bit, signed integer quantities. This gives the points in this type a range from -32,768 to 32,767.

pointer-event-mask | '(or mask32 ( list pointer-event-mask-class)) | Type

| Provides a way to specify a set of bits for an event bitmask. Two ways of specifying the bits are allowed: by setting the event bits in a 32 bit mask, or by listing the keyword names of the pointer related event bits in a list.

pointer-event-mask-class | '`(` member event*) | Type

| A keyword name, for a pointer related event, that corresponds to a particular bit in an event bitmask. The set of names is a subset of the names in the type event-mask-class . event -- One of the following: :button-1-motion :button-motion :leave-window :button-2-motion :button-press :pointer-motion :button-3-motion :button-release :pointer-motion-hint :button-4-motion :enter-window :button-5-motion :keymap-state

rect-seq | '(repeat-seq (int16 x) (int16 y) (card16 width ) (card16 height)) | Type

| rect-seq defines a four-tuple sequence of the form (x, y , width, height). The points x and y are signed, 16-bit quantities with a range from -32,768 to 32,767. The width and height values are unsigned, 16-bit quantities and range from 0 to 65,535.

repeat-seq | (&rest elts) 'sequence | Type

| A subtype used to define repeating sequences.

resource-id | 'card29 | Type

| A numeric identifier that is assigned by the server to a server resource object.

rgb-val | '(float 0.0 1.0) | Type

| An rgb-val is a floating-point value between 0 and 1 that specifies a saturation for a red, green, or blue additive primary. The 0 value indicates no saturation and 1 indicates full saturation.

screen | '(satisfies screen-p) | Type

| A display screen. See Section 3, Screens, for further information.

seg-seq | '(repeat-seq (int16 x1 ) (int16 y1 ) (int16 x2) (int16 y2)) | Type

| Defines sequences of (x1, y1, x2, y2 ) sets of points. The point values are 16-bit, signed integer quantities. This gives the points in this type a range from -32,768 to 32,767.

state-mask-key | '(or modifier-key (member button*) | Type

| A keyword identifying one of the display modifier keys or pointer buttons whose state is reported in device events. button -- One of the following: :button-1 :button-4 :button-2 :button-5 :button-3

make-state-keys | state-mask | Function

| state-mask A 16-bit mask of type mask16. Returns a list of state-mask-key symbols corresponding to the state-mask . A symbol belongs to the returned list if, and only if, the corresponding state-mask bit is 1. state-keywords Type list.

make-state-mask | &rest keys | Function

| keys A list of state-mask-key symbols. Returns a 16-bit mask representing the given state-mask-key symbols. The returned mask contains a 1 bit for each keyword. mask Type mask16.

stringable | '(or string symbol ) | Type

| Used for naming something. This type can be either a string or a symbol whose symbol-name is used as the string containing the name. The case of the characters in the string is ignored when comparing stringables.

timestamp | '(or null card32 ) | Type

| An encoding of a time. nil stands for the current time.

visual-info |  | Structure

| A structure that represents a visual type. The elements of this structure are id, class, red-mask, green-mask, blue-mask, bits-per-rgb, and colormap-entries.

id |  | Slot of visual-info

| Type: card29. A unique identification number.

class |  | Slot of visual-info

| Type: (member :direct-color :gray-scale :pseudo-color :static-color :static-gray :true-color). The class of the visual type.

red-mask, green-mask, blue-mask |  | Slots of visual-info

| Type: pixel. The red-mask, green-mask, and blue-mask elements are only meaningful for the :direct-color and :true-color classes. Each mask has one contiguous set of bits with no intersections.

bits-per-rgb |  | Slot of visual-info

| Type: card8. Specifies the log base 2 of the approximate number of distinct color values ( individually) of red, green, and blue. Actual RGB values are unsigned 16-bit numbers.

colormap-entries |  | Slot of visual-info

| Type: card16. Defines the number of available colormap entries in a newly created colormap. For :direct-color and :true-color , this is the size of an individual pixel subfield.

win-gravity | '`(` member gravity*) | Type

| A keyword that specifies how to reposition a window when its parent is resized. gravity -- One of the following: :center :north-west :static :east :south :unmap :north :south-east :west :north-east :south-west If a parent window is reconfigured without changing its inside width or height, then all child windows move with the parent and are not changed. Otherwise, each child of the resized parent is moved, depending on the child's gravity attribute. See window-gravity, in paragraph 4.3, Window Attributes, for additional information.

window | '(satisfies window-p) | Type

| A window. See Section 4, Windows and Pixmaps, for additional information.

xatom | '(or string symbol ) | Type

| A name that has been assigned a corresponding unique ID by the server. xatoms are used to identify properties, selections, and types defined in the X server. An xatom can be either a string or symbol whose symbol-name is used as the xatom name. The case of the characters in the string are significant when comparing xatoms.

Next Prev Up

© 1988, 1989 Texas Instruments Incorporated
Conversion to HTML made by Gilbert Baumann.
Last build: Tue Dec 16 23:30:42 1997