aboutsummaryrefslogtreecommitdiffstats
path: root/Xlibscm.html
diff options
context:
space:
mode:
Diffstat (limited to 'Xlibscm.html')
-rw-r--r--Xlibscm.html3326
1 files changed, 3326 insertions, 0 deletions
diff --git a/Xlibscm.html b/Xlibscm.html
new file mode 100644
index 0000000..7325c38
--- /dev/null
+++ b/Xlibscm.html
@@ -0,0 +1,3326 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">
+<html>
+<!-- Created on October, 27 2005 by texi2html 1.76 -->
+<!--
+Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
+ Karl Berry <karl@freefriends.org>
+ Olaf Bachmann <obachman@mathematik.uni-kl.de>
+ and many others.
+Maintained by: Many creative people <dev@texi2html.cvshome.org>
+Send bugs and suggestions to <users@texi2html.cvshome.org>
+
+-->
+<head>
+<title>Xlibscm: Top</title>
+
+<meta name="description" content="Xlibscm: Top">
+<meta name="keywords" content="Xlibscm: Top">
+<meta name="resource-type" content="document">
+<meta name="distribution" content="global">
+<meta name="Generator" content="texi2html 1.76">
+<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
+<style type="text/css">
+<!--
+a.summary-letter {text-decoration: none}
+pre.display {font-family: serif}
+pre.format {font-family: serif}
+pre.menu-comment {font-family: serif}
+pre.menu-preformatted {font-family: serif}
+pre.smalldisplay {font-family: serif; font-size: smaller}
+pre.smallexample {font-size: smaller}
+pre.smallformat {font-family: serif; font-size: smaller}
+pre.smalllisp {font-size: smaller}
+span.sansserif {font-family:sans-serif; font-weight:normal;}
+ul.toc {list-style: none}
+-->
+</style>
+
+
+</head>
+
+<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
+
+<a name="Top"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h1 class="settitle">Xlibscm
+</h1>
+
+
+
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top"><a href="#SEC1">1. Xlibscm</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top"><a href="#SEC2">2. Display and Screens</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top"><a href="#SEC3">3. Drawables</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top"><a href="#SEC7">4. Graphics Context</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top"><a href="#SEC9">5. Cursor</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top"><a href="#SEC10">6. Colormap</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top"><a href="#SEC11">7. Rendering</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top"><a href="#SEC14">8. Images</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top"><a href="#SEC15">9. Event</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top"><a href="#SEC16">Procedure and Macro Index</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+<hr size="1">
+<a name="Xlibscm"></a>
+<a name="SEC1"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#Top" title="Previous section in reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC2" title="Next section in reading order"> &gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[ &lt;&lt; ]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC2" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h1 class="chapter"> 1. Xlibscm </h1>
+
+<p><em>Xlibscm</em> is a SCM interface to <em>X</em>.
+<a name="IDX1"></a>
+The
+&lt;A HREF=&quot;http://www.x.org/&quot;&gt;
+X Window System
+&lt;/A&gt;
+is a network-transparent window system that was
+designed at MIT.
+&lt;A HREF=&quot;scm_toc.html&quot;&gt;
+SCM
+&lt;/A&gt;
+is a portable Scheme implementation written in C.
+The interface can be compiled into SCM or, on those platforms supporting
+dynamic linking, compiled separately and loaded with <code>(require
+'Xlib)</code>.
+<a name="IDX2"></a>
+</p>
+
+<p>Much of this X documentation is dervied from:
+</p>
+<p align="center"> Xlib - C Language X Interface
+</p><p align="center"> X Consortium Standard
+</p><p align="center"> X Version 11, Release 6.3
+</p>
+<p>The X Window System is a trademark of X Consortium, Inc.
+</p>
+<p>TekHVC is a trademark of Tektronix, Inc.
+</p>
+
+
+<p>Copyright (C) 1985, 1986, 1987, 1988, 1989, 1990, 1991, 1994, 1996 X
+Consortium
+</p>
+<p>Permission is hereby granted, free of charge, to any person obtaining a
+copy of this software and associated documentation files (the
+&quot;Software&quot;), 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:
+</p>
+<p>The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+</p>
+<p>THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, 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.
+</p>
+<p>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.
+</p>
+
+
+
+<p>Copyright (C) 1985, 1986, 1987, 1988, 1989, 1990, 1991 by
+Digital Equipment Corporation
+</p>
+<p>Portions Copyright (C) 1990, 1991 by Tektronix, Inc.
+</p>
+<p>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
+&quot;as is&quot; without express or implied warranty.
+</p>
+
+<hr size="6">
+<a name="Display-and-Screens"></a>
+<a name="SEC2"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC1" title="Previous section in reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC3" title="Next section in reading order"> &gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#SEC1" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC3" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h1 class="chapter"> 2. Display and Screens </h1>
+
+<dl>
+<dt><u>Function:</u> <b>x:open-display</b><i> display-name</i>
+<a name="IDX3"></a>
+</dt>
+<dd><p><var>display-name</var> Specifies the hardware display name, which determines
+the display and communications domain to be used. On a POSIX-conformant
+system, if the display-name is #f, it defaults to the value of the
+<var>DISPLAY</var> environment variable.
+</p>
+<p>The encoding and interpretation of <var>display-name</var> is
+implementation-dependent. On POSIX-conformant systems, the
+<var>display-name</var> or <var>DISPLAY</var> environment variable can be a string
+in the format:
+</p>
+<dl>
+<dt><u>Special Form:</u> <b>hostname:number.screen-number</b>
+<a name="IDX4"></a>
+</dt>
+<dd><p><var>hostname</var> specifies the name of the host machine on which the
+display is physically attached. Follow the <var>hostname</var> with either a
+single colon (:) or a double colon (::).
+</p>
+<p><var>number</var> specifies the number of the display server on that host
+machine. You may optionally follow this display number with a period
+(.). A single CPU can have more than one display. Multiple displays
+are usually numbered starting with zero.
+</p>
+<p><var>screen-number</var> specifies the screen to be used on that server.
+Multiple screens can be controlled by a single X server. The
+<var>screen-number</var> sets an internal variable that can be accessed by
+using the x:default-screen procedure.
+</p></dd></dl>
+</dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:close</b><i> display</i>
+<a name="IDX5"></a>
+</dt>
+<dd><p><var>display</var> specifies the connection to the X server.
+</p>
+<p>The <code>x:close</code> function closes the connection to the X server for
+the <var>display</var> specified and destroys all windows, resource IDs
+(Window, Font, Pixmap, Colormap, Cursor, and GContext), or other
+resources that the client has created on this display, unless the
+close-down mode of the resource has been changed (see
+<code>x:set-close-down-mode</code>). Therefore, these windows, resource IDs,
+and other resources should not be used again or an error will be
+generated. Before exiting, you should call <var>x:close-display</var> or
+<var>x:flush</var> explicitly so that any pending errors are reported.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:protocol-version</b><i> display</i>
+<a name="IDX6"></a>
+</dt>
+<dd><p>Returns cons of the major version number (11) of the X protocol
+associated with the connected <var>display</var> and the minor protocol
+revision number of the X server.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:server-vendor</b><i> display</i>
+<a name="IDX7"></a>
+</dt>
+<dd><p>Returns a string that provides some identification of the owner of the X
+server implementation. The contents of the string are
+implementation-dependent.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:vendor-release</b><i> display</i>
+<a name="IDX8"></a>
+</dt>
+<dd><p>Returns a number related to a vendor's release of the X server.
+</p></dd></dl>
+
+
+<p>A display consists of one or more <em>Screen</em>s. Each screen has a
+<em>root-window</em>, <em>default-graphics-context</em>, and <em>colormap</em>.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:screen-count</b><i> display</i>
+<a name="IDX9"></a>
+</dt>
+<dd><p>Returns the number of available screens.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:default-screen</b><i> display</i>
+<a name="IDX10"></a>
+</dt>
+<dd><p>Returns the default screen number specified by the <code>x:open-display</code>
+function. Use this screen number in applications which will use only a
+single screen.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:root-window</b><i> display screen-number</i>
+<a name="IDX11"></a>
+</dt>
+<dt><u>Function:</u> <b>x:root-window</b><i> display</i>
+<a name="IDX12"></a>
+</dt>
+<dd><p><var>screen-number</var>, if givien, specifies the appropriate screen number
+on the host server. Otherwise the default-screen for <var>display</var> is
+used.
+</p>
+<p>Returns the root window for the specified <var>screen-number</var>. Use
+<code>x:root-window</code> for functions that need a drawable of a particular
+screen or for creating top-level windows.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:root-window</b><i> window</i>
+<a name="IDX13"></a>
+</dt>
+<dd><p>Returns the root window for the specified <var>window</var>'s screen.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:default-colormap</b><i> display screen-number</i>
+<a name="IDX14"></a>
+</dt>
+<dt><u>Function:</u> <b>x:default-colormap</b><i> display</i>
+<a name="IDX15"></a>
+</dt>
+<dt><u>Function:</u> <b>x:default-colormap</b><i> window</i>
+<a name="IDX16"></a>
+</dt>
+<dd><p>Returns the default colormap of the specified screen.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:default-ccc</b><i> display screen-number</i>
+<a name="IDX17"></a>
+</dt>
+<dt><u>Function:</u> <b>x:default-ccc</b><i> display</i>
+<a name="IDX18"></a>
+</dt>
+<dt><u>Function:</u> <b>x:default-ccc</b><i> window</i>
+<a name="IDX19"></a>
+</dt>
+<dd><p>Returns the default Color-Conversion-Context (ccc) of the specified
+screen.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:default-gc</b><i> display screen-number</i>
+<a name="IDX20"></a>
+</dt>
+<dt><u>Function:</u> <b>x:default-gc</b><i> display</i>
+<a name="IDX21"></a>
+</dt>
+<dt><u>Function:</u> <b>x:default-gc</b><i> window</i>
+<a name="IDX22"></a>
+</dt>
+<dd><p>Returns the default graphics-context of the specified screen.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:screen-depths</b><i> display screen-number</i>
+<a name="IDX23"></a>
+</dt>
+<dt><u>Function:</u> <b>x:screen-depths</b><i> display</i>
+<a name="IDX24"></a>
+</dt>
+<dt><u>Function:</u> <b>x:screen-depths</b><i> window</i>
+<a name="IDX25"></a>
+</dt>
+<dd><p>Returns an array of depths supported by the specified screen.
+</p></dd></dl>
+
+<p>The <em>Visual</em> type describes possible colormap depths and
+arrangements.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:default-visual</b><i> display screen-number</i>
+<a name="IDX26"></a>
+</dt>
+<dt><u>Function:</u> <b>x:default-visual</b><i> display</i>
+<a name="IDX27"></a>
+</dt>
+<dt><u>Function:</u> <b>x:default-visual</b><i> window</i>
+<a name="IDX28"></a>
+</dt>
+<dd><p>Returns the default Visual type for the specified screen.
+</p>
+<a name="IDX29"></a>
+<a name="IDX30"></a>
+</dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:make-visual</b><i> display depth class</i>
+<a name="IDX31"></a>
+</dt>
+<dt><u>Function:</u> <b>x:make-visual</b><i> window depth class</i>
+<a name="IDX32"></a>
+</dt>
+<dd><p>The integer <var>depth</var> specifies the number of bits per pixel.
+The <var>class</var> argument specifies one of the possible
+visual classes for a screen:
+</p><ul>
+<li> x:Static-Gray
+</li><li> x:Static-Color
+</li><li> x:True-Color
+</li><li> x:Gray-Scale
+</li><li> x:Pseudo-Color
+</li><li> x:Direct-Color
+</li></ul>
+
+<p><code>X:make-visual</code> returns a visual type for the screen specified by
+<var>display</var> or <var>window</var> if successful; #f if not.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:visual-class</b><i> visual</i>
+<a name="IDX33"></a>
+</dt>
+<dt><u>Function:</u> <b>x:visual-class</b><i> screen</i>
+<a name="IDX34"></a>
+</dt>
+<dt><u>Function:</u> <b>x:visual-class</b><i> display</i>
+<a name="IDX35"></a>
+</dt>
+<dd><p>Returns the (integer) visual class of its argument.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:visual-geometry</b><i> visual</i>
+<a name="IDX36"></a>
+</dt>
+<dt><u>Function:</u> <b>x:visual-geometry</b><i> screen</i>
+<a name="IDX37"></a>
+</dt>
+<dt><u>Function:</u> <b>x:visual-geometry</b><i> display</i>
+<a name="IDX38"></a>
+</dt>
+<dd><p>Returns a list of the:
+</p><ul>
+<li> red_mask
+</li><li> green_mask
+</li><li> blue_mask
+</li><li> colormap_size
+</li></ul>
+</dd></dl>
+
+
+<dl>
+<dt><u>Function:</u> <b>x:screen-cells</b><i> display screen-number</i>
+<a name="IDX39"></a>
+</dt>
+<dt><u>Function:</u> <b>x:screen-cells</b><i> display</i>
+<a name="IDX40"></a>
+</dt>
+<dt><u>Function:</u> <b>x:screen-cells</b><i> window</i>
+<a name="IDX41"></a>
+</dt>
+<dd><p>Returns the number of entries in the default colormap.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:screen-depth</b><i> display screen-number</i>
+<a name="IDX42"></a>
+</dt>
+<dd><p>Returns the depth of the root window of the specified screen.
+</p><dl>
+<dt><u>Function:</u> <b>x:screen-depth</b><i> display</i>
+<a name="IDX43"></a>
+</dt>
+<dt><u>Function:</u> <b>x:screen-depth</b><i> window</i>
+<a name="IDX44"></a>
+</dt>
+<dt><u>Function:</u> <b>x:screen-depth</b><i> visual</i>
+<a name="IDX45"></a>
+</dt>
+<dd><p>Returns the depth of argument.
+</p>
+<a name="IDX46"></a>
+<p>The <em>depth</em> of a window or pixmap is the number of bits per pixel it has.
+The <em>depth</em> of a graphics context is the depth of the drawables it can be
+used in conjunction with graphics output.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:screen-size</b><i> display screen-number</i>
+<a name="IDX47"></a>
+</dt>
+<dt><u>Function:</u> <b>x:screen-size</b><i> display</i>
+<a name="IDX48"></a>
+</dt>
+<dt><u>Function:</u> <b>x:screen-size</b><i> window</i>
+<a name="IDX49"></a>
+</dt>
+<dd><p>Returns a list of integer height and width of the screen in pixels.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:screen-dimensions</b><i> display screen-number</i>
+<a name="IDX50"></a>
+</dt>
+<dt><u>Function:</u> <b>x:screen-dimensions</b><i> display</i>
+<a name="IDX51"></a>
+</dt>
+<dt><u>Function:</u> <b>x:screen-dimensions</b><i> window</i>
+<a name="IDX52"></a>
+</dt>
+<dd><p>Returns a list of integer height and width of the screen in millimeters.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:screen-white</b><i> display screen-number</i>
+<a name="IDX53"></a>
+</dt>
+<dt><u>Function:</u> <b>x:screen-white</b><i> display</i>
+<a name="IDX54"></a>
+</dt>
+<dt><u>Function:</u> <b>x:screen-white</b><i> window</i>
+<a name="IDX55"></a>
+</dt>
+<dd><p>Returns the white pixel value of the specified screen.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:screen-black</b><i> display screen-number</i>
+<a name="IDX56"></a>
+</dt>
+<dt><u>Function:</u> <b>x:screen-black</b><i> display</i>
+<a name="IDX57"></a>
+</dt>
+<dt><u>Function:</u> <b>x:screen-black</b><i> window</i>
+<a name="IDX58"></a>
+</dt>
+<dd><p>Returns the black pixel value of the specified screen.
+</p></dd></dl>
+
+</dd></dl>
+</dd></dl>
+<hr size="6">
+<a name="Drawables"></a>
+<a name="SEC3"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC2" title="Previous section in reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC4" title="Next section in reading order"> &gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#SEC2" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC7" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h1 class="chapter"> 3. Drawables </h1>
+
+<p>A <em>Drawable</em> is either a window or pixmap.
+</p>
+<table class="menu" border="0" cellspacing="0">
+<tr><td align="left" valign="top"><a href="#SEC4">3.1 Windows and Pixmaps</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top"><a href="#SEC5">3.2 Window Attributes</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+<tr><td align="left" valign="top"><a href="#SEC6">3.3 Window Properties and Visibility</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">
+</td></tr>
+</table>
+
+
+<hr size="6">
+<a name="Windows-and-Pixmaps"></a>
+<a name="SEC4"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC3" title="Previous section in reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC5" title="Next section in reading order"> &gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#SEC3" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC3" title="Up section"> Up </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC7" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h2 class="section"> 3.1 Windows and Pixmaps </h2>
+
+<dl>
+<dt><u>Function:</u> <b>x:create-window</b><i> window position size border-width depth class visual field-name value &hellip;</i>
+<a name="IDX59"></a>
+</dt>
+<dd><p>Creates and returns an unmapped Input-Output subwindow for a specified
+parent <var>window</var> and causes the X server to generate a CreateNotify
+event. The created window is placed on top in the stacking order with
+respect to siblings. Any part of the window that extends outside its
+parent <var>window</var> is clipped. The <var>border-width</var> for an
+x:Input-Only window must be zero.
+</p>
+<p>The coordinate system has the X axis horizontal and the Y axis vertical
+with the origin [0, 0] at the upper-left corner. Coordinates are
+integral, in terms of pixels, and coincide with pixel centers. Each
+window and pixmap has its own coordinate system. For a window, the
+origin is inside the border at the inside, upper-left corner.
+</p>
+<p><var>Class</var> can be x:Input-Output, x:Input-Only, or x:Copy-From-Parent.
+For class x:Input-Output, the <var>visual</var> type and <var>depth</var> must be
+a combination supported for the screen. The <var>depth</var> need not be the
+same as the parent, but the parent must not be a window of class
+x:Input-Only. For an x:Input-Only window, the <var>depth</var> must be zero,
+and the <var>visual</var> must be one supported by the screen.
+</p>
+<p>The returned window will have the attributes specified by
+<var>field-name</var>s and <var>value</var>.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:create-window</b><i> window position size border-width border background</i>
+<a name="IDX60"></a>
+</dt>
+<dd><p>The returned window inherits its depth, class, and visual from its
+parent. All other window attributes, except <var>background</var> and
+<var>border</var>, have their default values.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:create-pixmap</b><i> drawable size depth</i>
+<a name="IDX61"></a>
+</dt>
+<dt><u>Function:</u> <b>x:create-pixmap</b><i> display size depth</i>
+<a name="IDX62"></a>
+</dt>
+<dd><p><var>size</var> is a list, vector, or pair of nonzero integers specifying the width
+and height desired in the new pixmap.
+</p>
+<p><var>x:create-pixmap</var> returns a new pixmap of the width, height, and
+<var>depth</var> specified. It is valid to pass an x:Input-Only window to the
+drawable argument. The <var>depth</var> argument must be one of the depths
+supported by the screen of the specified <var>drawable</var>.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:close</b><i> window</i>
+<a name="IDX63"></a>
+</dt>
+<dd><p>Destroys the specified <var>window</var> as well as all of its subwindows and
+causes the X server to generate a DestroyNotify event for each window.
+The window should not be used again. If the window specified by the
+<var>window</var> argument is mapped, it is unmapped automatically. The
+ordering of the DestroyNotify events is such that for any given window
+being destroyed, DestroyNotify is generated on any inferiors of the
+window before being generated on the window itself. The ordering among
+siblings and across subhierarchies is not otherwise constrained. If the
+<var>window</var> you specified is a root window, an error is signaled.
+Destroying a mapped <var>window</var> will generate x:Expose events on other
+windows that were obscured by the window being destroyed.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:close</b><i> pixmap</i>
+<a name="IDX64"></a>
+</dt>
+<dd><p>Deletes the association between the <var>pixmap</var> and its storage. The X
+server frees the pixmap storage when there are no references to it.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:window-geometry</b><i> drawable</i>
+<a name="IDX65"></a>
+</dt>
+<dd><p>Returns a list of:
+</p>
+<dl compact="compact">
+<dt> coordinates</dt>
+<dd><p><code>list</code> of x and y coordinates that define the location of the
+<var>drawable</var>. For a window, these coordinates specify the upper-left
+outer corner relative to its parent's origin. For pixmaps, these
+coordinates are always zero.
+</p></dd>
+<dt> size</dt>
+<dd><p><code>list</code> of the <var>drawable</var>'s dimensions (width and height). For
+a window, these dimensions specify the inside size, not including the
+border.
+</p></dd>
+<dt> border-width</dt>
+<dd><p>The border width in pixels. If the <var>drawable</var> is a pixmap, this is
+zero.
+</p></dd>
+<dt> depth</dt>
+<dd><p>The depth of the <var>drawable</var> (bits per pixel for the object).
+</p></dd>
+</dl>
+</dd></dl>
+
+
+<dl>
+<dt><u>Function:</u> <b>x:window-geometry-set!</b><i> window field-name value &hellip;</i>
+<a name="IDX66"></a>
+</dt>
+<dd><p>Changes the <em>Configuration</em> components specified by
+<var>field-name</var>s for the specified <var>window</var>.
+</p></dd></dl>
+
+
+<p>These are the attributes settable by <code>x:window-geometry-set!</code>.
+That these attributes are encoded by small integers - just like those
+of the next section. Be warned therefore that confusion of attribute
+names will likely not signal errors, just cause mysterious behavior.
+</p>
+<dl>
+<dt><u>Attribute:</u> <b>x:CWX</b>
+<a name="IDX67"></a>
+</dt>
+<dt><u>Attribute:</u> <b>x:CWY</b>
+<a name="IDX68"></a>
+</dt>
+<dt><u>Attribute:</u> <b>x:CW-Width</b>
+<a name="IDX69"></a>
+</dt>
+<dt><u>Attribute:</u> <b>x:CW-Height</b>
+<a name="IDX70"></a>
+</dt>
+<dd><p>The x:CWX and x:CYY members are used to set the window's x and y
+coordinates, which are relative to the parent's origin and indicate the
+position of the upper-left outer corner of the window. The x:CW-Width
+and x:CW-Height members are used to set the inside size of the window,
+not including the border, and must be nonzero. Attempts to configure a
+root window have no effect.
+</p>
+<p>If a window's size actually changes, the window's subwindows move
+according to their window gravity. Depending on the window's bit
+gravity, the contents of the window also may be moved
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:CW-Border-Width</b>
+<a name="IDX71"></a>
+</dt>
+<dd><p>The integer x:CW-Border-Width is used to set the width of the border in
+pixels. Note that setting just the border width leaves the outer-left
+corner of the window in a fixed position but moves the absolute position
+of the window's origin. It is an error to set the border-width
+attribute of an InputOnly window nonzero.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:CW-Sibling</b>
+<a name="IDX72"></a>
+</dt>
+<dd><p>The sibling member is used to set the sibling window for stacking
+operations.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:CW-Stack-Mode</b>
+<a name="IDX73"></a>
+</dt>
+<dd><p>The x:CW-Stack-Mode member is used to set how the window is to be
+restacked and can be set to x:Above, x:Below, x:Top-If, x:Bottom-If, or
+x:Opposite.
+</p></dd></dl>
+
+
+<p>If a sibling and a stack-mode are specified, the window is restacked as
+follows:
+</p>
+<dl compact="compact">
+<dt> <code>x:Above</code></dt>
+<dd><p>The window is placed just above the sibling.
+</p></dd>
+<dt> <code>x:Below</code></dt>
+<dd><p>The window is placed just below the sibling.
+</p></dd>
+<dt> <code>x:Top-If</code></dt>
+<dd><p>If the sibling occludes the window, the window is placed at the top of
+the stack.
+</p></dd>
+<dt> <code>x:Bottom-If</code></dt>
+<dd><p>If the window occludes the sibling, the window is placed at the bottom
+of the stack.
+</p></dd>
+<dt> <code>x:Opposite</code></dt>
+<dd><p>If the sibling occludes the window, the window is placed at the top of
+the stack. If the window occludes the sibling, the window is placed at
+the bottom of the stack.
+</p></dd>
+</dl>
+
+
+<p>If a stack-mode is specified but no sibling is specified, the window
+is restacked as follows:
+</p>
+<dl compact="compact">
+<dt> <code>x:Above</code></dt>
+<dd><p>The window is placed at the top of the stack.
+</p></dd>
+<dt> <code>x:Below</code></dt>
+<dd><p>The window is placed at the bottom of the stack.
+</p></dd>
+<dt> <code>x:Top-If</code></dt>
+<dd><p>If any sibling occludes the window, the window is placed at the top of
+the stack.
+</p></dd>
+<dt> <code>x:Bottom-If</code></dt>
+<dd><p>If the window occludes any sibling, the window is placed at the bottom
+of the stack.
+</p></dd>
+<dt> <code>x:Opposite</code></dt>
+<dd><p>If any sibling occludes the window, the window is placed at the top of
+the stack. If the window occludes any sibling, the window is placed at
+the bottom of the stack.
+</p></dd>
+</dl>
+
+
+
+
+</dd></dl>
+<hr size="6">
+<a name="Window-Attributes"></a>
+<a name="SEC5"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC4" title="Previous section in reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC6" title="Next section in reading order"> &gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#SEC3" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC3" title="Up section"> Up </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC7" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h2 class="section"> 3.2 Window Attributes </h2>
+
+<dl>
+<dt><u>Function:</u> <b>x:window-set!</b><i> window field-name value &hellip;</i>
+<a name="IDX74"></a>
+</dt>
+<dd><p>Changes the components specified by <var>field-name</var>s for the specified
+<var>window</var>. The restrictions are the same as for
+<code>x:create-window</code>. The order in which components are verified and
+altered is server dependent. If an error occurs, a subset of the
+components may have been altered.
+</p></dd></dl>
+
+
+<p>The <code>x:create-window</code> and <code>x:window-set!</code> procedures take five
+and one argument (respectively) followed by pairs of arguments, where
+the first is one of the property-name symbols (or its top-level value)
+listed below; and the second is the value to associate with that
+property.
+</p>
+<dl>
+<dt><u>Attribute:</u> <b>x:CW-Back-Pixmap</b>
+<a name="IDX75"></a>
+</dt>
+<dd><p>Sets the background pixmap of the <var>window</var> to the specified pixmap.
+The background pixmap can immediately be freed if no further explicit
+references to it are to be made. If x:Parent-Relative is specified, the
+background pixmap of the window's parent is used, or on the root window,
+the default background is restored. It is an error to perform this
+operation on an x:Input-Only window. If the background is set to #f or
+None, the window has no defined background.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:CW-Back-Pixel</b>
+<a name="IDX76"></a>
+</dt>
+<dd><p>Sets the background of the <var>window</var> to the specified pixel value.
+Changing the background does not cause the <var>window</var> contents to be
+changed. It is an error to perform this operation on an x:Input-Only
+window.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:CW-Border-Pixmap</b>
+<a name="IDX77"></a>
+</dt>
+<dd><p>Sets the border pixmap of the <var>window</var> to the pixmap you specify.
+The border pixmap can be freed if no further explicit references to it
+are to be made. If you specify x:Copy-From-Parent, a copy of the parent
+window's border pixmap is used. It is an error to perform this
+operation on an x:Input-Only <var>window</var>.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:CW-Border-Pixel</b>
+<a name="IDX78"></a>
+</dt>
+<dd><p>Sets the border of the <var>window</var> to the pixel <var>value</var>. It is an
+error to perform this operation on an x:Input-Only window.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:CW-Bit-Gravity</b>
+<a name="IDX79"></a>
+</dt>
+<dt><u>Attribute:</u> <b>x:CW-Win-Gravity</b>
+<a name="IDX80"></a>
+</dt>
+<dd><p>The bit gravity of a window defines which region of the window should be
+retained when an x:Input-Output window is resized. The default value
+for the bit-gravity attribute is x:Forget-Gravity. The window gravity
+of a window allows you to define how the x:Input-Output or x:Input-Only
+window should be repositioned if its parent is resized. The default
+value for the win-gravity attribute is x:North-West-Gravity.
+</p>
+<p>If the inside width or height of a window is not changed and if the
+window is moved or its border is changed, then the contents of the
+window are not lost but move with the window. Changing the inside width
+or height of the window causes its contents to be moved or lost
+(depending on the bit-gravity of the window) and causes children to be
+reconfigured (depending on their win-gravity). For a change of width
+and height, the (x, y) pairs are defined:
+</p>
+<table>
+<tr><td><p> Gravity Direction
+</p></td><td><p> Coordinates
+</p></td></tr>
+<tr><td><p> x:North-West-Gravity
+</p></td><td><p> (0, 0)
+</p></td></tr>
+<tr><td><p> x:North-Gravity
+</p></td><td><p> (Width/2, 0)
+</p></td></tr>
+<tr><td><p> x:North-East-Gravity
+</p></td><td><p> (Width, 0)
+</p></td></tr>
+<tr><td><p> x:West-Gravity
+</p></td><td><p> (0, Height/2)
+</p></td></tr>
+<tr><td><p> x:Center-Gravity
+</p></td><td><p> (Width/2, Height/2)
+</p></td></tr>
+<tr><td><p> x:East-Gravity
+</p></td><td><p> (Width, Height/2)
+</p></td></tr>
+<tr><td><p> x:South-West-Gravity
+</p></td><td><p> (0, Height)
+</p></td></tr>
+<tr><td><p> x:South-Gravity
+</p></td><td><p> (Width/2, Height)
+</p></td></tr>
+<tr><td><p> x:South-East-Gravity
+</p></td><td><p> (Width, Height)
+</p></td></tr>
+</table>
+
+<p>When a window with one of these bit-gravity values is resized, the
+corresponding pair defines the change in position of each pixel in the
+window. When a window with one of these win-gravities has its parent
+window resized, the corresponding pair defines the change in position of
+the window within the parent. When a window is so repositioned, a
+x:Gravity-Notify event is generated (see section 10.10.5).
+</p>
+<p>A bit-gravity of x:Static-Gravity indicates that the contents or origin
+should not move relative to the origin of the root window. If the
+change in size of the window is coupled with a change in position (x,
+y), then for bit-gravity the change in position of each pixel is (-x,
+-y), and for win-gravity the change in position of a child when its
+parent is so resized is (-x, -y). Note that x:Static-Gravity still only
+takes effect when the width or height of the window is changed, not when
+the window is moved.
+</p>
+<p>A bit-gravity of x:Forget-Gravity indicates that the window's contents
+are always discarded after a size change, even if a backing store or
+save under has been requested. The window is tiled with its background
+and zero or more x:Expose events are generated. If no background is
+defined, the existing screen contents are not altered. Some X servers
+may also ignore the specified bit-gravity and always generate x:Expose
+events.
+</p>
+<p>The contents and borders of inferiors are not affected by their parent's
+bit-gravity. A server is permitted to ignore the specified bit-gravity
+and use x:Forget-Gravity instead.
+</p>
+<p>A win-gravity of x:Unmap-Gravity is like x:North-West-Gravity (the
+window is not moved), except the child is also unmapped when the parent
+is resized, and an x:Unmap-Notify event is generated.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:CW-Backing-Store</b>
+<a name="IDX81"></a>
+</dt>
+<dd><p>Some implementations of the X server may choose to maintain the contents
+of x:Input-Output windows. If the X server maintains the contents of a
+window, the off-screen saved pixels are known as backing store. The
+backing store advises the X server on what to do with the contents of a
+window. The backing-store attribute can be set to x:Not-Useful
+(default), x:When-Mapped, or x:Always. A backing-store attribute of
+x:Not-Useful advises the X server that maintaining contents is
+unnecessary, although some X implementations may still choose to
+maintain contents and, therefore, not generate x:Expose events. A
+backing-store attribute of x:When-Mapped advises the X server that
+maintaining contents of obscured regions when the window is mapped would
+be beneficial. In this case, the server may generate an x:Expose event
+when the window is created. A backing-store attribute of x:Always
+advises the X server that maintaining contents even when the window is
+unmapped would be beneficial. Even if the window is larger than its
+parent, this is a request to the X server to maintain complete contents,
+not just the region within the parent window boundaries. While the X
+server maintains the window's contents, x:Expose events normally are not
+generated, but the X server may stop maintaining contents at any time.
+</p>
+<p>When the contents of obscured regions of a window are being maintained,
+regions obscured by noninferior windows are included in the destination
+of graphics requests (and source, when the window is the source).
+However, regions obscured by inferior windows are not included.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:CW-Backing-Planes</b>
+<a name="IDX82"></a>
+</dt>
+<dt><u>Attribute:</u> <b>x:CW-Backing-Pixel</b>
+<a name="IDX83"></a>
+</dt>
+<dd><p>You can set backing planes to indicate (with bits set to 1) which bit
+planes of an x:Input-Output window hold dynamic data that must be
+preserved in backing store and during save unders. The default value
+for the backing-planes attribute is all bits set to 1. You can set
+backing pixel to specify what bits to use in planes not covered by
+backing planes. The default value for the backing-pixel attribute is
+all bits set to 0. The X server is free to save only the specified bit
+planes in the backing store or the save under and is free to regenerate
+the remaining planes with the specified pixel value. Any extraneous
+bits in these values (that is, those bits beyond the specified depth of
+the window) may be simply ignored. If you request backing store or save
+unders, you should use these members to minimize the amount of
+off-screen memory required to store your window.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:CW-Override-Redirect</b>
+<a name="IDX84"></a>
+</dt>
+<dd><p>To control window placement or to add decoration, a window manager often
+needs to intercept (redirect) any map or configure request. Pop-up
+windows, however, often need to be mapped without a window manager
+getting in the way. To control whether an x:Input-Output or
+x:Input-Only window is to ignore these structure control facilities, use
+the override-redirect flag.
+</p>
+<p>The override-redirect flag specifies whether map and configure requests
+on this window should override a x:Substructure-Redirect-Mask on the
+parent. You can set the override-redirect flag to #t or #f (default).
+Window managers use this information to avoid tampering with pop-up
+windows.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:CW-Save-Under</b>
+<a name="IDX85"></a>
+</dt>
+<dd><p>Some server implementations may preserve contents of x:Input-Output windows
+under other x:Input-Output windows. This is not the same as preserving the
+contents of a window for you. You may get better visual appeal if
+transient windows (for example, pop-up menus) request that the system
+preserve the screen contents under them, so the temporarily obscured
+applications do not have to repaint.
+</p>
+<p>You can set the save-under flag to True or False (default). If
+save-under is True, the X server is advised that, when this window is
+mapped, saving the contents of windows it obscures would be beneficial.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:CW-Event-Mask</b>
+<a name="IDX86"></a>
+</dt>
+<dd><p>The event mask defines which events the client is interested in for this
+x:Input-Output or x:Input-Only window (or, for some event types,
+inferiors of this window). The event mask is the bitwise inclusive OR
+of zero or more of the valid event mask bits. You can specify that no
+maskable events are reported by setting x:No-Event-Mask (default).
+</p>
+<p>The following table lists the event mask constants you can pass to the
+event-mask argument and the circumstances in which you would want to
+specify the event mask:
+</p>
+<table>
+<tr><td><p> Event Mask
+</p></td><td><p> Circumstances
+</p></td></tr>
+<tr><td><p> x:No-Event-Mask
+</p></td><td><p> No events wanted
+</p></td></tr>
+<tr><td><p> x:Key-Press-Mask
+</p></td><td><p> Keyboard down events wanted
+</p></td></tr>
+<tr><td><p> x:Key-Release-Mask
+</p></td><td><p> Keyboard up events wanted
+</p></td></tr>
+<tr><td><p> x:Button-Press-Mask
+</p></td><td><p> Pointer button down events wanted
+</p></td></tr>
+<tr><td><p> x:Button-Release-Mask
+</p></td><td><p> Pointer button up events wanted
+</p></td></tr>
+<tr><td><p> x:Enter-Window-Mask
+</p></td><td><p> Pointer window entry events wanted
+</p></td></tr>
+<tr><td><p> x:Leave-Window-Mask
+</p></td><td><p> Pointer window leave events wanted
+</p></td></tr>
+<tr><td><p> x:Pointer-Motion-Mask
+</p></td><td><p> Pointer motion events wanted
+</p></td></tr>
+<tr><td><p> x:Pointer-Motion-Hint-Mask
+</p></td><td>
+<p>If x:Pointer-Motion-Hint-Mask is selected in combination with one or
+more motion-masks, the X server is free to send only one x:Motion-Notify
+event (with the is_hint member of the X:Pointer-Moved-Event structure
+set to x:Notify-Hint) to the client for the event window, until either
+the key or button state changes, the pointer leaves the event window, or
+the client calls X:Query-Pointer or X:Get-Motion-Events. The server
+still may send x:Motion-Notify events without is_hint set to
+x:Notify-Hint.
+</p></td></tr>
+<tr><td><p> x:Button1-Motion-Mask
+</p></td><td><p> Pointer motion while button 1 down
+</p></td></tr>
+<tr><td><p> x:Button2-Motion-Mask
+</p></td><td><p> Pointer motion while button 2 down
+</p></td></tr>
+<tr><td><p> x:Button3-Motion-Mask
+</p></td><td><p> Pointer motion while button 3 down
+</p></td></tr>
+<tr><td><p> x:Button4-Motion-Mask
+</p></td><td><p> Pointer motion while button 4 down
+</p></td></tr>
+<tr><td><p> x:Button5-Motion-Mask
+</p></td><td><p> Pointer motion while button 5 down
+</p></td></tr>
+<tr><td><p> x:Button-Motion-Mask
+</p></td><td><p> Pointer motion while any button down
+</p></td></tr>
+<tr><td><p> x:Keymap-State-Mask
+</p></td><td><p> Keyboard state wanted at window entry and focus in
+</p></td></tr>
+<tr><td><p> x:Exposure-Mask
+</p></td><td><p> Any exposure wanted
+</p></td></tr>
+<tr><td><p> x:Visibility-Change-Mask
+</p></td><td><p> Any change in visibility wanted
+</p></td></tr>
+<tr><td><p> x:Structure-Notify-Mask
+</p></td><td><p> Any change in window structure wanted
+</p></td></tr>
+<tr><td><p> x:Resize-Redirect-Mask
+</p></td><td><p> Redirect resize of this window
+</p></td></tr>
+<tr><td><p> x:Substructure-Notify-Mask
+</p></td><td><p> Substructure notification wanted
+</p></td></tr>
+<tr><td><p> x:Substructure-Redirect-Mask
+</p></td><td><p> Redirect structure requests on children
+</p></td></tr>
+<tr><td><p> x:Focus-Change-Mask
+</p></td><td><p> Any change in input focus wanted
+</p></td></tr>
+<tr><td><p> x:Property-Change-Mask
+</p></td><td><p> Any change in property wanted
+</p></td></tr>
+<tr><td><p> x:Colormap-Change-Mask
+</p></td><td><p> Any change in colormap wanted
+</p></td></tr>
+<tr><td><p> x:Owner-Grab-Button-Mask
+</p></td><td><p> Automatic grabs should activate with owner_events set to True
+</p></td></tr>
+</table>
+
+</dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:CW-Dont-Propagate</b>
+<a name="IDX87"></a>
+</dt>
+<dd><p>The do-not-propagate-mask attribute defines which events should not be
+propagated to ancestor windows when no client has the event type
+selected in this x:Input-Output or x:Input-Only window. The
+do-not-propagate-mask is the bitwise inclusive OR of zero or more of the
+following masks: x:Key-Press, x:Key-Release, x:Button-Press,
+x:Button-Release, x:Pointer-Motion, x:Button1Motion, x:Button2Motion,
+x:Button3Motion, x:Button4Motion, x:Button5Motion, and x:Button-Motion.
+You can specify that all events are propagated by setting
+x:No-Event-Mask (default).
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:CW-Colormap</b>
+<a name="IDX88"></a>
+</dt>
+<dd><p>The colormap attribute specifies which colormap best reflects the true
+colors of the x:Input-Output window. The colormap must have the same
+visual type as the window. X servers capable of supporting multiple
+hardware colormaps can use this information, and window managers can use
+it for calls to X:Install-Colormap. You can set the colormap attribute
+to a colormap or to x:Copy-From-Parent (default).
+</p>
+<p>If you set the colormap to x:Copy-From-Parent, the parent window's
+colormap is copied and used by its child. However, the child window
+must have the same visual type as the parent. The parent window must
+not have a colormap of x:None. The colormap is copied by sharing the
+colormap object between the child and parent, not by making a complete
+copy of the colormap contents. Subsequent changes to the parent
+window's colormap attribute do not affect the child window.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:CW-Cursor</b>
+<a name="IDX89"></a>
+</dt>
+<dd><p>The cursor attribute specifies which cursor is to be used when the
+pointer is in the x:Input-Output or x:Input-Only window. You can set
+the cursor to a cursor or x:None (default).
+</p>
+<p>If you set the cursor to x:None, the parent's cursor is used when the
+pointer is in the x:Input-Output or x:Input-Only window, and any change
+in the parent's cursor will cause an immediate change in the displayed
+cursor. On the root window, the default cursor is restored.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:window-ref</b><i> window field-name &hellip;</i>
+<a name="IDX90"></a>
+</dt>
+<dd><p>Returns a list of the components specified by <var>field-name</var>s for the
+specified <var>window</var>. Allowable <var>field-name</var>s are a subset of
+those for <code>x:window-set!</code>:
+</p>
+<ul>
+<li> x:CW-Back-Pixel
+</li><li> x:CW-Bit-Gravity
+</li><li> x:CW-Win-Gravity
+</li><li> x:CW-Backing-Store
+</li><li> x:CW-Backing-Planes
+</li><li> x:CW-Backing-Pixel
+</li><li> x:CW-Override-Redirect
+</li><li> x:CW-Save-Under
+</li><li> x:CW-Event-Mask
+</li><li> x:CW-Dont-Propagate
+</li><li> x:CW-Colormap
+</li></ul>
+</dd></dl>
+
+
+<hr size="6">
+<a name="Window-Properties-and-Visibility"></a>
+<a name="SEC6"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC5" title="Previous section in reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC7" title="Next section in reading order"> &gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#SEC3" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC3" title="Up section"> Up </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC7" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h2 class="section"> 3.3 Window Properties and Visibility </h2>
+
+<dl>
+<dt><u>Function:</u> <b>x:get-window-property</b><i> window property </i>
+<a name="IDX91"></a>
+</dt>
+<dd><p>Returns the (string or list of numbers) value of <var>property</var> of
+<var>window</var>.
+</p><dl>
+<dt><u>Function:</u> <b>x:get-window-property</b><i> window property #t</i>
+<a name="IDX92"></a>
+</dt>
+<dd><p>Removes and returns the (string or list of numbers) value of
+<var>property</var> of <var>window</var>.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:list-properties</b><i> window</i>
+<a name="IDX93"></a>
+</dt>
+<dd><p>Returns a list of the properties (strings) defined for <var>window</var>.
+</p></dd></dl>
+
+
+<p>In X parlance, a window which is hidden even when not obscured by other
+windows is <em>unmapped</em>; one which
+<a name="IDX94"></a>
+<a name="IDX95"></a>
+<a name="IDX96"></a>
+<a name="IDX97"></a>
+shows is <em>mapped</em>. It is an unfortunate name-collision with Scheme,
+and is ingrained in the attribute names.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:map-window</b><i> window</i>
+<a name="IDX98"></a>
+</dt>
+<dd><p>Maps the <var>window</var> and all of its subwindows that have had map
+requests. Mapping a window that has an unmapped ancestor does not
+display the window but marks it as eligible for display when the
+ancestor becomes mapped. Such a window is called unviewable. When all
+its ancestors are mapped, the window becomes viewable and will be
+visible on the screen if it is not obscured by another window. This
+function has no effect if the <var>window</var> is already mapped.
+</p>
+<p>If the override-redirect of the window is False and if some other client
+has selected x:Substructure-Redirect-Mask on the parent window, then the X
+server generates a MapRequest event, and the <code>x:map-window</code>
+function does not map the <var>window</var>. Otherwise, the <var>window</var> is
+mapped, and the X server generates a MapNotify event.
+</p>
+<p>If the <var>window</var> becomes viewable and no earlier contents for it are
+remembered, the X server tiles the <var>window</var> with its background. If
+the window's background is undefined, the existing screen contents are
+not altered, and the X server generates zero or more x:Expose events. If
+backing-store was maintained while the <var>window</var> was unmapped, no
+x:Expose events are generated. If backing-store will now be maintained, a
+full-window exposure is always generated. Otherwise, only visible
+regions may be reported. Similar tiling and exposure take place for any
+newly viewable inferiors.
+</p>
+<p>If the window is an Input-Output window, <code>x:map-window</code> generates
+x:Expose events on each Input-Output window that it causes to be displayed.
+If the client maps and paints the window and if the client begins
+processing events, the window is painted twice. To avoid this, first
+ask for x:Expose events and then map the window, so the client processes
+input events as usual. The event list will include x:Expose for each
+window that has appeared on the screen. The client's normal response to
+an x:Expose event should be to repaint the window. This method usually
+leads to simpler programs and to proper interaction with window
+managers.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:map-subwindows</b><i> window</i>
+<a name="IDX99"></a>
+</dt>
+<dd><p>Maps all subwindows of a specified <var>window</var> in top-to-bottom
+stacking order. The X server generates x:Expose events on each newly
+displayed window. This may be much more efficient than mapping many
+windows one at a time because the server needs to perform much of the
+work only once, for all of the windows, rather than for each window.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:unmap-window</b><i> window</i>
+<a name="IDX100"></a>
+</dt>
+<dd><p>Unmaps the specified <var>window</var> and causes the X server to generate an
+UnmapNotify event. If the specified <var>window</var> is already unmapped,
+<code>x:unmap-window</code> has no effect. Normal exposure processing on
+formerly obscured windows is performed. Any child window will no longer
+be visible until another map call is made on the parent. In other
+words, the subwindows are still mapped but are not visible until the
+parent is mapped. Unmapping a <var>window</var> will generate x:Expose events
+on windows that were formerly obscured by it.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:unmap-subwindows</b><i> window</i>
+<a name="IDX101"></a>
+</dt>
+<dd><p>Unmaps all subwindows for the specified <var>window</var> in bottom-to-top
+stacking order. It causes the X server to generate an UnmapNotify event
+on each subwindow and x:Expose events on formerly obscured windows. Using
+this function is much more efficient than unmapping multiple windows one
+at a time because the server needs to perform much of the work only
+once, for all of the windows, rather than for each window.
+</p></dd></dl>
+
+</dd></dl>
+<hr size="6">
+<a name="Graphics-Context"></a>
+<a name="SEC7"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC6" title="Previous section in reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC9" title="Next section in reading order"> &gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#SEC3" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC9" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h1 class="chapter"> 4. Graphics Context </h1>
+
+
+<p>Most attributes of graphics operations are stored in <em>GC</em>s. These
+include line width, line style, plane mask, foreground, background,
+tile, stipple, clipping region, end style, join style, and so on.
+Graphics operations (for example, drawing lines) use these values to
+determine the actual drawing operation.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:create-gc</b><i> drawable field-name value &hellip;</i>
+<a name="IDX102"></a>
+</dt>
+<dd><p>Creates and returns graphics context. The graphics context can be used
+with any destination drawable having the same root and depth as the
+specified <var>drawable</var>.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:gc-set!</b><i> graphics-context field-name value &hellip;</i>
+<a name="IDX103"></a>
+</dt>
+<dd><p>Changes the components specified by <var>field-name</var>s for the specified
+<var>graphics-context</var>. The restrictions are the same as for
+<code>x:create-gc</code>. The order in which components are verified and
+altered is server dependent. If an error occurs, a subset of the
+components may have been altered.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:copy-gc-fields!</b><i> gcontext-src gcontext-dst field-name &hellip;</i>
+<a name="IDX104"></a>
+</dt>
+<dd><p>Copies the components specified by <var>field-name</var>s from
+<var>gcontext-src</var> to <var>gcontext-dst</var>. <var>Gcontext-src</var> and
+<var>gcontext-dst</var> must have the same root and depth.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:gc-ref</b><i> graphics-context field-name &hellip;</i>
+<a name="IDX105"></a>
+</dt>
+<dd><p>Returns a list of the components specified by <var>field-name</var>s &hellip;
+from the specified <var>graphics-context</var>.
+</p></dd></dl>
+
+<a name="SEC8"></a>
+<h2 class="heading"> GC Attributes </h2>
+
+
+<p>Both <code>x:create-gc</code> and <code>x:change-gc</code> take one argument
+followed by pairs of arguments, where the first is one of the
+property-name symbols (or its top-level value) listed below; and the
+second is the value to associate with that property.
+</p>
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Function</b>
+<a name="IDX106"></a>
+</dt>
+<dd><p>The function attributes of a GC are used when you update a section of a
+drawable (the destination) with bits from somewhere else (the source).
+The function in a GC defines how the new destination bits are to be
+computed from the source bits and the old destination bits. x:G-Xcopy is
+typically the most useful because it will work on a color display, but
+special applications may use other functions, particularly in concert
+with particular planes of a color display. The 16 functions are:
+</p>
+<table><tr><td>&nbsp;</td><td><pre class="format"><tt>
+x:G-Xclear 0
+x:G-Xand (AND src dst)
+x:G-Xand-Reverse (AND src (NOT dst))
+x:G-Xcopy src
+x:G-Xand-Inverted (AND (NOT src) dst)
+x:G-Xnoop dst
+x:G-Xxor (XOR src dst)
+x:G-Xor (OR src dst)
+x:G-Xnor (AND (NOT src) (NOT dst))
+x:G-Xequiv (XOR (NOT src) dst)
+x:G-Xinvert (NOT dst)
+x:G-Xor-Reverse (OR src (NOT dst))
+x:G-Xcopy-Inverted (NOT src)
+x:G-Xor-Inverted (OR (NOT src) dst)
+x:G-Xnand (OR (NOT src) (NOT dst))
+x:G-Xset 1</tt>
+</pre></td></tr></table></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Plane-Mask</b>
+<a name="IDX107"></a>
+</dt>
+<dd><p>Many graphics operations depend on either pixel values or planes in a
+GC. The planes attribute is an integer which specifies which planes of
+the destination are to be modified, one bit per plane. A monochrome
+display has only one plane and will be the least significant bit of the
+integer. As planes are added to the display hardware, they will occupy
+more significant bits in the plane mask.
+</p>
+<p>In graphics operations, given a source and destination pixel, the result
+is computed bitwise on corresponding bits of the pixels. That is, a
+Boolean operation is performed in each bit plane. The plane-mask
+restricts the operation to a subset of planes. <code>x:All-Planes</code> can be
+used to refer to all planes of the screen simultaneously. The result is
+computed by the following:
+</p>
+<table><tr><td>&nbsp;</td><td><pre class="format">(OR (AND (FUNC src dst) plane-mask) (AND dst (NOT plane-mask)))
+</pre></td></tr></table>
+<p>Range checking is not performed on a plane-mask value. It is simply
+truncated to the appropriate number of bits.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Foreground</b>
+<a name="IDX108"></a>
+</dt>
+<dt><u>Attribute:</u> <b>x:GC-Background</b>
+<a name="IDX109"></a>
+</dt>
+<dd><p>Range checking is not performed on the values for foreground or
+background. They are simply truncated to the appropriate number of
+bits.
+</p>
+<p>Note that foreground and background are not initialized to any values
+likely to be useful in a window.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Line-Width</b>
+<a name="IDX110"></a>
+</dt>
+<dd><p>The line-width is measured in pixels and either can be greater than or
+equal to one (wide line) or can be the special value zero (thin line).
+</p>
+<p>Thin lines (zero line-width) are one-pixel-wide lines drawn using an
+unspecified, device-dependent algorithm. There are only two constraints
+on this algorithm.
+</p>
+<ul>
+<li>
+If a line is drawn unclipped from [x1,y1] to [x2,y2] and if another line
+is drawn unclipped from [x1+dx,y1+dy] to [x2+dx,y2+dy], a point [x,y] is
+touched by drawing the first line if and only if the point [x+dx,y+dy]
+is touched by drawing the second line.
+
+</li><li>
+The effective set of points comprising a line cannot be affected by
+clipping. That is, a point is touched in a clipped line if and only if
+the point lies inside the clipping region and the point would be touched
+by the line when drawn unclipped.
+</li></ul>
+
+<p>A wide line drawn from [x1,y1] to [x2,y2] always draws the same pixels
+as a wide line drawn from [x2,y2] to [x1,y1], not counting cap-style and
+join-style. It is recommended that this property be true for thin
+lines, but this is not required. A line-width of zero may differ from a
+line-width of one in which pixels are drawn. This permits the use of
+many manufacturers' line drawing hardware, which may run many times
+faster than the more precisely specified wide lines.
+</p>
+<p>In general, drawing a thin line will be faster than drawing a wide line
+of width one. However, because of their different drawing algorithms,
+thin lines may not mix well aesthetically with wide lines. If it is
+desirable to obtain precise and uniform results across all displays, a
+client should always use a line-width of one rather than a linewidth of
+zero.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Line-Style</b>
+<a name="IDX111"></a>
+</dt>
+<dd><p>The line-style defines which sections of a line are drawn:
+</p>
+<dl compact="compact">
+<dt> <tt>x:Line-Solid</tt></dt>
+<dd><p>The full path of the line is drawn.
+</p></dd>
+<dt> <tt>x:Line-Double-Dash</tt></dt>
+<dd><p>The full path of the line is drawn, but the even dashes are filled
+differently from the odd dashes (see fill-style) with x:Cap-Butt style used
+where even and odd dashes meet.
+</p></dd>
+<dt> <tt>x:Line-On-Off-Dash</tt></dt>
+<dd><p>Only the even dashes are drawn, and cap-style applies to all internal
+ends of the individual dashes, except x:Cap-Not-Last is treated as x:Cap-Butt.
+</p></dd>
+</dl>
+</dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Cap-Style</b>
+<a name="IDX112"></a>
+</dt>
+<dd><p>The cap-style defines how the endpoints of a path are drawn:
+</p>
+<dl compact="compact">
+<dt> <tt>x:Cap-Not-Last</tt></dt>
+<dd><p>This is equivalent to x:Cap-Butt except that for a line-width of zero the
+final endpoint is not drawn.
+</p></dd>
+<dt> <tt>x:Cap-Butt</tt></dt>
+<dd><p>The line is square at the endpoint (perpendicular to the slope of the
+line) with no projection beyond.
+</p></dd>
+<dt> <tt>x:Cap-Round</tt></dt>
+<dd><p>The line has a circular arc with the diameter equal to the line-width,
+centered on the endpoint. (This is equivalent to x:Cap-Butt for line-width
+of zero).
+</p></dd>
+<dt> <tt>x:Cap-Projecting</tt></dt>
+<dd><p>The line is square at the end, but the path continues beyond the
+endpoint for a distance equal to half the line-width. (This is
+equivalent to x:Cap-Butt for line-width of zero).
+</p></dd>
+</dl>
+</dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Join-Style</b>
+<a name="IDX113"></a>
+</dt>
+<dd><p>The join-style defines how corners are drawn for wide lines:
+</p>
+<dl compact="compact">
+<dt> <tt>x:Join-Miter</tt></dt>
+<dd><p>The outer edges of two lines extend to meet at an angle. However, if
+the angle is less than 11 degrees, then a x:Join-Bevel join-style is used
+instead.
+</p></dd>
+<dt> <tt>x:Join-Round</tt></dt>
+<dd><p>The corner is a circular arc with the diameter equal to the
+line-width, centered on the x:Join-point.
+</p></dd>
+<dt> <tt>x:Join-Bevel</tt></dt>
+<dd><p>The corner has x:Cap-Butt endpoint styles with the triangular notch filled.
+</p></dd>
+</dl>
+</dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Fill-Style</b>
+<a name="IDX114"></a>
+</dt>
+<dd><p>The fill-style defines the contents of the source for line, text, and
+fill requests. For all text and fill requests (for example,
+X:Draw-Text, X:Fill-Rectangle, X:Fill-Polygon, and X:Fill-Arc); for line
+requests with linestyle x:Line-Solid (for example, X:Draw-Line,
+X:Draw-Segments, X:Draw-Rectangle, X:Draw-Arc); and for the even dashes
+for line requests with line-style x:Line-On-Off-Dash or
+x:Line-Double-Dash, the following apply:
+</p>
+<dl compact="compact">
+<dt> <tt>x:Fill-Solid</tt></dt>
+<dd><p>Foreground
+</p></dd>
+<dt> <tt>x:Fill-Tiled</tt></dt>
+<dd><p>Tile
+</p></dd>
+<dt> <tt>x:Fill-Opaque-Stippled</tt></dt>
+<dd><p>A tile with the same width and height as stipple, but with background
+everywhere stipple has a zero and with foreground everywhere stipple has
+a one
+</p></dd>
+<dt> <tt>x:Fill-Stippled</tt></dt>
+<dd><p>Foreground masked by stipple
+</p></dd>
+</dl>
+
+<p>When drawing lines with line-style x:Line-Double-Dash, the odd dashes
+are controlled by the fill-style in the following manner:
+</p>
+<dl compact="compact">
+<dt> <tt>x:Fill-Solid</tt></dt>
+<dd><p>Background
+</p></dd>
+<dt> <tt>x:Fill-Tiled</tt></dt>
+<dd><p>Same as for even dashes
+</p></dd>
+<dt> <tt>x:Fill-Opaque-Stippled</tt></dt>
+<dd><p>Same as for even dashes
+</p></dd>
+<dt> <tt>x:Fill-Stippled</tt></dt>
+<dd><p>Background masked by stipple
+</p></dd>
+</dl>
+</dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Fill-Rule</b>
+<a name="IDX115"></a>
+</dt>
+<dd><p>The fill-rule defines what pixels are inside (drawn) for paths given in
+X:Fill-Polygon requests and can be set to x:Even-Odd-Rule or
+x:Winding-Rule.
+</p>
+<dl compact="compact">
+<dt> <tt>x:Even-Odd-Rule</tt></dt>
+<dd><p>A point is inside if an infinite ray with the point as
+origin crosses the path an odd number of times.
+</p></dd>
+<dt> <tt>x:Winding-Rule</tt></dt>
+<dd><p>A point is inside if an infinite ray with the point as origin crosses an
+unequal number of clockwise and counterclockwise directed path segments.
+</p></dd>
+</dl>
+
+<p>A clockwise directed path segment is one that crosses the ray from left
+to right as observed from the point. A counterclockwise segment is one
+that crosses the ray from right to left as observed from the point. The
+case where a directed line segment is coincident with the ray is
+uninteresting because you can simply choose a different ray that is not
+coincident with a segment.
+</p>
+<p>For both x:Even-Odd-Rule and x:Winding-Rule, a point is infinitely
+small, and the path is an infinitely thin line. A pixel is inside if
+the center point of the pixel is inside and the center point is not on
+the boundary. If the center point is on the boundary, the pixel is
+inside if and only if the polygon interior is immediately to its right
+(x increasing direction). Pixels with centers on a horizontal edge are
+a special case and are inside if and only if the polygon interior is
+immediately below (y increasing direction).
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Tile</b>
+<a name="IDX116"></a>
+</dt>
+<dt><u>Attribute:</u> <b>x:GC-Stipple</b>
+<a name="IDX117"></a>
+</dt>
+<dd><p>The tile/stipple represents an infinite two-dimensional plane, with the
+tile/stipple replicated in all dimensions.
+</p>
+<p>The tile pixmap must have the same root and depth as the GC, or an error
+results. The stipple pixmap must have depth one and must have the same
+root as the GC, or an error results. For stipple operations where the
+fill-style is x:Fill-Stippled but not x:Fill-Opaque-Stippled, the
+stipple pattern is tiled in a single plane and acts as an additional
+clip mask to be ANDed with the clip-mask. Although some sizes may be
+faster to use than others, any size pixmap can be used for tiling or
+stippling.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Tile-Stip-X-Origin</b>
+<a name="IDX118"></a>
+</dt>
+<dt><u>Attribute:</u> <b>x:GC-Tile-Stip-Y-Origin</b>
+<a name="IDX119"></a>
+</dt>
+<dd><p>When the tile/stipple plane is superimposed on a drawable for use in a
+graphics operation, the upper-left corner of some instance of the
+tile/stipple is at the coordinates within the drawable specified by the
+tile/stipple origin. The tile/stipple origin is interpreted relative to
+the origin of whatever destination drawable is specified in a graphics
+request.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Font</b>
+<a name="IDX120"></a>
+</dt>
+<dd><p>The font to be used for drawing text.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Subwindow-Mode</b>
+<a name="IDX121"></a>
+</dt>
+<dd><p>You can set the subwindow-mode to x:Clip-By-Children or
+x:Include-Inferiors.
+</p><dl compact="compact">
+<dt> <tt>x:Clip-By-Children</tt></dt>
+<dd><p>Both source and destination windows are additionally clipped by all
+viewable Input-Output children.
+</p></dd>
+<dt> <tt>x:Include-Inferiors</tt></dt>
+<dd><p>Neither source nor destination window is clipped by inferiors. This
+will result in including subwindow contents in the source and drawing
+through subwindow boundaries of the destination. The use of
+<code>x:Include-Inferiors</code> on a window of one depth with mapped
+inferiors of differing depth is not illegal, but the semantics are
+undefined by the core protocol.
+</p></dd>
+</dl>
+</dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Graphics-Exposures</b>
+<a name="IDX122"></a>
+</dt>
+<dd><p>The graphics-exposure flag controls x:Graphics-Expose event generation
+for X:Copy-Area and X:Copy-Plane requests (and any similar requests
+defined by extensions).
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Clip-X-Origin</b>
+<a name="IDX123"></a>
+</dt>
+<dt><u>Attribute:</u> <b>x:GC-Clip-Y-Origin</b>
+<a name="IDX124"></a>
+</dt>
+<dd><p>The clip-mask origin is interpreted relative to the origin of whatever
+destination drawable is specified in a graphics request.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Clip-Mask</b>
+<a name="IDX125"></a>
+</dt>
+<dd><p>The clip-mask restricts writes to the destination drawable. If the
+clip-mask is set to a pixmap, it must have depth one and have the same
+root as the GC, or an error results. If clip-mask is set to
+<a name="IDX126"></a>
+<a name="IDX127"></a>
+<em>x:None</em>, the pixels are always drawn regardless of the clip origin.
+The clip-mask also can be set by calling <code>X:Set-Region</code>. Only
+pixels where the clip-mask has a bit set to 1 are drawn. Pixels are not
+drawn outside the area covered by the clip-mask or where the clip-mask
+has a bit set to 0. The clip-mask affects all graphics requests. The
+clip-mask does not clip sources. The clip-mask origin is interpreted
+relative to the origin of whatever destination drawable is specified in
+a graphics request.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Dash-Offset</b>
+<a name="IDX128"></a>
+</dt>
+<dd><p>Defines the phase of the pattern, specifying how many pixels into the
+dash-list the pattern should actually begin in any single graphics
+request. Dashing is continuous through path elements combined with a
+join-style but is reset to the dash-offset between each sequence of
+joined lines.
+</p>
+<p>The unit of measure for dashes is the same for the ordinary
+coordinate system. Ideally, a dash length is measured along
+the slope of the line, but implementations are only required
+to match this ideal for horizontal and vertical lines.
+Failing the ideal semantics, it is suggested that the length
+be measured along the major axis of the line. The major
+axis is defined as the x axis for lines drawn at an angle of
+between -45 and +45 degrees or between 135 and 225 degrees
+from the x axis. For all other lines, the major axis is the
+y axis.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Dash-List</b>
+<a name="IDX129"></a>
+</dt>
+<dd><p>There must be at least one element in the specified <var>dash-list</var>.
+The initial and alternating elements (second, fourth, and so on) of the
+<var>dash-list</var> are the even dashes, and the others are the odd dashes.
+Each element specifies a dash length in pixels. All of the elements
+must be nonzero. Specifying an odd-length list is equivalent to
+specifying the same list concatenated with itself to produce an
+even-length list.
+</p></dd></dl>
+
+<dl>
+<dt><u>Attribute:</u> <b>x:GC-Arc-Mode</b>
+<a name="IDX130"></a>
+</dt>
+<dd><p>The arc-mode controls filling in the X:Fill-Arcs function and can be set
+to x:Arc-Pie-Slice or x:Arc-Chord.
+</p><dl compact="compact">
+<dt> <tt>x:Arc-Pie-Slice</tt></dt>
+<dd><p>The arcs are pie-slice filled.
+</p></dd>
+<dt> <tt>x:Arc-Chord</tt></dt>
+<dd><p>The arcs are chord filled.
+</p></dd>
+</dl>
+</dd></dl>
+
+
+<hr size="6">
+<a name="Cursor"></a>
+<a name="SEC9"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC7" title="Previous section in reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC10" title="Next section in reading order"> &gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#SEC7" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC10" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h1 class="chapter"> 5. Cursor </h1>
+
+<dl>
+<dt><u>Function:</u> <b>x:create-cursor</b><i> display shape</i>
+<a name="IDX131"></a>
+</dt>
+<dd><p>X provides a set of standard cursor shapes in a special font named
+<a name="IDX132"></a>
+<em>cursor</em>. Applications are encouraged to use this interface for
+their cursors because the font can be customized for the individual
+display type. The <var>shape</var> argument specifies which glyph of the standard
+fonts to use.
+</p>
+<p>The hotspot comes from the information stored in the cursor font. The
+initial colors of a cursor are a black foreground and a white background
+(see X:Recolor-Cursor). The names of all cursor shapes are defined with
+the prefix XC: in <tt>`x11.scm'</tt>.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:create-cursor</b><i> source-font source-char mask-font mask-char fgc bgc</i>
+<a name="IDX133"></a>
+</dt>
+<dd><p>Creates a cursor from the source and mask bitmaps obtained from the
+specified font glyphs. The integer <var>source-char</var> must be a defined
+glyph in <var>source-font</var>. The integer <var>mask-char</var> must be a
+defined glyph in <var>mask-font</var>. The origins of the <var>source-char</var>
+and <var>mask-char</var> glyphs are positioned coincidently and define the
+hotspot. The <var>source-char</var> and <var>mask-char</var> need not have the
+same bounding box metrics, and there is no restriction on the placement
+of the hotspot relative to the bounding boxes.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:create-cursor</b><i> source-font source-char #f #f fgc bgc</i>
+<a name="IDX134"></a>
+</dt>
+<dd><p>If <var>mask-font</var> and <var>mask-char</var> are #f, all pixels of the source
+are displayed.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:create-cursor</b><i> source-pixmap mask-pixmap fgc bgc origin</i>
+<a name="IDX135"></a>
+</dt>
+<dd><p><var>mask-pixmap</var> must be the same size as the pixmap defined by the
+<var>source-pixmap</var> argument. The foreground and background RGB values
+must be specified using <var>foreground-color</var> and
+<var>background-color</var>, even if the X server only has a x:Static-Gray or
+x:Gray-Scale screen. The hotspot must be a point within the
+<var>source-pixmap</var>.
+</p>
+<p><code>X:Create-Cursor</code> creates and returns a cursor. The
+<var>foreground-color</var> is used for the pixels set to 1 in the source,
+and the <var>background-color</var> is used for the pixels set to 0. Both
+source and mask must have depth one but can have any root. The
+<var>mask-pixmap</var> defines the shape of the cursor. The pixels set to 1
+in <var>mask-pixmap</var> define which source pixels are displayed, and the
+pixels set to 0 define which pixels are ignored.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:create-cursor</b><i> source-pixmap #f fgc bgc origin</i>
+<a name="IDX136"></a>
+</dt>
+<dd><p>If <var>mask-pixmap</var> is #f, all pixels of the source are displayed.
+</p></dd></dl>
+
+</dd></dl>
+</dd></dl>
+</dd></dl>
+</dd></dl>
+<hr size="6">
+<a name="Colormap"></a>
+<a name="SEC10"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC9" title="Previous section in reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC11" title="Next section in reading order"> &gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#SEC9" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC11" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h1 class="chapter"> 6. Colormap </h1>
+
+<p>A <em>colormap</em> maps pixel values to <em>RGB</em> color space values.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:create-colormap</b><i> window visual alloc-policy</i>
+<a name="IDX137"></a>
+</dt>
+<dd><p><var>window</var> specifies the window on whose screen you want to create a
+colormap. <var>visual</var> specifies a visual type supported on the screen.
+<var>alloc-policy</var> Specifies the colormap entries to be allocated. You
+can pass <code>X:Alloc-None</code> or <code>X:Alloc-All</code>.
+</p>
+<p>The <code>X:Create-Colormap</code> function creates and returns a colormap of
+the specified <var>visual</var> type for the screen on which <var>window</var>
+resides. Note that <var>window</var> is used only to determine the screen.
+</p>
+<dl compact="compact">
+<dt> <samp>`X:Gray-Scale'</samp></dt>
+<dt> <samp>`X:Pseudo-Color'</samp></dt>
+<dt> <samp>`X:Direct-Color'</samp></dt>
+<dd><p>The initial values of the colormap entries are undefined.
+</p>
+</dd>
+<dt> <samp>`X:Static-Gray'</samp></dt>
+<dt> <samp>`X:Static-Color'</samp></dt>
+<dt> <samp>`X:True-Color'</samp></dt>
+<dd><p>The entries have defined values, but those values are specific to
+<var>visual</var> and are not defined by X. The <var>alloc-policy</var> must be
+<samp>`X:Alloc-None'</samp>.
+</p>
+</dd>
+</dl>
+
+<p>For the other visual classes, if <var>alloc-policy</var> is
+<samp>`X:Alloc-None'</samp>, the colormap initially has no allocated entries,
+and clients can allocate them.
+</p>
+<p>If <var>alloc-policy</var> is <samp>`X:Alloc-All'</samp>, the entire colormap is
+allocated writable. The initial values of all allocated entries are
+undefined.
+</p>
+<dl compact="compact">
+<dt> <samp>`X:Gray-Scale'</samp></dt>
+<dt> <samp>`X:Pseudo-Color'</samp></dt>
+<dd><p>The effect is as if an <code>XAllocColorCells</code> call returned all pixel
+values from zero to N - 1, where N is the colormap entries value in
+<var>visual</var>.
+</p>
+</dd>
+<dt> <samp>`X:Direct-Color'</samp></dt>
+<dd><p>The effect is as if an <code>XAllocColorPlanes</code> call returned a pixel
+value of zero and red_mask, green_mask, and blue_mask values containing
+the same bits as the corresponding masks in the specified visual.
+</p></dd>
+</dl>
+
+</dd></dl>
+
+
+<p>To create a new colormap when the allocation out of a previously
+shared colormap has failed because of resource exhaustion, use:
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:copy-colormap-and-free</b><i> colormap</i>
+<a name="IDX138"></a>
+</dt>
+<dd><p>Creates and returns a colormap of the same visual type and for the same
+screen as the specified <var>colormap</var>. It also moves all of the
+client's existing allocation from the specified <var>colormap</var> to the
+new colormap with their color values intact and their read-only or
+writable characteristics intact and frees those entries in the specified
+colormap. Color values in other entries in the new colormap are
+undefined. If the specified colormap was created by the client with
+alloc set to <samp>`X:Alloc-All'</samp>, the new colormap is also created with
+<samp>`X:Alloc-All'</samp>, all color values for all entries are copied from the
+specified <var>colormap</var>, and then all entries in the specified
+<var>colormap</var> are freed. If the specified <var>colormap</var> was not
+created by the client with <samp>`X:Alloc-All'</samp>, the allocations to be moved
+are all those pixels and planes that have been allocated by the client
+and that have not been freed since they were allocated.
+</p>
+</dd></dl>
+
+<p>A <em>colormap</em> maps pixel values to elements of the <em>RGB</em>
+datatype. An <var>RGB</var> is a list or vector of 3 integers, describing
+the red, green, and blue intensities respectively. The integers are in
+the range 0 - 65535.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:alloc-colormap-cells</b><i> colormap ncolors nplanes</i>
+<a name="IDX139"></a>
+</dt>
+<dt><u>Function:</u> <b>x:alloc-colormap-cells</b><i> colormap ncolors nplanes contiguous?</i>
+<a name="IDX140"></a>
+</dt>
+<dd><p>The <code>X:Alloc-Color-Cells</code> function allocates read/write color
+cells. The number of colors, <var>ncolors</var> must be positive and the
+number of planes, <var>nplanes</var> nonnegative. If <var>ncolors</var> and
+nplanes are requested, then <var>ncolors</var> pixels and nplane plane masks
+are returned. No mask will have any bits set to 1 in common with any
+other mask or with any of the pixels. By ORing together each pixel with
+zero or more masks, <var>ncolors</var> * 2^<var>nplanes</var> distinct pixels can
+be produced. All of these are allocated writable by the request.
+</p>
+<dl compact="compact">
+<dt> <samp>`x:Gray-Scale'</samp></dt>
+<dt> <samp>`x:Pseudo-Color'</samp></dt>
+<dd><p>Each mask has exactly one bit set to 1. If <var>contiguous?</var> is
+non-false and if all masks are ORed together, a single contiguous set of
+bits set to 1 is formed.
+</p></dd>
+<dt> <samp>`x:Direct-Color'</samp></dt>
+<dd><p>Each mask has exactly three bits set to 1. If <var>contiguous?</var> is
+non-false and if all masks are ORed together, three contiguous sets of
+bits set to 1 (one within each pixel subfield) is formed.
+</p></dd>
+</dl>
+
+<p>The RGB values of the allocated entries are undefined.
+<code>X:Alloc-Color-Cells</code> returns a list of two uniform arrays if it
+succeeded or #f if it failed. The first array has the pixels allocated
+and the second has the plane-masks.
+</p>
+
+<dl>
+<dt><u>Function:</u> <b>x:alloc-colormap-cells</b><i> colormap ncolors rgb</i>
+<a name="IDX141"></a>
+</dt>
+<dt><u>Function:</u> <b>x:alloc-colormap-cells</b><i> colormap ncolors rgb contiguous?</i>
+<a name="IDX142"></a>
+</dt>
+<dd><p>The specified <var>ncolors</var> must be positive; and <var>rgb</var> a list or
+vector of 3 nonnegative integers. If <var>ncolors</var> colors, <var>nreds</var>
+reds, <var>ngreens</var> greens, and <var>nblues</var> blues are requested,
+<var>ncolors</var> pixels are returned; and the masks have <var>nreds</var>,
+<var>ngreens</var>, and <var>nblues</var> bits set to 1, respectively. If
+<var>contiguous?</var> is non-false, each mask will have a contiguous set of
+bits set to 1. No mask will have any bits set to 1 in common with any
+other mask or with any of the pixels.
+</p>
+<p>Each mask will lie within the corresponding pixel subfield. By ORing
+together subsets of masks with each pixel value, <var>ncolors</var> *
+2(<var>nreds</var>+<var>ngreens</var>+<var>nblues</var>) distinct pixel values can be
+produced. All of these are allocated by the request. However, in the
+colormap, there are only <var>ncolors</var> * 2^<var>nreds</var> independent red
+entries, <var>ncolors</var> * 2^<var>ngreens</var> independent green entries, and
+<var>ncolors</var> * 2^<var>nblues</var> independent blue entries.
+</p>
+<p><code>X:Alloc-Color-Cells</code> returns a list if it succeeded or #f if it
+failed. The first element of the list has an array of the pixels
+allocated. The second, third, and fourth elements are the red, green,
+and blue plane-masks.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:free-colormap-cells</b><i> colormap pixels planes</i>
+<a name="IDX143"></a>
+</dt>
+<dt><u>Function:</u> <b>x:free-colormap-cells</b><i> colormap pixels</i>
+<a name="IDX144"></a>
+</dt>
+<dd><p>Frees the cells represented by pixels whose values are in the
+<var>pixels</var> unsigned-integer uniform-vector. The <var>planes</var> argument
+should not have any bits set to 1 in common with any of the pixels. The
+set of all pixels is produced by ORing together subsets of the
+<var>planes</var> argument with the pixels. The request frees all of these
+pixels that were allocated by the client. Note that freeing an
+individual pixel obtained from <code>X:Alloc-Colormap-Cells</code> with a
+planes argument may not actually allow it to be reused until all of its
+related pixels are also freed. Similarly, a read-only entry is not
+actually freed until it has been freed by all clients, and if a client
+allocates the same read-only entry multiple times, it must free the
+entry that many times before the entry is actually freed.
+</p>
+<p>All specified pixels that are allocated by the client in the
+<var>colormap</var> are freed, even if one or more pixels produce an error.
+It is an error if a specified pixel is not allocated by the client (that
+is, is unallocated or is only allocated by another client) or if the
+colormap was created with all entries writable (by passing
+<samp>`x:Alloc-All'</samp> to <code>X:Create-Colormap</code>). If more than one pixel
+is in error, the one that gets reported is arbitrary.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:colormap-find-color</b><i> colormap rgb</i>
+<a name="IDX145"></a>
+</dt>
+<dd><p><var>rgb</var> is a list or vector of 3 integers, describing the red, green,
+and blue intensities respectively; or an integer <samp>`#x<i>rrggbb</i>'</samp>,
+packing red, green and blue intensities in the range 0 - 255.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:colormap-find-color</b><i> colormap color-name</i>
+<a name="IDX146"></a>
+</dt>
+<dd><p>The case-insensitive string <var>color_name</var> specifies the name of a
+color (for example, <tt>`red'</tt>)
+</p>
+<p><code>X:Colormap-Find-Color</code> allocates a read-only colormap entry
+corresponding to the closest RGB value supported by the hardware.
+<code>X:Colormap-Find-Color</code> returns the pixel value of the color
+closest to the specified <var>RGB</var> or <var>color_name</var> elements
+supported by the hardware, if successful; otherwise
+<code>X:Colormap-Find-Color</code> returns #f.
+</p>
+<p>Multiple clients that request the same effective RGB value can
+be assigned the same read-only entry, thus allowing entries to be
+shared. When the last client deallocates a shared cell, it is
+deallocated.
+</p>
+</dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:color-ref</b><i> colormap pixel</i>
+<a name="IDX147"></a>
+</dt>
+<dd><p>Returns a list of 3 integers, describing the red, green,
+and blue intensities respectively of the <var>colormap</var> entry of the
+cell indexed by <var>pixel</var>.
+</p>
+<p>The integer <var>pixel</var> must be a valid index into <var>colormap</var>.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>X:Color-Set!</b><i> colormap pixel rgb</i>
+<a name="IDX148"></a>
+</dt>
+<dd><p><var>rgb</var> is a list or vector of 3 integers, describing the red, green,
+and blue intensities respectively; or an integer <samp>`#x<i>rrggbb</i>'</samp>,
+packing red, green and blue intensities in the range 0 - 255.
+</p>
+<dl>
+<dt><u>Function:</u> <b>X:Color-Set!</b><i> colormap pixel color-name</i>
+<a name="IDX149"></a>
+</dt>
+<dd><p>The case-insensitive string <var>color_name</var> specifies the name of a
+color (for example, <tt>`red'</tt>)
+</p>
+<p>The integer <var>pixel</var> must be a valid index into <var>colormap</var>.
+</p>
+<p><code>X:Color-Set!</code> changes the <var>colormap</var> entry of the read/write
+cell indexed by <var>pixel</var>. If the <var>colormap</var> is an installed map
+for its screen, the changes are visible immediately.
+</p>
+</dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:install-colormap</b><i> colormap</i>
+<a name="IDX150"></a>
+</dt>
+<dd><p>Installs the specified <var>colormap</var> for its associated screen. All
+windows associated with <var>colormap</var> immediately display with true
+colors. A colormap is associated with a window when the window is
+created or its attributes changed.
+</p>
+<p>If the specified colormap is not already an installed colormap, the X
+server generates a ColormapNotify event on each window that has that
+colormap.
+</p>
+</dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:ccc</b><i> colormap</i>
+<a name="IDX151"></a>
+</dt>
+<dd><p>Returns the Color-Conversion-Context of <var>colormap</var>.
+</p></dd></dl>
+
+
+</dd></dl>
+</dd></dl>
+</dd></dl>
+<hr size="6">
+<a name="Rendering"></a>
+<a name="SEC11"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC10" title="Previous section in reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC14" title="Next section in reading order"> &gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#SEC10" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC14" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h1 class="chapter"> 7. Rendering </h1>
+
+<dl>
+<dt><u>Function:</u> <b>x:flush</b><i> display</i>
+<a name="IDX152"></a>
+</dt>
+<dt><u>Function:</u> <b>x:flush</b><i> window</i>
+<a name="IDX153"></a>
+</dt>
+<dd><p>Flushes the output buffer. Some client applications need not use this
+function because the output buffer is automatically flushed as needed by
+calls to X:Pending, X:Next-Event, and X:Window-Event. Events generated
+by the server may be enqueued into the library's event queue.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:flush</b><i> gc</i>
+<a name="IDX154"></a>
+</dt>
+<dd><p>Forces sending of GC component changes.
+</p>
+<p>Xlib usually defers sending changes to the components of a GC to the
+server until a graphics function is actually called with that GC. This
+permits batching of component changes into a single server request. In
+some circumstances, however, it may be necessary for the client to
+explicitly force sending the changes to the server. An example might be
+when a protocol extension uses the GC indirectly, in such a way that the
+extension interface cannot know what GC will be used.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:clear-area</b><i> window (x-pos y-pos) (width height) expose?</i>
+<a name="IDX155"></a>
+</dt>
+<dd><p>Paints a rectangular area in the specified <var>window</var> according to the
+specified dimensions with the <var>window</var>'s background pixel or pixmap.
+The subwindow-mode effectively is <samp>`x:Clip-By-Children'</samp>. If width
+is zero, it is replaced with the current width of the <var>window</var> minus
+x. If height is zero, it is replaced with the current height of the
+<var>window</var> minus y. If the <var>window</var> has a defined background
+tile, the rectangle clipped by any children is filled with this tile.
+If the <var>window</var> has background x:None, the contents of the
+<var>window</var> are not changed. In either case, if <var>expose?</var> is True,
+one or more x:Expose events are generated for regions of the rectangle
+that are either visible or are being retained in a backing store. If
+you specify a <var>window</var> whose class is x:Input-Only, an error
+results.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:fill-rectangle</b><i> window gcontext position size</i>
+<a name="IDX156"></a>
+</dt>
+</dl>
+
+</dd></dl>
+<a name="SEC12"></a>
+<h2 class="heading"> Draw Strings </h2>
+
+<dl>
+<dt><u>Function:</u> <b>x:draw-string</b><i> drawable gc position string</i>
+<a name="IDX157"></a>
+</dt>
+<dd><p><var>Position</var> specifies coordinates relative to the origin of
+<var>drawable</var> of the origin of the first character to be drawn.
+</p>
+<p><code>x:draw-string</code> draws the characters of <var>string</var>, starting at
+<var>position</var>.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:image-string</b><i> drawable gc position string</i>
+<a name="IDX158"></a>
+</dt>
+<dd><p><var>Position</var> specifies coordinates relative to the origin of
+<var>drawable</var> of the origin of the first character to be drawn.
+</p>
+<p><code>x:image-string</code> draws the characters <em>and background</em> of
+<var>string</var>, starting at <var>position</var>.
+</p></dd></dl>
+
+<a name="SEC13"></a>
+<h2 class="heading"> Draw Shapes </h2>
+
+<dl>
+<dt><u>Function:</u> <b>x:draw-points</b><i> drawable gc position &hellip;</i>
+<a name="IDX159"></a>
+</dt>
+<dd><p><var>Position</var> &hellip; specifies coordinates of the point to be drawn.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:draw-points</b><i> drawable gc x y &hellip;</i>
+<a name="IDX160"></a>
+</dt>
+<dd><p>(<var>x</var>, <var>y</var>) &hellip; specifies coordinates of the point to be
+drawn.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:draw-points</b><i> drawable gc point-array</i>
+<a name="IDX161"></a>
+</dt>
+<dd><p><var>point-array</var> is a uniform short array of rank 2, whose rightmost
+index spans a range of 2.
+</p>
+<p>The <code>X:Draw-Points</code> procedure uses the foreground pixel and
+function components of the <var>gc</var> to draw points into <var>drawable</var>
+at the positions (relative to the origin of <var>drawable</var>) specified.
+</p>
+<p><code>X:Draw-Points</code> uses these <var>gc</var> components: function,
+planemask, foreground, subwindow-mode, clip-x-origin, clip-y-origin, and
+clip-mask.
+</p></dd></dl>
+
+
+<dl>
+<dt><u>Function:</u> <b>x:draw-segments</b><i> drawable gc pos1 pos2 &hellip;</i>
+<a name="IDX162"></a>
+</dt>
+<dd><p><var>Pos1</var>, <var>pos2</var>, &hellip; specify coordinates to be connected by
+segments.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:draw-segments</b><i> drawable gc x1 y1 x2 y2 &hellip;</i>
+<a name="IDX163"></a>
+</dt>
+<dd><p>(<var>x1</var>, <var>y1</var>), (<var>x2</var>, <var>y2</var>) &hellip; specify coordinates
+to be connected by segments.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:draw-segments</b><i> drawable gc point-array</i>
+<a name="IDX164"></a>
+</dt>
+<dd><p><var>point-array</var> is a uniform short array of rank 2, whose rightmost
+index spans a range of 2.
+</p>
+<p>The <code>X:Draw-Segments</code> procedure uses the components of the
+specified <var>gc</var> to draw multiple unconnected lines between disjoint
+adjacent pair of points passed as arguments. It draws the segments in
+order and does not perform joining at coincident endpoints. For any
+given line, <code>X:Draw-Segments</code> does not draw a pixel more than once.
+If thin (zero line-width) segments intersect, the intersecting pixels
+are drawn multiple times. If wide segments intersect, the intersecting
+pixels are drawn only once, as though the entire PolyLine protocol
+request were a single, filled shape. <code>X:Draw-Segments</code> treats all
+coordinates as relative to the origin of <var>drawable</var>.
+</p>
+<p><code>X:Draw-Segments</code> uses these <var>gc</var> components: function,
+plane-mask, line-width, line-style, cap-style, fill-style,
+subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask, join-style.
+It also use these <var>gc</var> mode-dependent components: foreground,
+background, tile, stipple, tilestipple-x-origin, tile-stipple-y-origin,
+dash-offset, and dash-list.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:draw-lines</b><i> drawable gc pos1 pos2 &hellip;</i>
+<a name="IDX165"></a>
+</dt>
+<dd><p><var>Pos1</var>, <var>pos2</var>, &hellip; specify coordinates to be connected by
+lines.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:draw-lines</b><i> drawable gc x1 y1 x2 y2 &hellip;</i>
+<a name="IDX166"></a>
+</dt>
+<dd><p>(<var>x1</var>, <var>y1</var>), (<var>x2</var>, <var>y2</var>) &hellip; specify coordinates
+to be connected by lines.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:draw-lines</b><i> drawable gc point-array</i>
+<a name="IDX167"></a>
+</dt>
+<dd><p><var>point-array</var> is a uniform short array of rank 2, whose rightmost
+index spans a range of 2.
+</p>
+<p>The <code>X:Draw-Lines</code> procedure uses the components of the specified
+<var>gc</var> to draw lines between each adjacent pair of points passed as
+arguments. It draws the lines in order. The lines join correctly at
+all intermediate points, and if the first and last points coincide, the
+first and last lines also join correctly. For any given line,
+<code>X:Draw-Lines</code> does not draw a pixel more than once. If thin (zero
+line-width) lines intersect, the intersecting pixels are drawn multiple
+times. If wide lines intersect, the intersecting pixels are drawn only
+once, as though the entire PolyLine protocol request were a single,
+filled shape. <code>X:Draw-Lines</code> treats all coordinates as relative to
+the origin of <var>drawable</var>.
+</p>
+<p><code>X:Draw-Lines</code> uses these <var>gc</var> components: function,
+plane-mask, line-width, line-style, cap-style, fill-style,
+subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask, join-style.
+It also use these <var>gc</var> mode-dependent components: foreground,
+background, tile, stipple, tilestipple-x-origin, tile-stipple-y-origin,
+dash-offset, and dash-list.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:fill-polygon</b><i> drawable gc pos1 pos2 &hellip;</i>
+<a name="IDX168"></a>
+</dt>
+<dd><p><var>Pos1</var>, <var>pos2</var>, &hellip; specify coordinates of the border path.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:fill-polygon</b><i> drawable gc x1 y1 x2 y2 &hellip;</i>
+<a name="IDX169"></a>
+</dt>
+<dd><p>(<var>x1</var>, <var>y1</var>), (<var>x2</var>, <var>y2</var>) &hellip; specify coordinates
+of the border path.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:fill-polygon</b><i> drawable gc point-array</i>
+<a name="IDX170"></a>
+</dt>
+<dd><p><var>point-array</var> is a uniform short array of rank 2, whose rightmost
+index spans a range of 2.
+</p>
+<p>The path is closed automatically if the last point in the list or
+<var>point-array</var> does not coincide with the first point.
+</p>
+<p>The <code>X:Fill-Polygon</code> procedure uses the components of the specified
+<var>gc</var> to fill the region closed by the specified path.
+<code>X:Fill-Polygon</code> does not draw a pixel of the region more than
+once. <code>X:Fill-Polygon</code> treats all coordinates as relative to the
+origin of <var>drawable</var>.
+</p>
+<p><code>X:Fill-Polygon</code> uses these <var>gc</var> components: function,
+planemask, fill-style, fill-rule, subwindow-mode, clip-x-origin,
+clip-y-origin, and clip-mask. It also use these <var>gc</var> mode-dependent
+components: foreground, background, tile, stipple,
+tile-stipple-x-origin, and tile-stipple-y-origin.
+</p></dd></dl>
+
+</dd></dl>
+</dd></dl>
+</dd></dl>
+</dd></dl>
+</dd></dl>
+</dd></dl>
+</dd></dl>
+</dd></dl>
+<hr size="6">
+<a name="Images"></a>
+<a name="SEC14"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC11" title="Previous section in reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC15" title="Next section in reading order"> &gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#SEC11" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC15" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h1 class="chapter"> 8. Images </h1>
+
+<dl>
+<dt><u>Function:</u> <b>x:read-bitmap-file</b><i> drawable file</i>
+<a name="IDX171"></a>
+</dt>
+</dl>
+
+<hr size="6">
+<a name="Event"></a>
+<a name="SEC15"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC14" title="Previous section in reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Next section in reading order"> &gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#SEC14" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h1 class="chapter"> 9. Event </h1>
+
+
+<p>These three status routines always return immediately if there are
+events already in the queue.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:q-length</b><i> display</i>
+<a name="IDX172"></a>
+</dt>
+<dd><p>Returns the length of the event queue for the connected <var>display</var>.
+Note that there may be more events that have not been read into the
+queue yet (see X:Events-Queued).
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:pending</b><i> display</i>
+<a name="IDX173"></a>
+</dt>
+<dd><p>Returns the number of events that have been received from the X server
+but have not been removed from the event queue.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:events-queued</b><i> display</i>
+<a name="IDX174"></a>
+</dt>
+<dd><p>Returns the number of events already in the queue if the number is
+nonzero. If there are no events in the queue, <code>X:Events-Queued</code>
+attempts to read more events out of the application's connection without
+flushing the output buffer and returns the number read.
+</p></dd></dl>
+
+
+<p>Both of these routines return an object of type <em>event</em>.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:next-event</b><i> display</i>
+<a name="IDX175"></a>
+</dt>
+<dd><p>Removes and returns the first event from the event queue. If the event
+queue is empty, <code>X:Next-Event</code> flushes the output buffer and blocks
+until an event is received.
+</p></dd></dl>
+
+<dl>
+<dt><u>Function:</u> <b>x:peek-event</b><i> display</i>
+<a name="IDX176"></a>
+</dt>
+<dd><p>Returns the first event from the event queue, but it does not remove the
+event from the queue. If the queue is empty, <code>X:Peek-Event</code>
+flushes the output buffer and blocks until an event is received.
+</p></dd></dl>
+
+
+<p>Each event object has fields dependent on its sub-type.
+</p>
+<dl>
+<dt><u>Function:</u> <b>x:event-ref</b><i> event field-name</i>
+<a name="IDX177"></a>
+</dt>
+<dd><table>
+<tr><td><p> window
+</p></td><td>
+<p>The window on which <var>event</var> was generated and is referred to as the
+event window.
+</p></td></tr>
+<tr><td><p> root
+</p></td><td>
+<p>is the event window's root window.
+</p></td></tr>
+<tr><td><p> subwindow
+</p></td><td>
+<p>If the source window is an inferior of the event window, the
+<var>subwindow</var> is the child of the event window that is the source
+window or the child of the event window that is an ancestor of the
+source window. Otherwise, <samp>`None'</samp>.
+</p></td></tr>
+<tr><td><p> X-event:type
+</p></td><td>
+<p>An integer: <var>x:Key-Press</var>, <var>x:Key-Release</var>,
+<var>x:Button-Press</var>, <var>x:Button-Release</var>, <var>x:Motion-Notify</var>,
+<var>x:Enter-Notify</var>, <var>x:Leave-Notify</var>, <var>x:Focus-In</var>,
+<var>x:Focus-Out</var>, <var>x:Keymap-Notify</var>, <var>x:Expose</var>,
+<var>x:Graphics-Expose</var>, <var>x:No-Expose</var>, <var>x:Visibility-Notify</var>,
+<var>x:Create-Notify</var>, <var>x:Destroy-Notify</var>, <var>x:Unmap-Notify</var>,
+<var>x:Map-Notify</var>, <var>x:Map-Request</var>, <var>x:Reparent-Notify</var>,
+<var>x:Configure-Notify</var>, <var>x:Configure-Request</var>,
+<var>x:Gravity-Notify</var>, <var>x:Resize-Request</var>,
+<var>x:Circulate-Notify</var>, <var>x:Circulate-Request</var>,
+<var>x:Property-Notify</var>, <var>x:Selection-Clear</var>,
+<var>x:Selection-Request</var>, <var>x:Selection-Notify</var>,
+<var>x:Colormap-Notify</var>, <var>x:Client-Message</var>, or
+<var>x:Mapping-Notify</var>.
+</p></td></tr>
+<tr><td><p> X-event:serial
+</p></td><td>
+<p>The serial number of the protocol request that generated the <var>event</var>.
+</p></td></tr>
+<tr><td><p> X-event:send-event
+</p></td><td>
+<p>Boolean that indicates whether the event was sent by a different client.
+</p></td></tr>
+<tr><td><p> X-event:time
+</p></td><td>
+<p>The time when the <var>event</var> was generated expressed in milliseconds.
+</p></td></tr>
+<tr><td><p> X-event:x
+</p></td></tr>
+<tr><td><p> X-event:y
+</p></td><td>
+<p>For window entry/exit events the <var>x</var> and <var>y</var> members are set to
+the coordinates of the pointer position in the event window. This
+position is always the pointer's final position, not its initial
+position. If the event window is on the same screen as the root window,
+<var>x</var> and <var>y</var> are the pointer coordinates relative to the event
+window's origin. Otherwise, <var>x</var> and <var>y</var> are set to zero.
+</p>
+<p>For expose events The <var>x</var> and <var>y</var> members are set to the
+coordinates relative to the drawable's origin and indicate the
+upper-left corner of the rectangle.
+</p>
+<p>For configure, create, gravity, and reparent events the <var>x</var> and
+<var>y</var> members are set to the window's coordinates relative to the
+parent window's origin and indicate the position of the upper-left
+outside corner of the created window.
+</p></td></tr>
+<tr><td><p> X-event:x-root
+</p></td></tr>
+<tr><td><p> X-event:y-root
+</p></td><td>
+<p>The pointer's coordinates relative to the root window's origin at the
+time of the <var>event</var>.
+</p></td></tr>
+<tr><td><p> X-event:state
+</p></td><td>
+<p>For keyboard, pointer and window entry/exit events, the state member is
+set to indicate the logical state of the pointer buttons and modifier
+keys just prior to the <var>event</var>, which is the bitwise inclusive OR of
+one or more of the button or modifier key masks: <var>x:Button1-Mask</var>,
+<var>x:Button2-Mask</var>, <var>x:Button3-Mask</var>, <var>x:Button4-Mask</var>,
+<var>x:Button5-Mask</var>, <var>x:Shift-Mask</var>, <var>x:Lock-Mask</var>,
+<var>x:Control-Mask</var>, <var>x:Mod1-Mask</var>, <var>x:Mod2-Mask</var>,
+<var>x:Mod3-Mask</var>, <var>x:Mod4-Mask</var>, and <var>x:Mod5-Mask</var>.
+</p>
+<p>For visibility events, the state of the window's visibility:
+<var>x:Visibility-Unobscured</var>, <var>x:Visibility-Partially-Obscured</var>, or
+<var>x:Visibility-Fully-Obscured</var>.
+</p>
+<p>For colormap events, indicates whether the colormap is installed or
+uninstalled: x:Colormap-Installed or x:Colormap-Uninstalled.
+</p>
+<p>For property events, indicates whether the property was changed to a new
+value or deleted: x:Property-New-Value or x:Property-Delete.
+</p></td></tr>
+<tr><td><p> X-event:keycode
+</p></td><td>
+<p>An integer that represents a physical key on the keyboard.
+</p></td></tr>
+<tr><td><p> X-event:same-screen
+</p></td><td>
+<p>Indicates whether the event window is on the same screen as the root
+window. If #t, the event and root windows are on the same screen. If
+#f, the event and root windows are not on the same screen.
+</p></td></tr>
+<tr><td><p> X-event:button
+</p></td><td>
+<p>The pointer button that changed state; can be the <var>x:Button1</var>,
+<var>x:Button2</var>, <var>x:Button3</var>, <var>x:Button4</var>, or <var>x:Button5</var>
+value.
+</p></td></tr>
+<tr><td><p> X-event:is-hint
+</p></td><td>
+<p>Detail of motion-notify events: <var>x:Notify-Normal</var> or
+<var>x:Notify-Hint</var>.
+</p></td></tr>
+<tr><td><p> X-event:mode
+</p></td><td>
+<p>Indicates whether the <var>event</var> is a normal event, pseudo-motion event
+when a grab activates, or a pseudo-motion event when a grab deactivates:
+<var>x:Notify-Normal</var>, <var>x:Notify-Grab</var>, or <var>x:Notify-Ungrab</var>.
+</p></td></tr>
+<tr><td><p> X-event:detail
+</p></td><td>
+<p>Indicates the notification detail: <var>x:Notify-Ancestor</var>,
+<var>x:Notify-Virtual</var>, <var>x:Notify-Inferior</var>,
+<var>x:Notify-Nonlinear</var>, or <var>x:Notify-Nonlinear-Virtual</var>.
+</p></td></tr>
+<tr><td><p> X-event:focus
+</p></td><td>
+<p>If the event window is the focus window or an inferior of the focus
+window, #t; otherwise #f.
+</p></td></tr>
+<tr><td><p> X-event:width
+</p></td></tr>
+<tr><td><p> X-event:height
+</p></td><td>
+<p>The size (extent) of the rectangle.
+</p></td></tr>
+<tr><td><p> X-event:count
+</p></td><td>
+<p>For mapping events is the number of keycodes altered.
+</p>
+<p>For expose events Is the number of Expose or GraphicsExpose events that
+are to follow. If count is zero, no more Expose events follow for this
+window. However, if count is nonzero, at least that number of Expose
+events (and possibly more) follow for this window. Simple applications
+that do not want to optimize redisplay by distinguishing between
+subareas of its window can just ignore all Expose events with nonzero
+counts and perform full redisplays on events with zero counts.
+</p></td></tr>
+<tr><td><p> X-event:major-code
+</p></td><td>
+<p>The major_code member is set to the graphics request initiated by the
+client and can be either X_CopyArea or X_CopyPlane. If it is
+X_CopyArea, a call to XCopyArea initiated the request. If it is
+X_CopyPlane, a call to XCopyPlane initiated the request.
+</p></td></tr>
+<tr><td><p> X-event:minor-code
+</p></td><td>
+<p>Not currently used.
+</p></td></tr>
+<tr><td><p> X-event:border-width
+</p></td><td>
+<p>For configure events, the width of the window's border, in pixels.
+</p></td></tr>
+<tr><td><p> X-event:override-redirect
+</p></td><td>
+<p>The override-redirect attribute of the window. Window manager clients
+normally should ignore this window if it is #t.
+</p></td></tr>
+<tr><td><p> X-event:from-configure
+</p></td><td>
+<p>True if the event was generated as a result of a resizing of the
+window's parent when the window itself had a win-gravity of
+x:Unmap-Gravity.
+</p></td></tr>
+<tr><td><p> X-event:value-mask
+</p></td><td>
+<p>Indicates which components were specified in the ConfigureWindow
+protocol request. The corresponding values are reported as given in the
+request. The remaining values are filled in from the current geometry
+of the window, except in the case of above (sibling) and detail
+(stack-mode), which are reported as None and Above, respectively, if
+they are not given in the request.
+</p></td></tr>
+<tr><td><p> X-event:place
+</p></td><td>
+<p>The window's position after the restack occurs and is either
+x:Place-On-Top or x:Place-On-Bottom. If it is x:Place-On-Top, the
+window is now on top of all siblings. If it is x:Place-On-Bottom, the
+window is now below all siblings.
+</p></td></tr>
+<tr><td><p> X-event:new
+</p></td><td>
+<p>indicate whether the colormap for the specified window was changed or
+installed or uninstalled and can be True or False. If it is True, the
+colormap was changed. If it is False, the colormap was installed or
+uninstalled.
+</p></td></tr>
+<tr><td><p> X-event:format
+</p></td><td>
+<p>Is 8, 16, or 32 and specifies whether the data should be viewed as a
+list of bytes, shorts, or longs
+</p></td></tr>
+<tr><td><p> X-event:request
+</p></td><td>
+<p>Indicates the kind of mapping change that occurred and can be
+<var>x:Mapping-Modifier</var>, <var>x:Mapping-Keyboard</var>, or
+<var>x:Mapping-Pointer</var>. If it is <var>x:Mapping-Modifier</var>, the
+modifier mapping was changed. If it is <var>x:Mapping-Keyboard</var>, the
+keyboard mapping was changed. If it is <var>x:Mapping-Pointer</var>, the
+pointer button mapping was changed.
+</p></td></tr>
+<tr><td><p> X-event:first-keycode
+</p></td><td>
+<p>The X-event:first-keycode is set only if the X-event:request was set to
+<var>x:Mapping-Keyboard</var>. The number in X-event:first-keycode
+represents the first number in the range of the altered mapping, and
+X-event:count represents the number of keycodes altered.
+</p></td></tr>
+</table>
+</dd></dl>
+
+<hr size="6">
+<a name="Index"></a>
+<a name="SEC16"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC15" title="Previous section in reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC17" title="Next section in reading order"> &gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#SEC15" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC17" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h1 class="unnumbered"> Procedure and Macro Index </h1>
+
+<p>This is an alphabetical list of all the procedures and macros in Xlibscm.
+</p>
+<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="#SEC16_0" class="summary-letter"><b>H</b></a>
+ &nbsp;
+<a href="#SEC16_1" class="summary-letter"><b>X</b></a>
+ &nbsp;
+</td></tr></table>
+<table border="0" class="index-fn">
+<tr><td></td><th align="left">Index Entry</th><th align="left"> Section</th></tr>
+<tr><td colspan="3"> <hr></td></tr>
+<tr><th><a name="SEC16_0">H</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX4"><code>hostname:number.screen-number</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td colspan="3"> <hr></td></tr>
+<tr><th><a name="SEC16_1">X</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX139"><code>x:alloc-colormap-cells</code></a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX140"><code>x:alloc-colormap-cells</code></a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX141"><code>x:alloc-colormap-cells</code></a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX142"><code>x:alloc-colormap-cells</code></a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX151"><code>x:ccc</code></a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX155"><code>x:clear-area</code></a></td><td valign="top"><a href="#SEC11">7. Rendering</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX5"><code>x:close</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX63"><code>x:close</code></a></td><td valign="top"><a href="#SEC4">3.1 Windows and Pixmaps</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX64"><code>x:close</code></a></td><td valign="top"><a href="#SEC4">3.1 Windows and Pixmaps</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX147"><code>x:color-ref</code></a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX148"><code>X:Color-Set!</code></a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX149"><code>X:Color-Set!</code></a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX145"><code>x:colormap-find-color</code></a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX146"><code>x:colormap-find-color</code></a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX138"><code>x:copy-colormap-and-free</code></a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX104"><code>x:copy-gc-fields!</code></a></td><td valign="top"><a href="#SEC7">4. Graphics Context</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX137"><code>x:create-colormap</code></a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX131"><code>x:create-cursor</code></a></td><td valign="top"><a href="#SEC9">5. Cursor</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX133"><code>x:create-cursor</code></a></td><td valign="top"><a href="#SEC9">5. Cursor</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX134"><code>x:create-cursor</code></a></td><td valign="top"><a href="#SEC9">5. Cursor</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX135"><code>x:create-cursor</code></a></td><td valign="top"><a href="#SEC9">5. Cursor</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX136"><code>x:create-cursor</code></a></td><td valign="top"><a href="#SEC9">5. Cursor</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX102"><code>x:create-gc</code></a></td><td valign="top"><a href="#SEC7">4. Graphics Context</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX61"><code>x:create-pixmap</code></a></td><td valign="top"><a href="#SEC4">3.1 Windows and Pixmaps</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX62"><code>x:create-pixmap</code></a></td><td valign="top"><a href="#SEC4">3.1 Windows and Pixmaps</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX59"><code>x:create-window</code></a></td><td valign="top"><a href="#SEC4">3.1 Windows and Pixmaps</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX60"><code>x:create-window</code></a></td><td valign="top"><a href="#SEC4">3.1 Windows and Pixmaps</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX17"><code>x:default-ccc</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX18"><code>x:default-ccc</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX19"><code>x:default-ccc</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX14"><code>x:default-colormap</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX15"><code>x:default-colormap</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX16"><code>x:default-colormap</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX20"><code>x:default-gc</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX21"><code>x:default-gc</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX22"><code>x:default-gc</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX10"><code>x:default-screen</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX26"><code>x:default-visual</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX27"><code>x:default-visual</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX28"><code>x:default-visual</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX165"><code>x:draw-lines</code></a></td><td valign="top"><a href="#SEC13">Draw Shapes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX166"><code>x:draw-lines</code></a></td><td valign="top"><a href="#SEC13">Draw Shapes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX167"><code>x:draw-lines</code></a></td><td valign="top"><a href="#SEC13">Draw Shapes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX159"><code>x:draw-points</code></a></td><td valign="top"><a href="#SEC13">Draw Shapes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX160"><code>x:draw-points</code></a></td><td valign="top"><a href="#SEC13">Draw Shapes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX161"><code>x:draw-points</code></a></td><td valign="top"><a href="#SEC13">Draw Shapes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX162"><code>x:draw-segments</code></a></td><td valign="top"><a href="#SEC13">Draw Shapes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX163"><code>x:draw-segments</code></a></td><td valign="top"><a href="#SEC13">Draw Shapes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX164"><code>x:draw-segments</code></a></td><td valign="top"><a href="#SEC13">Draw Shapes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX157"><code>x:draw-string</code></a></td><td valign="top"><a href="#SEC12">Draw Strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX177"><code>x:event-ref</code></a></td><td valign="top"><a href="#SEC15">9. Event</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX174"><code>x:events-queued</code></a></td><td valign="top"><a href="#SEC15">9. Event</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX168"><code>x:fill-polygon</code></a></td><td valign="top"><a href="#SEC13">Draw Shapes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX169"><code>x:fill-polygon</code></a></td><td valign="top"><a href="#SEC13">Draw Shapes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX170"><code>x:fill-polygon</code></a></td><td valign="top"><a href="#SEC13">Draw Shapes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX156"><code>x:fill-rectangle</code></a></td><td valign="top"><a href="#SEC11">7. Rendering</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX152"><code>x:flush</code></a></td><td valign="top"><a href="#SEC11">7. Rendering</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX153"><code>x:flush</code></a></td><td valign="top"><a href="#SEC11">7. Rendering</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX154"><code>x:flush</code></a></td><td valign="top"><a href="#SEC11">7. Rendering</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX143"><code>x:free-colormap-cells</code></a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX144"><code>x:free-colormap-cells</code></a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX105"><code>x:gc-ref</code></a></td><td valign="top"><a href="#SEC7">4. Graphics Context</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX103"><code>x:gc-set!</code></a></td><td valign="top"><a href="#SEC7">4. Graphics Context</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX91"><code>x:get-window-property</code></a></td><td valign="top"><a href="#SEC6">3.3 Window Properties and Visibility</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX92"><code>x:get-window-property</code></a></td><td valign="top"><a href="#SEC6">3.3 Window Properties and Visibility</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX158"><code>x:image-string</code></a></td><td valign="top"><a href="#SEC12">Draw Strings</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX150"><code>x:install-colormap</code></a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX93"><code>x:list-properties</code></a></td><td valign="top"><a href="#SEC6">3.3 Window Properties and Visibility</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX31"><code>x:make-visual</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX32"><code>x:make-visual</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX99"><code>x:map-subwindows</code></a></td><td valign="top"><a href="#SEC6">3.3 Window Properties and Visibility</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX98"><code>x:map-window</code></a></td><td valign="top"><a href="#SEC6">3.3 Window Properties and Visibility</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX175"><code>x:next-event</code></a></td><td valign="top"><a href="#SEC15">9. Event</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX3"><code>x:open-display</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX176"><code>x:peek-event</code></a></td><td valign="top"><a href="#SEC15">9. Event</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX173"><code>x:pending</code></a></td><td valign="top"><a href="#SEC15">9. Event</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX6"><code>x:protocol-version</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX172"><code>x:q-length</code></a></td><td valign="top"><a href="#SEC15">9. Event</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX171"><code>x:read-bitmap-file</code></a></td><td valign="top"><a href="#SEC14">8. Images</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX11"><code>x:root-window</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX12"><code>x:root-window</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX13"><code>x:root-window</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX56"><code>x:screen-black</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX57"><code>x:screen-black</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX58"><code>x:screen-black</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX39"><code>x:screen-cells</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX40"><code>x:screen-cells</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX41"><code>x:screen-cells</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX9"><code>x:screen-count</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX42"><code>x:screen-depth</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX43"><code>x:screen-depth</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX44"><code>x:screen-depth</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX45"><code>x:screen-depth</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX23"><code>x:screen-depths</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX24"><code>x:screen-depths</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX25"><code>x:screen-depths</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX50"><code>x:screen-dimensions</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX51"><code>x:screen-dimensions</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX52"><code>x:screen-dimensions</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX47"><code>x:screen-size</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX48"><code>x:screen-size</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX49"><code>x:screen-size</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX53"><code>x:screen-white</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX54"><code>x:screen-white</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX55"><code>x:screen-white</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX7"><code>x:server-vendor</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX101"><code>x:unmap-subwindows</code></a></td><td valign="top"><a href="#SEC6">3.3 Window Properties and Visibility</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX100"><code>x:unmap-window</code></a></td><td valign="top"><a href="#SEC6">3.3 Window Properties and Visibility</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX8"><code>x:vendor-release</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX33"><code>x:visual-class</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX34"><code>x:visual-class</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX35"><code>x:visual-class</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX36"><code>x:visual-geometry</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX37"><code>x:visual-geometry</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX38"><code>x:visual-geometry</code></a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX65"><code>x:window-geometry</code></a></td><td valign="top"><a href="#SEC4">3.1 Windows and Pixmaps</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX66"><code>x:window-geometry-set!</code></a></td><td valign="top"><a href="#SEC4">3.1 Windows and Pixmaps</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX90"><code>x:window-ref</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX74"><code>x:window-set!</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td colspan="3"> <hr></td></tr>
+</table>
+<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="#SEC16_0" class="summary-letter"><b>H</b></a>
+ &nbsp;
+<a href="#SEC16_1" class="summary-letter"><b>X</b></a>
+ &nbsp;
+</td></tr></table>
+
+<hr size="6">
+<a name="SEC17"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC16" title="Previous section in reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC18" title="Next section in reading order"> &gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
+<td valign="middle" align="left">[<a href="#SEC18" title="Next chapter"> &gt;&gt; </a>]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h1 class="unnumbered"> Variable Index </h1>
+
+<p>This is an alphabetical list of all the global variables in Xlibscm.
+</p>
+<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="#SEC17_0" class="summary-letter"><b>X</b></a>
+ &nbsp;
+</td></tr></table>
+<table border="0" class="index-vr">
+<tr><td></td><th align="left">Index Entry</th><th align="left"> Section</th></tr>
+<tr><td colspan="3"> <hr></td></tr>
+<tr><th><a name="SEC17_0">X</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX76"><code>x:CW-Back-Pixel</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX75"><code>x:CW-Back-Pixmap</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX83"><code>x:CW-Backing-Pixel</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX82"><code>x:CW-Backing-Planes</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX81"><code>x:CW-Backing-Store</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX79"><code>x:CW-Bit-Gravity</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX78"><code>x:CW-Border-Pixel</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX77"><code>x:CW-Border-Pixmap</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX71"><code>x:CW-Border-Width</code></a></td><td valign="top"><a href="#SEC4">3.1 Windows and Pixmaps</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX88"><code>x:CW-Colormap</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX89"><code>x:CW-Cursor</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX87"><code>x:CW-Dont-Propagate</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX86"><code>x:CW-Event-Mask</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX70"><code>x:CW-Height</code></a></td><td valign="top"><a href="#SEC4">3.1 Windows and Pixmaps</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX84"><code>x:CW-Override-Redirect</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX85"><code>x:CW-Save-Under</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX72"><code>x:CW-Sibling</code></a></td><td valign="top"><a href="#SEC4">3.1 Windows and Pixmaps</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX73"><code>x:CW-Stack-Mode</code></a></td><td valign="top"><a href="#SEC4">3.1 Windows and Pixmaps</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX69"><code>x:CW-Width</code></a></td><td valign="top"><a href="#SEC4">3.1 Windows and Pixmaps</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX80"><code>x:CW-Win-Gravity</code></a></td><td valign="top"><a href="#SEC5">3.2 Window Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX67"><code>x:CWX</code></a></td><td valign="top"><a href="#SEC4">3.1 Windows and Pixmaps</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX68"><code>x:CWY</code></a></td><td valign="top"><a href="#SEC4">3.1 Windows and Pixmaps</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX130"><code>x:GC-Arc-Mode</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX109"><code>x:GC-Background</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX112"><code>x:GC-Cap-Style</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX125"><code>x:GC-Clip-Mask</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX123"><code>x:GC-Clip-X-Origin</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX124"><code>x:GC-Clip-Y-Origin</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX129"><code>x:GC-Dash-List</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX128"><code>x:GC-Dash-Offset</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX115"><code>x:GC-Fill-Rule</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX114"><code>x:GC-Fill-Style</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX120"><code>x:GC-Font</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX108"><code>x:GC-Foreground</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX106"><code>x:GC-Function</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX122"><code>x:GC-Graphics-Exposures</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX113"><code>x:GC-Join-Style</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX111"><code>x:GC-Line-Style</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX110"><code>x:GC-Line-Width</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX107"><code>x:GC-Plane-Mask</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX117"><code>x:GC-Stipple</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX121"><code>x:GC-Subwindow-Mode</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX116"><code>x:GC-Tile</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX118"><code>x:GC-Tile-Stip-X-Origin</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX119"><code>x:GC-Tile-Stip-Y-Origin</code></a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td colspan="3"> <hr></td></tr>
+</table>
+<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="#SEC17_0" class="summary-letter"><b>X</b></a>
+ &nbsp;
+</td></tr></table>
+
+<p>This is an alphabetical list of concepts introduced in this manual.
+</p>
+<hr size="6">
+<a name="SEC18"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#SEC17" title="Previous section in reading order"> &lt; </a>]</td>
+<td valign="middle" align="left">[ &gt; ]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#SEC17" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
+<td valign="middle" align="left">[<a href="#Top" title="Up section"> Up </a>]</td>
+<td valign="middle" align="left">[ &gt;&gt; ]</td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left"> &nbsp; </td>
+<td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h1 class="unnumbered"> Concept Index </h1>
+<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="#SEC18_0" class="summary-letter"><b>C</b></a>
+ &nbsp;
+<a href="#SEC18_1" class="summary-letter"><b>D</b></a>
+ &nbsp;
+<a href="#SEC18_2" class="summary-letter"><b>M</b></a>
+ &nbsp;
+<a href="#SEC18_3" class="summary-letter"><b>N</b></a>
+ &nbsp;
+<a href="#SEC18_4" class="summary-letter"><b>R</b></a>
+ &nbsp;
+<a href="#SEC18_5" class="summary-letter"><b>U</b></a>
+ &nbsp;
+<a href="#SEC18_6" class="summary-letter"><b>V</b></a>
+ &nbsp;
+<a href="#SEC18_7" class="summary-letter"><b>X</b></a>
+ &nbsp;
+</td></tr></table>
+<table border="0" class="index-cp">
+<tr><td></td><th align="left">Index Entry</th><th align="left"> Section</th></tr>
+<tr><td colspan="3"> <hr></td></tr>
+<tr><th><a name="SEC18_0">C</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#SEC10">colormap</a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX132">cursor</a></td><td valign="top"><a href="#SEC9">5. Cursor</a></td></tr>
+<tr><td colspan="3"> <hr></td></tr>
+<tr><th><a name="SEC18_1">D</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX46">depth</a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#SEC3">drawable</a></td><td valign="top"><a href="#SEC3">3. Drawables</a></td></tr>
+<tr><td></td><td valign="top"><a href="#SEC3">Drawable</a></td><td valign="top"><a href="#SEC3">3. Drawables</a></td></tr>
+<tr><td colspan="3"> <hr></td></tr>
+<tr><th><a name="SEC18_2">M</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX94">map</a></td><td valign="top"><a href="#SEC6">3.3 Window Properties and Visibility</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX96">mapped</a></td><td valign="top"><a href="#SEC6">3.3 Window Properties and Visibility</a></td></tr>
+<tr><td colspan="3"> <hr></td></tr>
+<tr><th><a name="SEC18_3">N</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX127">none</a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td colspan="3"> <hr></td></tr>
+<tr><th><a name="SEC18_4">R</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#SEC10">RGB</a></td><td valign="top"><a href="#SEC10">6. Colormap</a></td></tr>
+<tr><td colspan="3"> <hr></td></tr>
+<tr><th><a name="SEC18_5">U</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX95">unmap</a></td><td valign="top"><a href="#SEC6">3.3 Window Properties and Visibility</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX97">unmapped</a></td><td valign="top"><a href="#SEC6">3.3 Window Properties and Visibility</a></td></tr>
+<tr><td colspan="3"> <hr></td></tr>
+<tr><th><a name="SEC18_6">V</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX29">visual</a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX30">Visual</a></td><td valign="top"><a href="#SEC2">2. Display and Screens</a></td></tr>
+<tr><td colspan="3"> <hr></td></tr>
+<tr><th><a name="SEC18_7">X</a></th><td></td><td></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX1">X</a></td><td valign="top"><a href="#SEC1">1. Xlibscm</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX126">x:None</a></td><td valign="top"><a href="#SEC8">GC Attributes</a></td></tr>
+<tr><td></td><td valign="top"><a href="#IDX2"><code>Xlib</code></a></td><td valign="top"><a href="#SEC1">1. Xlibscm</a></td></tr>
+<tr><td colspan="3"> <hr></td></tr>
+</table>
+<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="#SEC18_0" class="summary-letter"><b>C</b></a>
+ &nbsp;
+<a href="#SEC18_1" class="summary-letter"><b>D</b></a>
+ &nbsp;
+<a href="#SEC18_2" class="summary-letter"><b>M</b></a>
+ &nbsp;
+<a href="#SEC18_3" class="summary-letter"><b>N</b></a>
+ &nbsp;
+<a href="#SEC18_4" class="summary-letter"><b>R</b></a>
+ &nbsp;
+<a href="#SEC18_5" class="summary-letter"><b>U</b></a>
+ &nbsp;
+<a href="#SEC18_6" class="summary-letter"><b>V</b></a>
+ &nbsp;
+<a href="#SEC18_7" class="summary-letter"><b>X</b></a>
+ &nbsp;
+</td></tr></table>
+
+<hr size="6">
+<a name="SEC_Contents"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h1>Table of Contents</h1>
+<div class="contents">
+
+<ul class="toc">
+ <li><a name="TOC1" href="#SEC1">1. Xlibscm</a></li>
+ <li><a name="TOC2" href="#SEC2">2. Display and Screens</a></li>
+ <li><a name="TOC3" href="#SEC3">3. Drawables</a>
+ <ul class="toc">
+ <li><a name="TOC4" href="#SEC4">3.1 Windows and Pixmaps</a></li>
+ <li><a name="TOC5" href="#SEC5">3.2 Window Attributes</a></li>
+ <li><a name="TOC6" href="#SEC6">3.3 Window Properties and Visibility</a></li>
+ </ul></li>
+ <li><a name="TOC7" href="#SEC7">4. Graphics Context</a></li>
+ <li><a name="TOC8" href="#SEC9">5. Cursor</a></li>
+ <li><a name="TOC9" href="#SEC10">6. Colormap</a></li>
+ <li><a name="TOC10" href="#SEC11">7. Rendering</a></li>
+ <li><a name="TOC11" href="#SEC14">8. Images</a></li>
+ <li><a name="TOC12" href="#SEC15">9. Event</a></li>
+ <li><a name="TOC13" href="#SEC16">Procedure and Macro Index</a></li>
+ <li><a name="TOC14" href="#SEC17">Variable Index</a></li>
+ <li><a name="TOC15" href="#SEC18">Concept Index</a></li>
+</ul>
+</div>
+<hr size="1">
+<a name="SEC_About"></a>
+<table cellpadding="1" cellspacing="1" border="0">
+<tr><td valign="middle" align="left">[<a href="#Top" title="Cover (top) of document">Top</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC16" title="Index">Index</a>]</td>
+<td valign="middle" align="left">[<a href="#SEC_About" title="About (help)"> ? </a>]</td>
+</tr></table>
+<h1>About This Document</h1>
+<p>
+ This document was generated by <em>Thomas Bushnell BSG</em> on <em>October, 27 2005</em> using <a href="http://texi2html.cvshome.org/"><em>texi2html 1.76</em></a>.
+</p>
+<p>
+ The buttons in the navigation panels have the following meaning:
+</p>
+<table border="1">
+ <tr>
+ <th> Button </th>
+ <th> Name </th>
+ <th> Go to </th>
+ <th> From 1.2.3 go to</th>
+ </tr>
+ <tr>
+ <td align="center"> [ &lt; ] </td>
+ <td align="center">Back</td>
+ <td>previous section in reading order</td>
+ <td>1.2.2</td>
+ </tr>
+ <tr>
+ <td align="center"> [ &gt; ] </td>
+ <td align="center">Forward</td>
+ <td>next section in reading order</td>
+ <td>1.2.4</td>
+ </tr>
+ <tr>
+ <td align="center"> [ &lt;&lt; ] </td>
+ <td align="center">FastBack</td>
+ <td>beginning of this chapter or previous chapter</td>
+ <td>1</td>
+ </tr>
+ <tr>
+ <td align="center"> [ Up ] </td>
+ <td align="center">Up</td>
+ <td>up section</td>
+ <td>1.2</td>
+ </tr>
+ <tr>
+ <td align="center"> [ &gt;&gt; ] </td>
+ <td align="center">FastForward</td>
+ <td>next chapter</td>
+ <td>2</td>
+ </tr>
+ <tr>
+ <td align="center"> [Top] </td>
+ <td align="center">Top</td>
+ <td>cover (top) of document</td>
+ <td> &nbsp; </td>
+ </tr>
+ <tr>
+ <td align="center"> [Contents] </td>
+ <td align="center">Contents</td>
+ <td>table of contents</td>
+ <td> &nbsp; </td>
+ </tr>
+ <tr>
+ <td align="center"> [Index] </td>
+ <td align="center">Index</td>
+ <td>index</td>
+ <td> &nbsp; </td>
+ </tr>
+ <tr>
+ <td align="center"> [ ? ] </td>
+ <td align="center">About</td>
+ <td>about (help)</td>
+ <td> &nbsp; </td>
+ </tr>
+</table>
+
+<p>
+ where the <strong> Example </strong> assumes that the current position is at <strong> Subsubsection One-Two-Three </strong> of a document of the following structure:
+</p>
+
+<ul>
+ <li> 1. Section One
+ <ul>
+ <li>1.1 Subsection One-One
+ <ul>
+ <li>...</li>
+ </ul>
+ </li>
+ <li>1.2 Subsection One-Two
+ <ul>
+ <li>1.2.1 Subsubsection One-Two-One</li>
+ <li>1.2.2 Subsubsection One-Two-Two</li>
+ <li>1.2.3 Subsubsection One-Two-Three &nbsp; &nbsp;
+ <strong>&lt;== Current Position </strong></li>
+ <li>1.2.4 Subsubsection One-Two-Four</li>
+ </ul>
+ </li>
+ <li>1.3 Subsection One-Three
+ <ul>
+ <li>...</li>
+ </ul>
+ </li>
+ <li>1.4 Subsection One-Four</li>
+ </ul>
+ </li>
+</ul>
+
+<hr size="1">
+<p>
+ <font size="-1">
+ This document was generated by <em>Thomas Bushnell BSG</em> on <em>October, 27 2005</em> using <a href="http://texi2html.cvshome.org/"><em>texi2html 1.76</em></a>.
+ </font>
+ <br>
+
+</p>
+</body>
+</html>