REF XConstants A.Schoter, August 1991 COPYRIGHT University of Sussex 1991. All Rights Reserved. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<< REF X CONSTANTS >>>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<< >>>>>>>>>>>>>>>>>>>>>> <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< This REF file contains details of various constants and structures defined by Xlib and used by various libraries. --------------------- 1 List of procedures --------------------- The procedures below are made available by doing: uses xlib, XConstants; Xlib - C Language X Interface, MIT X Consortium Standard, X Version 11, Release 4 Copyright (C) 1985, 1986, 1987, 1988, 1989 Massachusetts Institute of Technology, Cambridge, Massachusetts, and Digital Equipment Corporation, Maynard, Massachusetts. Display [typedef] This structure contains display specific data. typedef struct _XDisplay { XExtData *ext_data; struct _XDisplay *next; int fd; int lock; int proto_major_version; int proto_minor_version; char *vendor; long resource_base; long resource_mask; long resource_id; int resource_shift; XID (*resource_alloc)(); int byte_order; int bitmap_unit; int bitmap_pad; int bitmap_bit_order; int nformats; ScreenFormat *pixmap_format; int vnumber; int release; struct _XSQEvent *head, *tail; int qlen; unsigned long last_request_read; unsigned long request; char *last_req; char *buffer; char *bufptr; char *bufmax; unsigned max_request_size; struct _XrmHashBucketRec *db; int (*synchandler)(); char *display_name; int default_screen; int nscreens; Screen *screens; int motion_buffer; Window current; int min_keycode; int max_keycode; KeySym *keysyms; XModifierKeymap *modifiermap; int keysyms_per_keycode; char *xdefaults; char *scratch_buffer; unsigned long scratch_length; int ext_number; _XExtension *ext_procs; Bool (*event_vec[128])(); Status (*wire_vec[128])(); } Display; ext_data is a hook for extensions to hang on; next is the next open Display in the list; fd is a network socket; lock is a flag for determining whether someone is in a critical section; proto_major_version and proto_minor_version are the major and minor versions of the server's X protocal respectively; vendor is the name of the vendor of the hardware; resource_mask is a bit mask for resource ID; resource_id is the allocator current ID; resource_shift is the allocator shift to correct bits; resource_alloc is the allocator function; byte_order is the screen byte order (LSBFirst or MSBFirst); bitmap_unit specifies the padding and data requirements; bitmap_pad specifies the padding requiremnts for bitmaps; bitmap_bit_order specifies LeastSignificant of MostSignificant; nformats specifies the number of pixmap formats in the list; pixmap_format is the list of pixmap formats; vnumber is Xlib's X protocal version number; release is the release version of the server; head and tail specify the input event queue and qlen specifies the length of the queue; last_request_read is the sequence number of the last request read and request is the sequence number of the last request; last_req is either the beginning of the last request or a dummy; buffer is the start address of the output buffer, bufptr is the index pointer into the output buffer, and bufmax is the maximum address of the output buffer+1; max_request_size is the maximuum number of 32 bit words in a request; synchandler is the synchronization handler; display_name is the "host:display" string used on this connection; default_screen is the defaut screen for operations, nscreen is the numerb of screen on this server, and screens is a pointer to the list of screen; motion_buffer is the size of the motion buffer; current is a window XID used internally for Keymap notify; min_keycode and max_keycode are the minimum and maximum defined keycodes; keysyms are the keysyms of the server; modifiermap is the modifier keymap for the server; keysyms_per_keycode is the number of rows; xdefaults contains the defaults of the server; scratch_buffer is a place to hang a scratch buffer, and scratch_length is the length of the scratch buffer; ext_number is the extension number of the display; ext_procs are the extensions initialized on the display. event_vec is a vector for wire to event; and wire_vec is a vector fpr event to wire. These can be fixed size as the protocol defines how much address space is available. _XGC [typedef] All the Xlib routines use this data structure to refer to graphics contexts. typedef struct _XGC { XExtData * ext_data; GContext gid; Bool rects; Bool dashes; unsigned long dirty; XGCValues values; } * GC; ext_data is a hook to hang extension data onto; gid is the protocal ID for the graphics context; rects is TRUE if clipmask is a list of rectangles; dashes is TRUE is dash-list is really a list; dirty is a cashe for dirty bits; values is a shadow structure of values - see REF * XGCValues. Screen [typedef] This structure contains information about the screen. typedef struct { XExtData *ext_data; struct _XDisplay *display; Window root; int width, height; int mwidth, mheight; int ndepths; Depth *depths; int root_depth; Visual *root_visual; GC default_gc; Colormap cmap; unsigned long white_pixel; unsigned long black_pixel; int max_maps, min_maps; int backing_store; Bool save_unders; long root_input_mask; } Screen; ext_data is a hook to hang extension data on; _XDisplay is a back pointer to the display structure, root is the ID of the root window; width and height are the dimensions of the screen in pixels, and mwidth and mheight are the dimensions of the screen in millimeters; ndepths are the number of possible depths and depths is a list of allowable depths for the screen; root_depth is the number of bits per pixel; default_gc is the graphics context for the root visual; cmap is the default colormap; white_pixel and black_pixel are the pixel values for black and white; max_maps and min_maps are the maximum and minimum color maps; backing_store is a flag determining 'Never', 'WhenMapped' and 'Aways' modes; root_input_mask is the initial root input mask. Visual [typedef] This structure contains information about the possible colormappings. typedef struct { XExtData *ext_data; VisualID visualid; int class; unsigned long red_mask, green_mask, blue_mask; int bits_per_rgb; int map_entries; } Visual; ext_data is a hook for extension data to be hung on, VisualID is the ID of the given visual, class is the class of the screen (whether monochrome etc), bits_per_rgb is log base 2 of the number of distinct color values, and map_entires is the number of colormap entries. XGCValues [typedef] This data structure specifies the settings for a graphics context. typedef struct { int function; unsigned long plane_mask; unsigned long foreground; unsigned long background; int line_width; int line_style; int cap_style; int join_style; int fill_style; int fill_rule; int arc_mode; Pixmap tile; Pixmap stipple; int ts_x_origin; int ts_y_origin; Font font; int subwindow_mode; Bool graphics_exposures; int clip_x_origin; int clip_y_origin; Pixmap clip_mask; int dash_offset; char dashes; } XGCValues; function is the logical operation to be performed when drawing; plane_mask is the mask applied to the plane; foreground and background are the pixel values of the foreground and background respectively; line_width is the width that a line will be drawn; line_style specifies one of LineSolid, LineOnOffDash or LineDoubleDash; cap_style specifies one of CapNotLast, CapButt, CapRound, or CapProjecting; join_style specifies one of JoinMiter, JoinRound or JoinBevel; fill_style specifies one of FillSolid, FillTiled, FillStipled or FillOpaqueStippled; fill_rule specifies one of EvenOddRule or WindingRule; arc_mode specifies one of ArcChord or ArcPieSlice; tile specifies the tile pixmap for tiling operations; stpple specifies a 1 plane pixmap for stipple operations; ts_x_origin and ts_y_origin specify the offset for tile or stipple operations; font specifies the default font for test operations; subwindow_mode is one of ClipByChildren or IncludeInferiors; graphics_exposure specifies whether exposures should be generated; clip_x_origin and clip_y_origin specify the origin for clipping; clip_mask is used for bitmap clipping; dash_offset specifies patterned/dashed line information. XModifierKeymap [typedef] This data structure is used by the procedures XSetModifierMapping and XGetModifierMapping. See REF * XKeyboard for details. typedef struct { int max_keypermod; KeyCode *modifiermap; } XModifierKeymap; max_keypermod is the server's maximum number of keys per modifier; modifiermap is an 8 by max_keypermod array of modifiers. --- C.x/x/pop/ref/XConstants --- Copyright University of Sussex 1991. All rights reserved.