diff options
Diffstat (limited to 'Xlibscm.html')
-rw-r--r-- | Xlibscm.html | 3399 |
1 files changed, 0 insertions, 3399 deletions
diff --git a/Xlibscm.html b/Xlibscm.html deleted file mode 100644 index 9dc41bb..0000000 --- a/Xlibscm.html +++ /dev/null @@ -1,3399 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd"> -<html> -<!-- -This manual documents the X Interface for SCM Language (version -5e3, October 2006). - - -Copyright C 1999 Free Software Foundation, Inc. - -Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. - -Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the entire -resulting derived work is distributed under the terms of a permission -notice identical to this one. - -Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions, -except that this permission notice may be stated in a translation approved -by the author. - ---> -<!-- Created on July, 17 2007 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: XlibScm</title> - -<meta name="description" content="XlibScm: XlibScm"> -<meta name="keywords" content="XlibScm: XlibScm"> -<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> -<a name="SEC_Top"></a> -<table cellpadding="1" cellspacing="1" border="0"> -<tr><td valign="middle" align="left">[<a href="#SEC_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> - - -<p>This manual documents the X Interface for SCM Language (version -5e3, October 2006). -</p> - -<p>Copyright © 1999 Free Software Foundation, Inc. -</p> -<blockquote><p>Permission is granted to make and distribute verbatim copies of -this manual provided the copyright notice and this permission notice -are preserved on all copies. -</p> -<p>Permission is granted to copy and distribute modified versions of this -manual under the conditions for verbatim copying, provided that the entire -resulting derived work is distributed under the terms of a permission -notice identical to this one. -</p> -<p>Permission is granted to copy and distribute translations of this manual -into another language, under the above conditions for modified versions, -except that this permission notice may be stated in a translation approved -by the author. -</p></blockquote> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top"><a href="#SEC1">1. XlibScm</a></td><td> </td><td align="left" valign="top"> -</td></tr> -<tr><td align="left" valign="top"><a href="#SEC2">2. Display and Screens</a></td><td> </td><td align="left" valign="top"> -</td></tr> -<tr><td align="left" valign="top"><a href="#SEC3">3. Drawables</a></td><td> </td><td align="left" valign="top"> -</td></tr> -<tr><td align="left" valign="top"><a href="#SEC7">4. Graphics Context</a></td><td> </td><td align="left" valign="top"> -</td></tr> -<tr><td align="left" valign="top"><a href="#SEC9">5. Cursor</a></td><td> </td><td align="left" valign="top"> -</td></tr> -<tr><td align="left" valign="top"><a href="#SEC10">6. Colormap</a></td><td> </td><td align="left" valign="top"> -</td></tr> -<tr><td align="left" valign="top"><a href="#SEC11">7. Rendering</a></td><td> </td><td align="left" valign="top"> -</td></tr> -<tr><td align="left" valign="top"><a href="#SEC14">8. Images</a></td><td> </td><td align="left" valign="top"> -</td></tr> -<tr><td align="left" valign="top"><a href="#SEC15">9. Event</a></td><td> </td><td align="left" valign="top"> -</td></tr> -<tr><td align="left" valign="top"><a href="#SEC16">Indexes</a></td><td> </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="#SEC_Top" title="Previous section in reading order"> < </a>]</td> -<td valign="middle" align="left">[<a href="#SEC2" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[ << ]</td> -<td valign="middle" align="left">[<a href="#SEC_Top" title="Up section"> Up </a>]</td> -<td valign="middle" align="left">[<a href="#SEC2" title="Next chapter"> >> </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC_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 -<A HREF="http://www.x.org/"> -X Window System -</A> -is a network-transparent window system that was -designed at MIT. -<A HREF="scm_toc.html"> -SCM -</A> -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 -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: -</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 "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. -</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 -"as is" 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"> < </a>]</td> -<td valign="middle" align="left">[<a href="#SEC3" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC1" title="Beginning of this chapter or previous chapter"> << </a>]</td> -<td valign="middle" align="left">[<a href="#SEC_Top" title="Up section"> Up </a>]</td> -<td valign="middle" align="left">[<a href="#SEC3" title="Next chapter"> >> </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC_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"> < </a>]</td> -<td valign="middle" align="left">[<a href="#SEC4" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC2" title="Beginning of this chapter or previous chapter"> << </a>]</td> -<td valign="middle" align="left">[<a href="#SEC_Top" title="Up section"> Up </a>]</td> -<td valign="middle" align="left">[<a href="#SEC7" title="Next chapter"> >> </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC_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> </td><td align="left" valign="top"> -</td></tr> -<tr><td align="left" valign="top"><a href="#SEC5">3.2 Window Attributes</a></td><td> </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> </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"> < </a>]</td> -<td valign="middle" align="left">[<a href="#SEC5" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC3" title="Beginning of this chapter or previous chapter"> << </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"> >> </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC_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 …</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 …</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"> < </a>]</td> -<td valign="middle" align="left">[<a href="#SEC6" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC3" title="Beginning of this chapter or previous chapter"> << </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"> >> </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC_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 …</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 …</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"> < </a>]</td> -<td valign="middle" align="left">[<a href="#SEC7" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC3" title="Beginning of this chapter or previous chapter"> << </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"> >> </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC_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"> < </a>]</td> -<td valign="middle" align="left">[<a href="#SEC9" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC3" title="Beginning of this chapter or previous chapter"> << </a>]</td> -<td valign="middle" align="left">[<a href="#SEC_Top" title="Up section"> Up </a>]</td> -<td valign="middle" align="left">[<a href="#SEC9" title="Next chapter"> >> </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC_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 …</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 …</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 …</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 …</i> -<a name="IDX105"></a> -</dt> -<dd><p>Returns a list of the components specified by <var>field-name</var>s … -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> </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> </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"> < </a>]</td> -<td valign="middle" align="left">[<a href="#SEC10" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC7" title="Beginning of this chapter or previous chapter"> << </a>]</td> -<td valign="middle" align="left">[<a href="#SEC_Top" title="Up section"> Up </a>]</td> -<td valign="middle" align="left">[<a href="#SEC10" title="Next chapter"> >> </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC_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"> < </a>]</td> -<td valign="middle" align="left">[<a href="#SEC11" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC9" title="Beginning of this chapter or previous chapter"> << </a>]</td> -<td valign="middle" align="left">[<a href="#SEC_Top" title="Up section"> Up </a>]</td> -<td valign="middle" align="left">[<a href="#SEC11" title="Next chapter"> >> </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC_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"> < </a>]</td> -<td valign="middle" align="left">[<a href="#SEC14" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC10" title="Beginning of this chapter or previous chapter"> << </a>]</td> -<td valign="middle" align="left">[<a href="#SEC_Top" title="Up section"> Up </a>]</td> -<td valign="middle" align="left">[<a href="#SEC14" title="Next chapter"> >> </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC_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 …</i> -<a name="IDX159"></a> -</dt> -<dd><p><var>Position</var> … specifies coordinates of the point to be drawn. -</p> -<dl> -<dt><u>Function:</u> <b>x:draw-points</b><i> drawable gc x y …</i> -<a name="IDX160"></a> -</dt> -<dd><p>(<var>x</var>, <var>y</var>) … 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 …</i> -<a name="IDX162"></a> -</dt> -<dd><p><var>Pos1</var>, <var>pos2</var>, … 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 …</i> -<a name="IDX163"></a> -</dt> -<dd><p>(<var>x1</var>, <var>y1</var>), (<var>x2</var>, <var>y2</var>) … 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 …</i> -<a name="IDX165"></a> -</dt> -<dd><p><var>Pos1</var>, <var>pos2</var>, … 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 …</i> -<a name="IDX166"></a> -</dt> -<dd><p>(<var>x1</var>, <var>y1</var>), (<var>x2</var>, <var>y2</var>) … 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 …</i> -<a name="IDX168"></a> -</dt> -<dd><p><var>Pos1</var>, <var>pos2</var>, … specify coordinates of the border path. -</p> -<dl> -<dt><u>Function:</u> <b>x:fill-polygon</b><i> drawable gc x1 y1 x2 y2 …</i> -<a name="IDX169"></a> -</dt> -<dd><p>(<var>x1</var>, <var>y1</var>), (<var>x2</var>, <var>y2</var>) … 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"> < </a>]</td> -<td valign="middle" align="left">[<a href="#SEC15" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC11" title="Beginning of this chapter or previous chapter"> << </a>]</td> -<td valign="middle" align="left">[<a href="#SEC_Top" title="Up section"> Up </a>]</td> -<td valign="middle" align="left">[<a href="#SEC15" title="Next chapter"> >> </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC_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"> < </a>]</td> -<td valign="middle" align="left">[<a href="#SEC16" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC14" title="Beginning of this chapter or previous chapter"> << </a>]</td> -<td valign="middle" align="left">[<a href="#SEC_Top" title="Up section"> Up </a>]</td> -<td valign="middle" align="left">[<a href="#SEC16" title="Next chapter"> >> </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC_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="Indexes"></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"> < </a>]</td> -<td valign="middle" align="left">[<a href="#SEC17" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC15" title="Beginning of this chapter or previous chapter"> << </a>]</td> -<td valign="middle" align="left">[<a href="#SEC_Top" title="Up section"> Up </a>]</td> -<td valign="middle" align="left">[ >> ]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC_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"> Indexes </h1> - -<table class="menu" border="0" cellspacing="0"> -<tr><td align="left" valign="top"><a href="#SEC17">Procedure and Macro Index</a></td><td> </td><td align="left" valign="top"> -</td></tr> -<tr><td align="left" valign="top"><a href="#SEC18">Variable Index</a></td><td> </td><td align="left" valign="top"> -</td></tr> -<tr><td align="left" valign="top"><a href="#SEC19">Concept Index</a></td><td> </td><td align="left" valign="top"> -</td></tr> -</table> - -<hr size="6"> -<a name="Procedure-and-Macro-Index"></a> -<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"> < </a>]</td> -<td valign="middle" align="left">[<a href="#SEC18" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC16" title="Beginning of this chapter or previous chapter"> << </a>]</td> -<td valign="middle" align="left">[<a href="#SEC16" title="Up section"> Up </a>]</td> -<td valign="middle" align="left">[ >> ]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC_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="unnumberedsec"> Procedure and Macro Index </h2> - -<table><tr><th valign="top">Jump to: </th><td><a href="#SEC17_0" class="summary-letter"><b>H</b></a> - -<a href="#SEC17_1" class="summary-letter"><b>X</b></a> - -</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="SEC17_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="SEC17_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: </th><td><a href="#SEC17_0" class="summary-letter"><b>H</b></a> - -<a href="#SEC17_1" class="summary-letter"><b>X</b></a> - -</td></tr></table> - -<hr size="6"> -<a name="Variable-Index"></a> -<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"> < </a>]</td> -<td valign="middle" align="left">[<a href="#SEC19" title="Next section in reading order"> > </a>]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC16" title="Beginning of this chapter or previous chapter"> << </a>]</td> -<td valign="middle" align="left">[<a href="#SEC16" title="Up section"> Up </a>]</td> -<td valign="middle" align="left">[ >> ]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC_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="unnumberedsec"> Variable Index </h2> - -<table><tr><th valign="top">Jump to: </th><td><a href="#SEC18_0" class="summary-letter"><b>X</b></a> - -</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="SEC18_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: </th><td><a href="#SEC18_0" class="summary-letter"><b>X</b></a> - -</td></tr></table> - -<hr size="6"> -<a name="Concept-Index"></a> -<a name="SEC19"></a> -<table cellpadding="1" cellspacing="1" border="0"> -<tr><td valign="middle" align="left">[<a href="#SEC18" title="Previous section in reading order"> < </a>]</td> -<td valign="middle" align="left">[ > ]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC16" title="Beginning of this chapter or previous chapter"> << </a>]</td> -<td valign="middle" align="left">[<a href="#SEC16" title="Up section"> Up </a>]</td> -<td valign="middle" align="left">[ >> ]</td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left"> </td> -<td valign="middle" align="left">[<a href="#SEC_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="unnumberedsec"> Concept Index </h2> - -<table><tr><th valign="top">Jump to: </th><td><a href="#SEC19_0" class="summary-letter"><b>C</b></a> - -<a href="#SEC19_1" class="summary-letter"><b>D</b></a> - -<a href="#SEC19_2" class="summary-letter"><b>M</b></a> - -<a href="#SEC19_3" class="summary-letter"><b>N</b></a> - -<a href="#SEC19_4" class="summary-letter"><b>R</b></a> - -<a href="#SEC19_5" class="summary-letter"><b>U</b></a> - -<a href="#SEC19_6" class="summary-letter"><b>V</b></a> - -<a href="#SEC19_7" class="summary-letter"><b>X</b></a> - -</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="SEC19_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="SEC19_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="SEC19_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="SEC19_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="SEC19_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="SEC19_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="SEC19_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="SEC19_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: </th><td><a href="#SEC19_0" class="summary-letter"><b>C</b></a> - -<a href="#SEC19_1" class="summary-letter"><b>D</b></a> - -<a href="#SEC19_2" class="summary-letter"><b>M</b></a> - -<a href="#SEC19_3" class="summary-letter"><b>N</b></a> - -<a href="#SEC19_4" class="summary-letter"><b>R</b></a> - -<a href="#SEC19_5" class="summary-letter"><b>U</b></a> - -<a href="#SEC19_6" class="summary-letter"><b>V</b></a> - -<a href="#SEC19_7" class="summary-letter"><b>X</b></a> - -</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="#SEC_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">Indexes</a> - <ul class="toc"> - <li><a name="TOC14" href="#SEC17">Procedure and Macro Index</a></li> - <li><a name="TOC15" href="#SEC18">Variable Index</a></li> - <li><a name="TOC16" href="#SEC19">Concept Index</a></li> - </ul> -</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="#SEC_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>Neil Williams</em> on <em>July, 17 2007</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"> [ < ] </td> - <td align="center">Back</td> - <td>previous section in reading order</td> - <td>1.2.2</td> - </tr> - <tr> - <td align="center"> [ > ] </td> - <td align="center">Forward</td> - <td>next section in reading order</td> - <td>1.2.4</td> - </tr> - <tr> - <td align="center"> [ << ] </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"> [ >> ] </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> </td> - </tr> - <tr> - <td align="center"> [Contents] </td> - <td align="center">Contents</td> - <td>table of contents</td> - <td> </td> - </tr> - <tr> - <td align="center"> [Index] </td> - <td align="center">Index</td> - <td>index</td> - <td> </td> - </tr> - <tr> - <td align="center"> [ ? ] </td> - <td align="center">About</td> - <td>about (help)</td> - <td> </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 - <strong><== 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>Neil Williams</em> on <em>July, 17 2007</em> using <a href="http://texi2html.cvshome.org/"><em>texi2html 1.76</em></a>. - </font> - <br> - -</p> -</body> -</html> |