aboutsummaryrefslogtreecommitdiff
path: root/libX11/specs/libX11/AppD
diff options
context:
space:
mode:
Diffstat (limited to 'libX11/specs/libX11/AppD')
-rw-r--r--libX11/specs/libX11/AppD1183
1 files changed, 0 insertions, 1183 deletions
diff --git a/libX11/specs/libX11/AppD b/libX11/specs/libX11/AppD
deleted file mode 100644
index f96e06175..000000000
--- a/libX11/specs/libX11/AppD
+++ /dev/null
@@ -1,1183 +0,0 @@
-.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X Consortium
-.\"
-.\" Permission is hereby granted, free of charge, to any person obtaining
-.\" a copy of this software and associated documentation files (the
-.\" "Software"), to deal in the Software without restriction, including
-.\" without limitation the rights to use, copy, modify, merge, publish,
-.\" distribute, sublicense, and/or sell copies of the Software, and to
-.\" permit persons to whom the Software is furnished to do so, subject to
-.\" the following conditions:
-.\"
-.\" The above copyright notice and this permission notice shall be included
-.\" in all copies or substantial portions of the Software.
-.\"
-.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-.\" IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
-.\" OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
-.\" ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-.\" OTHER DEALINGS IN THE SOFTWARE.
-.\"
-.\" Except as contained in this notice, the name of the X Consortium shall
-.\" not be used in advertising or otherwise to promote the sale, use or
-.\" other dealings in this Software without prior written authorization
-.\" from the X Consortium.
-.\"
-.\" Copyright \(co 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
-.\" Digital Equipment Corporation
-.\"
-.\" Portions Copyright \(co 1990, 1991 by
-.\" Tektronix, Inc.
-.\"
-.\" Permission to use, copy, modify and distribute this documentation for
-.\" any purpose and without fee is hereby granted, provided that the above
-.\" copyright notice appears in all copies and that both that copyright notice
-.\" and this permission notice appear in all copies, and that the names of
-.\" Digital and Tektronix not be used in in advertising or publicity pertaining
-.\" to this documentation without specific, written prior permission.
-.\" Digital and Tektronix makes no representations about the suitability
-.\" of this documentation for any purpose.
-.\" It is provided ``as is'' without express or implied warranty.
-.\"
-\&
-.sp 1
-.ce 3
-\s+1\fBAppendix D\fP\s-1
-
-\s+1\fBCompatibility Functions\fP\s-1
-.sp 2
-.na
-.LP
-.XS
-Appendix D: Compatibility Functions
-.XE
-.LP
-The X Version 11 and X Version 10 functions discussed in this appendix
-are obsolete, have been superseded by newer X Version 11 functions,
-and are maintained for compatibility reasons only.
-.SH
-X Version 11 Compatibility Functions
-.LP
-You can use the X Version 11 compatibility functions to:
-.IP \(bu 5
-Set standard properties
-.IP \(bu 5
-Set and get window sizing hints
-.IP \(bu 5
-Set and get an
-.PN XStandardColormap
-structure
-.IP \(bu 5
-Parse window geometry
-.IP \(bu 5
-Get X environment defaults
-.SH
-Setting Standard Properties
-.LP
-To specify a minimum set of properties describing the simplest application,
-use
-.PN XSetStandardProperties .
-This function has been superseded by
-.PN XSetWMProperties
-and sets all or portions of the
-WM_NAME, WM_ICON_NAME, WM_HINTS, WM_COMMAND,
-and WM_NORMAL_HINTS properties.
-.IN "XSetStandardProperties" "" "@DEF@"
-.sM
-.FD 0
-XSetStandardProperties\^(\^\fIdisplay\fP, \fIw\fP, \fIwindow_name\fP, \fIicon_name\fP, \fIicon_pixmap\fP, \fIargv\fP, \fIargc\fP, \fIhints\fP\^)
-.br
- Display *\fIdisplay\fP\^;
-.br
- Window \fIw\fP\^;
-.br
- char *\fIwindow_name\fP\^;
-.br
- char *\fIicon_name\fP\^;
-.br
- Pixmap \fIicon_pixmap\fP\^;
-.br
- char **\fIargv\fP\^;
-.br
- int \fIargc\fP\^;
-.br
- XSizeHints *\fIhints\fP\^;
-.FN
-.IP \fIdisplay\fP 1i
-Specifies the connection to the X server.
-.IP \fIw\fP 1i
-Specifies the window.
-.IP \fIwindow_name\fP 1i
-Specifies the window name,
-which should be a null-terminated string.
-.IP \fIicon_name\fP 1i
-Specifies the icon name,
-which should be a null-terminated string.
-.IP \fIicon_pixmap\fP 1i
-Specifies the bitmap that is to be used for the icon or
-.PN None .
-.IP \fIargv\fP 1i
-Specifies the application's argument list.
-.IP \fIargc\fP 1i
-Specifies the number of arguments.
-.IP \fIhints\fP 1i
-Specifies a pointer to the size hints for the window in its normal state.
-.LP
-.eM
-The
-.PN XSetStandardProperties
-function provides a means by which simple applications set the
-most essential properties with a single call.
-.PN XSetStandardProperties
-should be used to give a window manager some information about
-your program's preferences.
-It should not be used by applications that need
-to communicate more information than is possible with
-.PN XSetStandardProperties .
-(Typically, argv is the argv array of your main program.)
-If the strings are not in the Host Portable Character Encoding,
-the result is implementation-dependent.
-.LP
-.PN XSetStandardProperties
-can generate
-.PN BadAlloc
-and
-.PN BadWindow
-errors.
-.SH
-Setting and Getting Window Sizing Hints
-.LP
-Xlib provides functions that you can use to set or get window sizing hints.
-The functions discussed in this section use the flags and the
-.PN XSizeHints
-structure, as defined in the
-.hN X11/Xutil.h
-header file and use the WM_NORMAL_HINTS property.
-.LP
-.sp
-To set the size hints for a given window in its normal state, use
-.PN XSetNormalHints .
-This function has been superseded by
-.PN XSetWMNormalHints .
-.IN "XSetNormalHints" "" "@DEF@"
-.sM
-.FD 0
-XSetNormalHints\^(\^\fIdisplay\fP, \fIw\fP, \fIhints\fP\^)
-.br
- Display *\fIdisplay\fP\^;
-.br
- Window \fIw\fP\^;
-.br
- XSizeHints *\fIhints\fP\^;
-.FN
-.IP \fIdisplay\fP 1i
-Specifies the connection to the X server.
-.IP \fIw\fP 1i
-Specifies the window.
-.IP \fIhints\fP 1i
-Specifies a pointer to the size hints for the window in its normal state.
-.LP
-.eM
-The
-.PN XSetNormalHints
-function sets the size hints structure for the specified window.
-Applications use
-.PN XSetNormalHints
-to inform the window manager of the size
-or position desirable for that window.
-In addition,
-an application that wants to move or resize itself should call
-.PN XSetNormalHints
-and specify its new desired location and size
-as well as making direct Xlib calls to move or resize.
-This is because window managers may ignore redirected
-configure requests, but they pay attention to property changes.
-.LP
-To set size hints,
-an application not only must assign values to the appropriate members
-in the hints structure but also must set the flags member of the structure
-to indicate which information is present and where it came from.
-A call to
-.PN XSetNormalHints
-is meaningless, unless the flags member is set to indicate which members of
-the structure have been assigned values.
-.LP
-.PN XSetNormalHints
-can generate
-.PN BadAlloc
-and
-.PN BadWindow
-errors.
-.LP
-.sp
-To return the size hints for a window in its normal state, use
-.PN XGetNormalHints .
-This function has been superseded by
-.PN XGetWMNormalHints .
-.IN "XGetNormalHints" "" "@DEF@"
-.sM
-.FD 0
-Status XGetNormalHints\^(\^\fIdisplay\fP, \fIw\fP, \fIhints_return\fP\^)
-.br
- Display *\fIdisplay\fP\^;
-.br
- Window \fIw\fP\^;
-.br
- XSizeHints *\fIhints_return\fP\^;
-.FN
-.IP \fIdisplay\fP 1i
-Specifies the connection to the X server.
-.IP \fIw\fP 1i
-Specifies the window.
-.IP \fIhints_return\fP 1i
-Returns the size hints for the window in its normal state.
-.LP
-.eM
-The
-.PN XGetNormalHints
-function returns the size hints for a window in its normal state.
-It returns a nonzero status if it succeeds or zero if
-the application specified no normal size hints for this window.
-.LP
-.PN XGetNormalHints
-can generate a
-.PN BadWindow
-error.
-.LP
-.sp
-The next two functions set and read the WM_ZOOM_HINTS property.
-.LP
-To set the zoom hints for a window, use
-.PN XSetZoomHints .
-This function is no longer supported by the
-\fIInter-Client Communication Conventions Manual\fP.
-.IN "XSetZoomHints" "" "@DEF@"
-.sM
-.FD 0
-XSetZoomHints\^(\^\fIdisplay\fP, \fIw\fP, \fIzhints\fP\^)
-.br
- Display *\fIdisplay\fP\^;
-.br
- Window \fIw\fP\^;
-.br
- XSizeHints *\fIzhints\fP\^;
-.FN
-.IP \fIdisplay\fP 1i
-Specifies the connection to the X server.
-.IP \fIw\fP 1i
-Specifies the window.
-.IP \fIzhints\fP 1i
-Specifies a pointer to the zoom hints.
-.LP
-.eM
-Many window managers think of windows in one of three states:
-iconic, normal, or zoomed.
-The
-.PN XSetZoomHints
-function provides the window manager with information for the window in the
-zoomed state.
-.LP
-.PN XSetZoomHints
-can generate
-.PN BadAlloc
-and
-.PN BadWindow
-errors.
-.LP
-.sp
-To read the zoom hints for a window, use
-.PN XGetZoomHints .
-This function is no longer supported by the
-\fIInter-Client Communication Conventions Manual\fP.
-.IN "XGetZoomHints" "" "@DEF@"
-.sM
-.FD 0
-Status XGetZoomHints\^(\^\fIdisplay\fP, \fIw\fP, \fIzhints_return\fP\^)
-.br
- Display *\fIdisplay\fP\^;
-.br
- Window \fIw\fP\^;
-.br
- XSizeHints *\fIzhints_return\fP\^;
-.FN
-.IP \fIdisplay\fP 1i
-Specifies the connection to the X server.
-.IP \fIw\fP 1i
-Specifies the window.
-.IP \fIzhints_return\fP 1i
-Returns the zoom hints.
-.LP
-.eM
-The
-.PN XGetZoomHints
-function returns the size hints for a window in its zoomed state.
-It returns a nonzero status if it succeeds or zero if
-the application specified no zoom size hints for this window.
-.LP
-.PN XGetZoomHints
-can generate a
-.PN BadWindow
-error.
-.LP
-.sp
-To set the value of any property of type WM_SIZE_HINTS, use
-.PN XSetSizeHints .
-This function has been superseded by
-.PN XSetWMSizeHints .
-.IN "XSetSizeHints" "" "@DEF@"
-.sM
-.FD 0
-XSetSizeHints\^(\^\fIdisplay\fP, \fIw\fP, \fIhints\fP, \fIproperty\fP\^)
-.br
- Display *\fIdisplay\fP\^;
-.br
- Window \fIw\fP\^;
-.br
- XSizeHints *\fIhints\fP\^;
-.br
- Atom \fIproperty\fP\^;
-.FN
-.IP \fIdisplay\fP 1i
-Specifies the connection to the X server.
-.IP \fIw\fP 1i
-Specifies the window.
-.IP \fIhints\fP 1i
-Specifies a pointer to the size hints.
-.IP \fIproperty\fP 1i
-Specifies the property name.
-.LP
-.eM
-The
-.PN XSetSizeHints
-function sets the
-.PN XSizeHints
-structure for the named property and the specified window.
-This is used by
-.PN XSetNormalHints
-and
-.PN XSetZoomHints
-and can be used to set the value of any property of type WM_SIZE_HINTS.
-Thus, it may be useful if other properties of that type get defined.
-.LP
-.PN XSetSizeHints
-can generate
-.PN BadAlloc ,
-.PN BadAtom ,
-and
-.PN BadWindow
-errors.
-.LP
-.sp
-To read the value of any property of type WM_SIZE_HINTS, use
-.PN XGetSizeHints .
-This function has been superseded by
-.PN XGetWMSizeHints .
-.IN "XGetSizeHints" "" "@DEF@"
-.sM
-.FD 0
-Status XGetSizeHints\^(\^\fIdisplay\fP, \fIw\fP, \fIhints_return\fP, \fIproperty\fP\^)
-.br
- Display *\fIdisplay\fP\^;
-.br
- Window \fIw\fP\^;
-.br
- XSizeHints *\fIhints_return\fP\^;
-.br
- Atom \fIproperty\fP\^;
-.FN
-.IP \fIdisplay\fP 1i
-Specifies the connection to the X server.
-.IP \fIw\fP 1i
-Specifies the window.
-.IP \fIhints_return\fP 1i
-Returns the size hints.
-.IP \fIproperty\fP 1i
-Specifies the property name.
-.LP
-.eM
-The
-.PN XGetSizeHints
-function returns the
-.PN XSizeHints
-structure for the named property and the specified window.
-This is used by
-.PN XGetNormalHints
-and
-.PN XGetZoomHints .
-It also can be used to retrieve the value of any property of type
-WM_SIZE_HINTS.
-Thus, it may be useful if other properties of that type get defined.
-.PN XGetSizeHints
-returns a nonzero status if a size hint was defined
-or zero otherwise.
-.LP
-.PN XGetSizeHints
-can generate
-.PN BadAtom
-and
-.PN BadWindow
-errors.
-.SH
-Getting and Setting an XStandardColormap Structure
-.LP
-To get the
-.PN XStandardColormap
-structure associated with one of the described atoms, use
-.PN XGetStandardColormap .
-This function has been superseded by
-.PN XGetRGBColormap .
-.IN "XGetStandardColormap" "" "@DEF@"
-.sM
-.FD 0
-Status XGetStandardColormap(\^\fIdisplay\fP, \fIw\fP, \fIcolormap_return\fP, \fIproperty\fP\^)
-.br
- Display *\fIdisplay\fP\^;
-.br
- Window \fIw\fP\^;
-.br
- XStandardColormap *\fIcolormap_return\fP\^;
-.br
- Atom \fIproperty\fP\^; /* RGB_BEST_MAP, etc. */
-.FN
-.IP \fIdisplay\fP 1i
-Specifies the connection to the X server.
-.IP \fIw\fP 1i
-Specifies the window.
-.IP \fIcolormap_return\fP 1i
-Returns the colormap associated with the specified atom.
-.IP \fIproperty\fP 1i
-Specifies the property name.
-.LP
-.eM
-The
-.PN XGetStandardColormap
-function returns the colormap definition associated with the atom supplied
-as the property argument.
-.PN XGetStandardColormap
-returns a nonzero status if successful and zero otherwise.
-For example,
-to fetch the standard
-.PN GrayScale
-colormap for a display,
-you use
-.PN XGetStandardColormap
-with the following syntax:
-.LP
-.sM
-.Ds 0
-.TA .5i 1.5i
-.ta .5i 1.5i
-XGetStandardColormap(dpy, DefaultRootWindow(dpy), &cmap, XA_RGB_GRAY_MAP);
-.De
-.LP
-.eM
-See section 14.3 for the semantics of standard colormaps.
-.LP
-.PN XGetStandardColormap
-can generate
-.PN BadAtom
-and
-.PN BadWindow
-errors.
-.LP
-.sp
-To set a standard colormap, use
-.PN XSetStandardColormap .
-This function has been superseded by
-.PN XSetRGBColormap .
-.IN "XSetStandardColormap" "" "@DEF@"
-.sM
-.FD 0
-XSetStandardColormap(\^\fIdisplay\fP, \fIw\fP, \fIcolormap\fP, \fIproperty\fP\^)
-.br
- Display *\fIdisplay\fP\^;
-.br
- Window \fIw\fP\^;
-.br
- XStandardColormap *\fIcolormap\fP\^;
-.br
- Atom \fIproperty\fP\^; /* RGB_BEST_MAP, etc. */
-.FN
-.IP \fIdisplay\fP 1i
-Specifies the connection to the X server.
-.IP \fIw\fP 1i
-Specifies the window.
-.IP \fIcolormap\fP 1i
-Specifies the colormap.
-.IP \fIproperty\fP 1i
-Specifies the property name.
-.LP
-.eM
-The
-.PN XSetStandardColormap
-function usually is only used by window or session managers.
-.LP
-.PN XSetStandardColormap
-can generate
-.PN BadAlloc ,
-.PN BadAtom ,
-.PN BadDrawable ,
-and
-.PN BadWindow
-errors.
-.SH
-Parsing Window Geometry
-.LP
-To parse window geometry given a user-specified position
-and a default position, use
-.PN XGeometry .
-This function has been superseded by
-.PN XWMGeometry .
-.IN "Window" "determining location"
-.IN "XGeometry" "" "@DEF@"
-.sM
-.FD 0
-int XGeometry\^(\^\fIdisplay\fP, \fIscreen\fP, \fIposition\fP\^, \fIdefault_position\fP\^, \fIbwidth\fP\^, \fIfwidth\fP\^, \fIfheight\fP\^, \fIxadder\fP\^,
-.br
- \fIyadder\fP\^, \fIx_return\fP\^, \fIy_return\fP\^, \fIwidth_return\fP\^, \fIheight_return\fP\^)
-.br
- Display *\fIdisplay\fP\^;
-.br
- int \fIscreen\fP\^;
-.br
- char *\fIposition\fP\^, *\fIdefault_position\fP\^;
-.br
- unsigned int \fIbwidth\fP\^;
-.br
- unsigned int \fIfwidth\fP\^, \fIfheight\fP\^;
-.br
- int \fIxadder\fP\^, \fIyadder\fP\^;
-.br
- int *\fIx_return\fP\^, *\fIy_return\fP\^;
-.br
- int *\fIwidth_return\fP\^, *\fIheight_return\fP\^;
-.FN
-.IP \fIdisplay\fP 1i
-Specifies the connection to the X server.
-.IP \fIscreen\fP 1i
-Specifies the screen.
-.IP \fIposition\fP 1i
-.br
-.ns
-.IP \fIdefault_position\fP 1i
-Specify the geometry specifications.
-.IP \fIbwidth\fP 1i
-Specifies the border width.
-.IP \fIfheight\fP 1i
-.br
-.ns
-.IP \fIfwidth\fP 1i
-Specify the font height and width in pixels (increment size).
-.IP \fIxadder\fP 1i
-.br
-.ns
-.IP \fIyadder\fP 1i
-Specify additional interior padding needed in the window.
-.IP \fIx_return\fP 1i
-.br
-.ns
-.IP \fIy_return\fP 1i
-Return the x and y offsets.
-.IP \fIwidth_return\fP 1i
-.br
-.ns
-.IP \fIheight_return\fP 1i
-Return the width and height determined.
-.LP
-.eM
-You pass in the border width (bwidth),
-size of the increments fwidth and fheight
-(typically font width and height),
-and any additional interior space (xadder and yadder)
-to make it easy to compute the resulting size.
-The
-.PN XGeometry
-function returns the position the window should be placed given a position and
-a default position.
-.PN XGeometry
-determines the placement of
-a window using a geometry specification as specified by
-.PN XParseGeometry
-and the additional information about the window.
-Given a fully qualified default geometry specification and
-an incomplete geometry specification,
-.PN XParseGeometry
-returns a bitmask value as defined above in the
-.PN XParseGeometry
-call,
-by using the position argument.
-.LP
-The returned width and height will be the width and height specified
-by default_position as overridden by any user-specified position.
-They are not affected by fwidth, fheight, xadder, or yadder.
-The x and y coordinates are computed by using the border width,
-the screen width and height, padding as specified by xadder and yadder,
-and the fheight and fwidth times the width and height from the
-geometry specifications.
-.SH
-Getting the X Environment Defaults
-.LP
-The
-.PN XGetDefault
-function provides a primitive interface to the resource manager facilities
-discussed in chapter 15.
-It is only useful in very simple applications.
-.LP
-.sp
-.IN "XGetDefault" "" "@DEF@"
-.sM
-.FD 0
-char *XGetDefault\^(\^\fIdisplay\fP, \fIprogram\fP\^, \fIoption\fP\^)
-.br
- Display *\fIdisplay\fP\^;
-.br
- char *\fIprogram\fP\^;
-.br
- char *\fIoption\fP\^;
-.FN
-.IP \fIdisplay\fP 1i
-Specifies the connection to the X server.
-.IP \fIprogram\fP 1i
-Specifies the program name for the Xlib defaults (usually argv[0]
-of the main program).
-.IP \fIoption\fP 1i
-Specifies the option name.
-.LP
-.eM
-The
-.PN XGetDefault
-function returns the value of the resource \fIprog\fP.\fIoption\fP,
-where \fIprog\fP is the program argument with the directory prefix removed
-and \fIoption\fP must be a single component.
-Note that multilevel resources cannot be used with
-.PN XGetDefault .
-The class "Program.Name" is always used for the resource lookup.
-If the specified option name does not exist for this program,
-.PN XGetDefault
-returns NULL.
-The strings returned by
-.PN XGetDefault
-are owned by Xlib and should not be modified or freed by the client.
-.LP
-If a database has been set with
-.PN XrmSetDatabase ,
-that database is used for the lookup.
-Otherwise, a database is created
-and is set in the display (as if by calling
-.PN XrmSetDatabase ).
-The database is created in the current locale.
-To create a database,
-.PN XGetDefault
-uses resources from the RESOURCE_MANAGER property on the root
-window of screen zero.
-If no such property exists,
-a resource file in the user's home directory is used.
-On a POSIX-conformant system,
-this file is
-.PN "$HOME/.Xdefaults" .
-.IN "Files" "$HOME/.Xdefaults"
-After loading these defaults,
-.PN XGetDefault
-merges additional defaults specified by the XENVIRONMENT
-environment variable.
-If XENVIRONMENT is defined,
-it contains a full path name for the additional resource file.
-If XENVIRONMENT is not defined,
-.PN XGetDefault
-looks for
-.PN "$HOME/.Xdefaults-\fIname\fP" ,
-where \fIname\fP specifies the name of the machine on which the application
-is running.
-.SH
-X Version 10 Compatibility Functions
-.LP
-You can use the X Version 10 compatibility functions to:
-.IP \(bu 5
-Draw and fill polygons and curves
-.IP \(bu 5
-Associate user data with a value
-.SH
-Drawing and Filling Polygons and Curves
-.LP
-Xlib provides functions that you can use to draw or fill
-arbitrary polygons or curves.
-These functions are provided mainly for compatibility with X Version 10
-and have no server support.
-That is, they call other Xlib functions, not the server directly.
-Thus, if you just have straight lines to draw, using
-.PN XDrawLines
-.IN "XDrawLines"
-or
-.PN XDrawSegments
-.IN "XDrawSegments"
-is much faster.
-.LP
-The functions discussed here provide all the functionality of the
-X Version 10 functions
-.PN XDraw ,
-.IN "X10 compatibility" "XDraw"
-.PN XDrawFilled ,
-.IN "X10 compatibility" "XDrawFilled"
-.PN XDrawPatterned ,
-.IN "X10 compatibility" "XDrawPatterned"
-.PN XDrawDashed ,
-.IN "X10 compatibility" "XDrawDashed"
-and
-.PN XDrawTiled .
-.IN "X10 compatibility" "XDrawTiled"
-They are as compatible as possible given X Version 11's new line-drawing
-functions.
-One thing to note, however, is that
-.PN VertexDrawLastPoint
-is no longer supported.
-Also, the error status returned is the opposite of what it was under
-X Version 10 (this is the X Version 11 standard error status).
-.PN XAppendVertex
-and
-.PN XClearVertexFlag
-from X Version 10 also are not supported.
-.LP
-Just how the graphics context you use is set up actually
-determines whether you get dashes or not, and so on.
-Lines are properly joined if they connect and include
-the closing of a closed figure (see
-.PN XDrawLines ).
-The functions discussed here fail (return zero) only if they run out of memory
-or are passed a
-.PN Vertex
-list that has a
-.PN Vertex
-with
-.PN VertexStartClosed
-set that is not followed by a
-.PN Vertex
-with
-.PN VertexEndClosed
-set.
-.LP
-.sp
-To achieve the effects of the X Version 10
-.PN XDraw ,
-.IN "X10 compatibility" "XDraw"
-.PN XDrawDashed ,
-.IN "X10 compatibility" "XDrawDashed"
-and
-.PN XDrawPatterned ,
-.IN "X10 compatibility" "XDrawPatterned"
-use
-.PN XDraw .
-.IN "XDraw" "" "@DEF@"
-.sM
-.FD 0
-#include <X11/X10.h>
-
-Status XDraw(\^\fIdisplay\fP, \fId\fP, \fIgc\fP, \fIvlist\fP, \fIvcount\fP\^)
-.br
- Display *\fIdisplay\fP\^;
-.br
- Drawable \fId\fP\^;
-.br
- GC \fIgc\fP\^;
-.br
- Vertex *\fIvlist\fP\^;
-.br
- int \fIvcount\fP\^;
-.FN
-.IP \fIdisplay\fP 1i
-Specifies the connection to the X server.
-.IP \fId\fP 1i
-Specifies the drawable.
-.IP \fIgc\fP 1i
-Specifies the GC.
-.IP \fIvlist\fP 1i
-Specifies a pointer to the list of vertices that indicate what to draw.
-.IP \fIvcount\fP 1i
-Specifies how many vertices are in vlist.
-.LP
-.eM
-The
-.PN XDraw
-function draws an arbitrary polygon or curve.
-The figure drawn is defined by the specified list of vertices (vlist).
-The points are connected by lines as specified in the flags in the
-vertex structure.
-.LP
-Each Vertex, as defined in
-.hN X11/X10.h ,
-is a structure with the following members:
-.LP
-.IN "Vertex" "" "@DEF@"
-.sM
-.Ds 0
-.TA .5i 1.5i
-.ta .5i 1.5i
-typedef struct _Vertex {
- short x,y;
- unsigned short flags;
-} Vertex;
-.De
-.LP
-.eM
-The x and y members are the coordinates of the vertex
-that are relative to either the upper left inside corner of the drawable
-(if
-.PN VertexRelative
-is zero) or the previous vertex (if
-.PN VertexRelative
-is one).
-.LP
-The flags, as defined in
-.hN X11/X10.h ,
-are as follows:
-.IN "VertexRelative" "" "@DEF@"
-.IN "VertexDontDraw" "" "@DEF@"
-.IN "VertexCurved" "" "@DEF@"
-.IN "VertexStartClosed" "" "@DEF@"
-.IN "VertexEndClosed" "" "@DEF@"
-.sM
-.TS
-l l l.
-T{
-.PN VertexRelative
-T} T{
-0x0001
-T} T{
-/* else absolute */
-T}
-T{
-.PN VertexDontDraw
-T} T{
-0x0002
-T} T{
-/* else draw */
-T}
-T{
-.PN VertexCurved
-T} T{
-0x0004
-T} T{
-/* else straight */
-T}
-T{
-.PN VertexStartClosed
-T} T{
-0x0008
-T} T{
-/* else not */
-T}
-T{
-.PN VertexEndClosed
-T} T{
-0x0010
-T} T{
-/* else not */
-T}
-.TE
-.LP
-.eM
-.IP \(bu 5
-If
-.PN VertexRelative
-is not set,
-the coordinates are absolute (that is, relative to the drawable's origin).
-The first vertex must be an absolute vertex.
-.IP \(bu 5
-If
-.PN VertexDontDraw
-is one,
-no line or curve is drawn from the previous vertex to this one.
-This is analogous to picking up the pen and moving to another place
-before drawing another line.
-.IP \(bu 5
-If
-.PN VertexCurved
-is one,
-a spline algorithm is used to draw a smooth curve from the previous vertex
-through this one to the next vertex.
-Otherwise, a straight line is drawn from the previous vertex to this one.
-It makes sense to set
-.PN VertexCurved
-to one only if a previous and next vertex are both defined
-(either explicitly in the array or through the definition of a closed
-curve).
-.IP \(bu 5
-It is permissible for
-.PN VertexDontDraw
-bits and
-.PN VertexCurved
-bits both to be one.
-This is useful if you want to define the previous point for the smooth curve
-but do not want an actual curve drawing to start until this point.
-.IP \(bu 5
-If
-.PN VertexStartClosed
-is one,
-then this point marks the beginning of a closed curve.
-This vertex must be followed later in the array by another vertex
-whose effective coordinates are identical
-and that has a
-.PN VertexEndClosed
-bit of one.
-The points in between form a cycle to determine predecessor
-and successor vertices for the spline algorithm.
-.LP
-This function uses these GC components:
-function, plane-mask, line-width, line-style, cap-style, join-style,
-fill-style, subwindow-mode, clip-x-origin, clip-y-origin, and
-clip-mask.
-It also uses these GC mode-dependent components:
-foreground, background, tile, stipple,
-tile-stipple-x-origin, tile-stipple-y-origin, dash-offset, and dash-list.
-.LP
-.sp
-To achieve the effects of the X Version 10
-.PN XDrawTiled
-.IN "X10 compatibility" "XDrawTiled"
-and
-.PN XDrawFilled ,
-.IN "X10 compatibility" "XDrawFilled"
-use
-.PN XDrawFilled .
-.IN "XDrawFilled" "" "@DEF@"
-.sM
-.FD 0
-#include <X11/X10.h>
-
-Status XDrawFilled(\^\fIdisplay\fP, \fId\fP, \fIgc\fP, \fIvlist\fP, \fIvcount\fP\^)
-.br
- Display *\fIdisplay\fP\^;
-.br
- Drawable \fId\fP\^;
-.br
- GC \fIgc\fP\^;
-.br
- Vertex *\fIvlist\fP\^;
-.br
- int \fIvcount\fP\^;
-.FN
-.IP \fIdisplay\fP 1i
-Specifies the connection to the X server.
-.IP \fId\fP 1i
-Specifies the drawable.
-.IP \fIgc\fP 1i
-Specifies the GC.
-.IP \fIvlist\fP 1i
-Specifies a pointer to the list of vertices that indicate what to draw.
-.IP \fIvcount\fP 1i
-Specifies how many vertices are in vlist.
-.LP
-.eM
-The
-.PN XDrawFilled
-function draws arbitrary polygons or curves and then fills them.
-.LP
-This function uses these GC components:
-function, plane-mask, line-width, line-style, cap-style, join-style,
-fill-style, subwindow-mode, clip-x-origin, clip-y-origin, and
-clip-mask.
-It also uses these GC mode-dependent components:
-foreground, background, tile, stipple,
-tile-stipple-x-origin, tile-stipple-y-origin,
-dash-offset, dash-list, fill-style, and fill-rule.
-.SH
-Associating User Data with a Value
-.LP
-These functions have been superseded by the context management functions
-(see section 16.10).
-It is often necessary to associate arbitrary information with resource IDs.
-Xlib provides the
-.PN XAssocTable
-functions that you can use to make such an association.
-.IN "Hash Lookup"
-.IN "Window" "IDs"
-.IN "Resource IDs"
-Application programs often need to be able to easily refer to
-their own data structures when an event arrives.
-The
-.PN XAssocTable
-system provides users of the X library with a method
-for associating their own data structures with X resources
-.Pn ( Pixmaps ,
-.PN Fonts ,
-.PN Windows ,
-and so on).
-.LP
-An
-.PN XAssocTable
-can be used to type X resources.
-For example, the user
-may want to have three or four types of windows,
-each with different properties.
-This can be accomplished by associating each X window ID
-with a pointer to a window property data structure defined by the
-user.
-A generic type has been defined in the X library for resource IDs.
-It is called an XID.
-.LP
-There are a few guidelines that should be observed when using an
-.PN XAssocTable :
-.IP \(bu 5
-All XIDs are relative to the specified display.
-.IP \(bu 5
-Because of the hashing scheme used by the association mechanism,
-the following rules for determining the size of a
-.PN XAssocTable
-should be followed.
-Associations will be made and looked up more
-efficiently if the table size (number of buckets in the hashing
-system) is a power of two and if there are not more than 8 XIDs per
-bucket.
-.LP
-.sp
-To return a pointer to a new
-.PN XAssocTable ,
-use
-.PN XCreateAssocTable .
-.IN "XCreateAssocTable" "" "@DEF@"
-.sM
-.FD 0
-XAssocTable *XCreateAssocTable\^(\^\fIsize\fP\^)
-.br
- int \fIsize\fP\^;
-.FN
-.IP \fIsize\fP 1i
-Specifies the number of buckets in the hash system of
-.PN XAssocTable .
-.LP
-.eM
-The size argument specifies the number of buckets in the
-hash system of
-.PN XAssocTable .
-For reasons of efficiency the number of buckets
-should be a power of two.
-Some size suggestions might be: use 32 buckets per 100 objects,
-and a reasonable maximum number of objects per buckets is 8.
-If an error allocating memory for the
-.PN XAssocTable
-occurs,
-a NULL pointer is returned.
-.LP
-.sp
-To create an entry in a given
-.PN XAssocTable ,
-use
-.PN XMakeAssoc .
-.IN "XMakeAssoc" "" "@DEF@"
-.sM
-.FD 0
-XMakeAssoc\^(\^\fIdisplay\fP, \fItable\fP\^, \fIx_id\fP\^, \fIdata\fP\^)
-.br
- Display *\fIdisplay\fP\^;
-.br
- XAssocTable *\fItable\fP\^;
-.br
- XID \fIx_id\fP\^;
-.br
- char *\fIdata\fP\^;
-.FN
-.IP \fIdisplay\fP 1i
-Specifies the connection to the X server.
-.IP \fItable\fP 1i
-Specifies the assoc table.
-.IP \fIx_id\fP 1i
-Specifies the X resource ID.
-.IP \fIdata\fP 1i
-Specifies the data to be associated with the X resource ID.
-.LP
-.eM
-The
-.PN XMakeAssoc
-function inserts data into an
-.PN XAssocTable
-keyed on an XID.
-Data is inserted into the table only once.
-Redundant inserts are ignored.
-The queue in each association bucket is sorted from the lowest XID to
-the highest XID.
-.LP
-.sp
-To obtain data from a given
-.PN XAssocTable ,
-use
-.PN XLookUpAssoc .
-.IN "XLookUpAssoc" "" "@DEF@"
-.sM
-.FD 0
-char *XLookUpAssoc\^(\^\fIdisplay\fP, \fItable\fP\^, \fIx_id\fP\^)
-.br
- Display *\fIdisplay\fP\^;
-.br
- XAssocTable *\fItable\fP\^;
-.br
- XID \fIx_id\fP\^;
-.FN
-.IP \fIdisplay\fP 1i
-Specifies the connection to the X server.
-.IP \fItable\fP 1i
-Specifies the assoc table.
-.IP \fIx_id\fP 1i
-Specifies the X resource ID.
-.LP
-.eM
-The
-.PN XLookUpAssoc
-function retrieves the data stored in an
-.PN XAssocTable
-by its XID.
-If an appropriately matching XID can be found in the table,
-.PN XLookUpAssoc
-returns the data associated with it.
-If the x_id cannot be found in the table,
-it returns NULL.
-.LP
-.sp
-To delete an entry from a given
-.PN XAssocTable ,
-use
-.PN XDeleteAssoc .
-.IN "XDeleteAssoc" "" "@DEF@"
-.sM
-.FD 0
-XDeleteAssoc\^(\^\fIdisplay\fP, \fItable\fP\^, \fIx_id\fP\^)
-.br
- Display *\fIdisplay\fP\^;
-.br
- XAssocTable *\fItable\fP\^;
-.br
- XID \fIx_id\fP\^;
-.FN
-.IP \fIdisplay\fP 1i
-Specifies the connection to the X server.
-.IP \fItable\fP 1i
-Specifies the assoc table.
-.IP \fIx_id\fP 1i
-Specifies the X resource ID.
-.LP
-.eM
-The
-.PN XDeleteAssoc
-function deletes an association in an
-.PN XAssocTable
-keyed on its XID.
-Redundant deletes (and deletes of nonexistent XIDs) are ignored.
-Deleting associations in no way impairs the performance of an
-.PN XAssocTable .
-.LP
-.sp
-To free the memory associated with a given
-.PN XAssocTable ,
-use
-.PN XDestroyAssocTable .
-.IN "XDestroyAssocTable" "" "@DEF@"
-.sM
-.FD 0
-XDestroyAssocTable\^(\^\fItable\fP\^)
-.br
- XAssocTable *\fItable\fP\^;
-.FN
-.IP \fItable\fP 1i
-Specifies the assoc table.
-.LP
-.eM
-.bp