diff options
Diffstat (limited to 'Xlibscm.html')
-rw-r--r-- | Xlibscm.html | 3675 |
1 files changed, 3675 insertions, 0 deletions
diff --git a/Xlibscm.html b/Xlibscm.html new file mode 100644 index 0000000..6833e60 --- /dev/null +++ b/Xlibscm.html @@ -0,0 +1,3675 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" + "http://www.w3.org/TR/html40/loose.dtd"> +<HTML> +<!-- Created on May, 6 2004 by texi2html 1.66 --> +<!-- +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</TITLE> + +<META NAME="description" CONTENT="Xlibscm"> +<META NAME="keywords" CONTENT="Xlibscm"> +<META NAME="resource-type" CONTENT="document"> +<META NAME="distribution" CONTENT="global"> +<META NAME="Generator" CONTENT="texi2html 1.66"> + +</HEAD> + +<BODY LANG="en" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#800080" ALINK="#FF0000"> + +<A NAME="SEC_Top"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1>Xlibscm</H1> + +<P> + +This manual documents the X - SCM Language X Interface. The most recent +information about SCM can be found on SCM's <EM>WWW</EM> home page: +</P> +<P> + +<center> + <A HREF="http://swissnet.ai.mit.edu/~jaffer/SCM">http://swissnet.ai.mit.edu/~jaffer/SCM</A> +</center> +</P> +<P> + +Copyright (C) 1990-1999 Free Software Foundation +</P> +<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> +<P> + +</P> +<TABLE BORDER="0" CELLSPACING="0"> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="Xlibscm.html#SEC1">1. Xlibscm</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="Xlibscm.html#SEC3">3. Drawables</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="Xlibscm.html#SEC7">4. Graphics Context</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="Xlibscm.html#SEC9">5. Cursor</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="Xlibscm.html#SEC11">7. Rendering</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="Xlibscm.html#SEC14">8. Images</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="Xlibscm.html#SEC15">9. Event</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="Xlibscm.html#SEC16">Procedure and Macro Index</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +</TABLE> +<P> + +<HR SIZE=1> +<A NAME="SEC1"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC2"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC2"> >> </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<A NAME="Xlibscm"></A> +<H1> 1. Xlibscm </H1> +<!--docid::SEC1::--> +<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> + +<center> + Xlib - C Language X Interface +</center> +<center> + X Consortium Standard +</center> +<center> + X Version 11, Release 6.3 +</center> +</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> +<P> + +<A NAME="Display and Screens"></A> +<HR SIZE="6"> +<A NAME="SEC2"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC1"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC3"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC1"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC3"> >> </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1> 2. Display and Screens </H1> +<!--docid::SEC2::--> +<P> + +<A NAME="IDX3"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:open-display</B> <I>display-name</I> +<DD><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> + +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> +<P> + +<A NAME="IDX4"></A> +</P> +<DL> +<DT><U>Special Form:</U> <B>hostname:number.screen-number</B> +<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> +</DL> +</DL> +<P> + +<A NAME="IDX5"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:close</B> <I>display</I> +<DD><VAR>display</VAR> specifies the connection to the X server. +<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> +</DL> +<P> + +<A NAME="IDX6"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:protocol-version</B> <I>display</I> +<DD>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. +</DL> +<P> + +<A NAME="IDX7"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:server-vendor</B> <I>display</I> +<DD>Returns a string that provides some identification of the owner of the X +server implementation. The contents of the string are +implementation-dependent. +</DL> +<P> + +<A NAME="IDX8"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:vendor-release</B> <I>display</I> +<DD>Returns a number related to a vendor's release of the X server. +</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> +<P> + +<A NAME="IDX9"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:screen-count</B> <I>display</I> +<DD>Returns the number of available screens. +</DL> +<P> + +<A NAME="IDX10"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:default-screen</B> <I>display</I> +<DD>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. +</DL> +<P> + +<A NAME="IDX11"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:root-window</B> <I>display screen-number</I> +<DD><A NAME="IDX12"></A> +<DT><U>Function:</U> <B>x:root-window</B> <I>display</I> +<DD><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> + +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> +<P> + +<A NAME="IDX13"></A> +<DT><U>Function:</U> <B>x:root-window</B> <I>window</I> +<DD>Returns the root window for the specified <VAR>window</VAR>'s screen. +</P> +</DL> +<P> + +<A NAME="IDX14"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:default-colormap</B> <I>display screen-number</I> +<DD><A NAME="IDX15"></A> +<DT><U>Function:</U> <B>x:default-colormap</B> <I>display</I> +<DD><A NAME="IDX16"></A> +<DT><U>Function:</U> <B>x:default-colormap</B> <I>window</I> +<DD>Returns the default colormap of the specified screen. +</DL> +<P> + +<A NAME="IDX17"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:default-ccc</B> <I>display screen-number</I> +<DD><A NAME="IDX18"></A> +<DT><U>Function:</U> <B>x:default-ccc</B> <I>display</I> +<DD><A NAME="IDX19"></A> +<DT><U>Function:</U> <B>x:default-ccc</B> <I>window</I> +<DD>Returns the default Color-Conversion-Context (ccc) of the specified +screen. +</DL> +<P> + +<A NAME="IDX20"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:default-gc</B> <I>display screen-number</I> +<DD><A NAME="IDX21"></A> +<DT><U>Function:</U> <B>x:default-gc</B> <I>display</I> +<DD><A NAME="IDX22"></A> +<DT><U>Function:</U> <B>x:default-gc</B> <I>window</I> +<DD>Returns the default graphics-context of the specified screen. +</DL> +<P> + +<A NAME="IDX23"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:screen-depths</B> <I>display screen-number</I> +<DD><A NAME="IDX24"></A> +<DT><U>Function:</U> <B>x:screen-depths</B> <I>display</I> +<DD><A NAME="IDX25"></A> +<DT><U>Function:</U> <B>x:screen-depths</B> <I>window</I> +<DD>Returns an array of depths supported by the specified screen. +</DL> +<P> + +The <EM>Visual</EM> type describes possible colormap depths and +arrangements. +</P> +<P> + +<A NAME="IDX26"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:default-visual</B> <I>display screen-number</I> +<DD><A NAME="IDX27"></A> +<DT><U>Function:</U> <B>x:default-visual</B> <I>display</I> +<DD><A NAME="IDX28"></A> +<DT><U>Function:</U> <B>x:default-visual</B> <I>window</I> +<DD>Returns the default Visual type for the specified screen. +<P> + +<A NAME="IDX29"></A> +<A NAME="IDX30"></A> +</P> +</DL> +<P> + +<A NAME="IDX31"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:make-visual</B> <I>display depth class</I> +<DD><A NAME="IDX32"></A> +<DT><U>Function:</U> <B>x:make-visual</B> <I>window depth class</I> +<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: +<UL> +<LI>x:Static-Gray +<LI>x:Static-Color +<LI>x:True-Color +<LI>x:Gray-Scale +<LI>x:Pseudo-Color +<LI>x:Direct-Color +</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> +</DL> +<P> + +<A NAME="IDX33"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:visual-class</B> <I>visual</I> +<DD><A NAME="IDX34"></A> +<DT><U>Function:</U> <B>x:visual-class</B> <I>screen</I> +<DD><A NAME="IDX35"></A> +<DT><U>Function:</U> <B>x:visual-class</B> <I>display</I> +<DD>Returns the (integer) visual class of its argument. +</DL> +<P> + +<A NAME="IDX36"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:visual-geometry</B> <I>visual</I> +<DD><A NAME="IDX37"></A> +<DT><U>Function:</U> <B>x:visual-geometry</B> <I>screen</I> +<DD><A NAME="IDX38"></A> +<DT><U>Function:</U> <B>x:visual-geometry</B> <I>display</I> +<DD>Returns a list of the: +<UL> +<LI>red_mask +<LI>green_mask +<LI>blue_mask +<LI>colormap_size +</UL> +</DL> +<P> + +<A NAME="IDX39"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:screen-cells</B> <I>display screen-number</I> +<DD><A NAME="IDX40"></A> +<DT><U>Function:</U> <B>x:screen-cells</B> <I>display</I> +<DD><A NAME="IDX41"></A> +<DT><U>Function:</U> <B>x:screen-cells</B> <I>window</I> +<DD>Returns the number of entries in the default colormap. +</DL> +<P> + +<A NAME="IDX42"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:screen-depth</B> <I>display screen-number</I> +<DD>Returns the depth of the root window of the specified screen. +<A NAME="IDX43"></A> +<DT><U>Function:</U> <B>x:screen-depth</B> <I>display</I> +<DD><A NAME="IDX44"></A> +<DT><U>Function:</U> <B>x:screen-depth</B> <I>window</I> +<DD><A NAME="IDX45"></A> +<DT><U>Function:</U> <B>x:screen-depth</B> <I>visual</I> +<DD>Returns the depth of argument. +<P> + +<A NAME="IDX46"></A> +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> +</DL> +<P> + +<A NAME="IDX47"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:screen-size</B> <I>display screen-number</I> +<DD><A NAME="IDX48"></A> +<DT><U>Function:</U> <B>x:screen-size</B> <I>display</I> +<DD><A NAME="IDX49"></A> +<DT><U>Function:</U> <B>x:screen-size</B> <I>window</I> +<DD>Returns a list of integer height and width of the screen in pixels. +</DL> +<P> + +<A NAME="IDX50"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:screen-dimensions</B> <I>display screen-number</I> +<DD><A NAME="IDX51"></A> +<DT><U>Function:</U> <B>x:screen-dimensions</B> <I>display</I> +<DD><A NAME="IDX52"></A> +<DT><U>Function:</U> <B>x:screen-dimensions</B> <I>window</I> +<DD>Returns a list of integer height and width of the screen in millimeters. +</DL> +<P> + +<A NAME="IDX53"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:screen-white</B> <I>display screen-number</I> +<DD><A NAME="IDX54"></A> +<DT><U>Function:</U> <B>x:screen-white</B> <I>display</I> +<DD><A NAME="IDX55"></A> +<DT><U>Function:</U> <B>x:screen-white</B> <I>window</I> +<DD>Returns the white pixel value of the specified screen. +</DL> +<P> + +<A NAME="IDX56"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:screen-black</B> <I>display screen-number</I> +<DD><A NAME="IDX57"></A> +<DT><U>Function:</U> <B>x:screen-black</B> <I>display</I> +<DD><A NAME="IDX58"></A> +<DT><U>Function:</U> <B>x:screen-black</B> <I>window</I> +<DD>Returns the black pixel value of the specified screen. +</DL> +<P> + +<A NAME="Drawables"></A> +<HR SIZE="6"> +<A NAME="SEC3"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC2"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC4"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC2"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC7"> >> </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1> 3. Drawables </H1> +<!--docid::SEC3::--> +<P> + +<A NAME="IDX59"></A> +<A NAME="IDX60"></A> +A <EM>Drawable</EM> is either a window or pixmap. +</P> +<P> + +<TABLE BORDER="0" CELLSPACING="0"> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="Xlibscm.html#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="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +<TR><TD ALIGN="left" VALIGN="TOP"><A HREF="Xlibscm.html#SEC6">3.3 Window Properties and Visibility</A></TD><TD> </TD><TD ALIGN="left" VALIGN="TOP"></TD></TR> +</TABLE> +<P> + +<A NAME="Windows and Pixmaps"></A> +<HR SIZE="6"> +<A NAME="SEC4"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC3"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC5"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC3"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC3"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC7"> >> </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H2> 3.1 Windows and Pixmaps </H2> +<!--docid::SEC4::--> +<P> + +<A NAME="IDX61"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:create-window</B> <I>window position size border-width depth class visual field-name value <small>...</small></I> +<DD>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> + +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> +<P> + +<A NAME="IDX62"></A> +<DT><U>Function:</U> <B>x:create-window</B> <I>window position size border-width border background</I> +<DD>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> +</DL> +<P> + +<A NAME="IDX63"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:create-pixmap</B> <I>drawable size depth</I> +<DD><A NAME="IDX64"></A> +<DT><U>Function:</U> <B>x:create-pixmap</B> <I>display size depth</I> +<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> +</DL> +<P> + +<A NAME="IDX65"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:close</B> <I>window</I> +<DD>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. +</DL> +<P> + +<A NAME="IDX66"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:close</B> <I>pixmap</I> +<DD>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. +</DL> +<P> + +<A NAME="IDX67"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:window-geometry</B> <I>drawable</I> +<DD>Returns a list of: +<P> + +</P> +<DL COMPACT> +<DT>coordinates +<DD><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. +<DT>size +<DD><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. +<DT>border-width +<DD>The border width in pixels. If the <VAR>drawable</VAR> is a pixmap, this is +zero. +<DT>depth +<DD>The depth of the <VAR>drawable</VAR> (bits per pixel for the object). +</DL> +</DL> +<P> + +<A NAME="IDX68"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:window-geometry-set!</B> <I>window field-name value <small>...</small></I> +<DD>Changes the <EM>Configuration</EM> components specified by +<VAR>field-name</VAR>s for the specified <VAR>window</VAR>. +</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> +<P> + +<A NAME="IDX69"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CWX</B> +<DD><A NAME="IDX70"></A> +<DT><U>Attribute:</U> <B>x:CWY</B> +<DD><A NAME="IDX71"></A> +<DT><U>Attribute:</U> <B>x:CW-Width</B> +<DD><A NAME="IDX72"></A> +<DT><U>Attribute:</U> <B>x:CW-Height</B> +<DD>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> + +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> +</DL> +<P> + +<A NAME="IDX73"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CW-Border-Width</B> +<DD>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. +</DL> +<P> + +<A NAME="IDX74"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CW-Sibling</B> +<DD>The sibling member is used to set the sibling window for stacking +operations. +</DL> +<P> + +<A NAME="IDX75"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CW-Stack-Mode</B> +<DD>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. +</DL> +<P> + +If a sibling and a stack-mode are specified, the window is restacked as +follows: +</P> +<P> + +</P> +<DL COMPACT> +<DT><CODE>x:Above</CODE> +<DD>The window is placed just above the sibling. +<DT><CODE>x:Below</CODE> +<DD>The window is placed just below the sibling. +<DT><CODE>x:Top-If</CODE> +<DD>If the sibling occludes the window, the window is placed at the top of +the stack. +<DT><CODE>x:Bottom-If</CODE> +<DD>If the window occludes the sibling, the window is placed at the bottom +of the stack. +<DT><CODE>x:Opposite</CODE> +<DD>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. +</DL> +<P> + +If a stack-mode is specified but no sibling is specified, the window +is restacked as follows: +</P> +<P> + +</P> +<DL COMPACT> +<DT><CODE>x:Above</CODE> +<DD>The window is placed at the top of the stack. +<DT><CODE>x:Below</CODE> +<DD>The window is placed at the bottom of the stack. +<DT><CODE>x:Top-If</CODE> +<DD>If any sibling occludes the window, the window is placed at the top of +the stack. +<DT><CODE>x:Bottom-If</CODE> +<DD>If the window occludes any sibling, the window is placed at the bottom +of the stack. +<DT><CODE>x:Opposite</CODE> +<DD>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. +</DL> +<P> + +<A NAME="Window Attributes"></A> +<HR SIZE="6"> +<A NAME="SEC5"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC4"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC6"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC3"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC3"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC7"> >> </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H2> 3.2 Window Attributes </H2> +<!--docid::SEC5::--> +<P> + +<A NAME="IDX76"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:window-set!</B> <I>window field-name value <small>...</small></I> +<DD>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. +</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> +<P> + +<A NAME="IDX77"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CW-Back-Pixmap</B> +<DD>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. +</DL> +<P> + +<A NAME="IDX78"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CW-Back-Pixel</B> +<DD>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. +</DL> +<P> + +<A NAME="IDX79"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CW-Border-Pixmap</B> +<DD>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>. +</DL> +<P> + +<A NAME="IDX80"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CW-Border-Pixel</B> +<DD>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. +</DL> +<P> + +<A NAME="IDX81"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CW-Bit-Gravity</B> +<DD><A NAME="IDX82"></A> +<DT><U>Attribute:</U> <B>x:CW-Win-Gravity</B> +<DD>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> + +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> +<P> + +</P> +<TABLE> +<TR><TD>Gravity Direction</TD> +</TD><TD> Coordinates +</TR> +<TR><TD>x:North-West-Gravity</TD> +</TD><TD> (0, 0) +</TR> +<TR><TD>x:North-Gravity</TD> +</TD><TD> (Width/2, 0) +</TR> +<TR><TD>x:North-East-Gravity</TD> +</TD><TD> (Width, 0) +</TR> +<TR><TD>x:West-Gravity</TD> +</TD><TD> (0, Height/2) +</TR> +<TR><TD>x:Center-Gravity</TD> +</TD><TD> (Width/2, Height/2) +</TR> +<TR><TD>x:East-Gravity</TD> +</TD><TD> (Width, Height/2) +</TR> +<TR><TD>x:South-West-Gravity</TD> +</TD><TD> (0, Height) +</TR> +<TR><TD>x:South-Gravity</TD> +</TD><TD> (Width/2, Height) +</TR> +<TR><TD>x:South-East-Gravity</TD> +</TD><TD> (Width, Height) +</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> +</DL> +<P> + +<A NAME="IDX83"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CW-Backing-Store</B> +<DD>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> + +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> +</DL> +<P> + +<A NAME="IDX84"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CW-Backing-Planes</B> +<DD><A NAME="IDX85"></A> +<DT><U>Attribute:</U> <B>x:CW-Backing-Pixel</B> +<DD>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. +</DL> +<P> + +<A NAME="IDX86"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CW-Override-Redirect</B> +<DD>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> + +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> +</DL> +<P> + +<A NAME="IDX87"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CW-Save-Under</B> +<DD>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> + +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> +</DL> +<P> + +<A NAME="IDX88"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CW-Event-Mask</B> +<DD>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> + +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> +<P> + +</P> +<TABLE> +<TR><TD>Event Mask</TD> +</TD><TD> Circumstances +</TR> +<TR><TD>x:No-Event-Mask</TD> +</TD><TD> No events wanted +</TR> +<TR><TD>x:Key-Press-Mask</TD> +</TD><TD> Keyboard down events wanted +</TR> +<TR><TD>x:Key-Release-Mask</TD> +</TD><TD> Keyboard up events wanted +</TR> +<TR><TD>x:Button-Press-Mask</TD> +</TD><TD> Pointer button down events wanted +</TR> +<TR><TD>x:Button-Release-Mask</TD> +</TD><TD> Pointer button up events wanted +</TR> +<TR><TD>x:Enter-Window-Mask</TD> +</TD><TD> Pointer window entry events wanted +</TR> +<TR><TD>x:Leave-Window-Mask</TD> +</TD><TD> Pointer window leave events wanted +</TR> +<TR><TD>x:Pointer-Motion-Mask</TD> +</TD><TD> Pointer motion events wanted +</TR> +<TR><TD>x:Pointer-Motion-Hint-Mask</TD> +</TD><TD> +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. +</TR> +<TR><TD>x:Button1-Motion-Mask</TD> +</TD><TD> Pointer motion while button 1 down +</TR> +<TR><TD>x:Button2-Motion-Mask</TD> +</TD><TD> Pointer motion while button 2 down +</TR> +<TR><TD>x:Button3-Motion-Mask</TD> +</TD><TD> Pointer motion while button 3 down +</TR> +<TR><TD>x:Button4-Motion-Mask</TD> +</TD><TD> Pointer motion while button 4 down +</TR> +<TR><TD>x:Button5-Motion-Mask</TD> +</TD><TD> Pointer motion while button 5 down +</TR> +<TR><TD>x:Button-Motion-Mask</TD> +</TD><TD> Pointer motion while any button down +</TR> +<TR><TD>x:Keymap-State-Mask</TD> +</TD><TD> Keyboard state wanted at window entry and focus in +</TR> +<TR><TD>x:Exposure-Mask</TD> +</TD><TD> Any exposure wanted +</TR> +<TR><TD>x:Visibility-Change-Mask</TD> +</TD><TD> Any change in visibility wanted +</TR> +<TR><TD>x:Structure-Notify-Mask</TD> +</TD><TD> Any change in window structure wanted +</TR> +<TR><TD>x:Resize-Redirect-Mask</TD> +</TD><TD> Redirect resize of this window +</TR> +<TR><TD>x:Substructure-Notify-Mask</TD> +</TD><TD> Substructure notification wanted +</TR> +<TR><TD>x:Substructure-Redirect-Mask</TD> +</TD><TD> Redirect structure requests on children +</TR> +<TR><TD>x:Focus-Change-Mask</TD> +</TD><TD> Any change in input focus wanted +</TR> +<TR><TD>x:Property-Change-Mask</TD> +</TD><TD> Any change in property wanted +</TR> +<TR><TD>x:Colormap-Change--Mask</TD> +</TD><TD> Any change in colormap wanted +</TR> +<TR><TD>x:Owner-Grab-Button--Mask</TD> +</TD><TD> Automatic grabs should activate with owner_events set to True +</TR></TABLE> +<P> + +</P> +</DL> +<P> + +<A NAME="IDX89"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CW-Dont-Propagate</B> +<DD>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). +</DL> +<P> + +<A NAME="IDX90"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CW-Colormap</B> +<DD>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> + +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> +</DL> +<P> + +<A NAME="IDX91"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:CW-Cursor</B> +<DD>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> + +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> +</DL> +<P> + +<A NAME="IDX92"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:window-ref</B> <I>window field-name <small>...</small></I> +<DD>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>x:CW-Bit-Gravity +<LI>x:CW-Win-Gravity +<LI>x:CW-Backing-Store +<LI>x:CW-Backing-Planes +<LI>x:CW-Backing-Pixel +<LI>x:CW-Override-Redirect +<LI>x:CW-Save-Under +<LI>x:CW-Event-Mask +<LI>x:CW-Dont-Propagate +<LI>x:CW-Colormap +</UL> +</DL> +<P> + +<A NAME="Window Properties and Visibility"></A> +<HR SIZE="6"> +<A NAME="SEC6"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC5"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC7"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC3"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC3"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC7"> >> </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H2> 3.3 Window Properties and Visibility </H2> +<!--docid::SEC6::--> +<P> + +<A NAME="IDX93"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:get-window-property</B> <I>window property</I> +<DD>Returns the (string or list of numbers) value of <VAR>property</VAR> of +<VAR>window</VAR>. +<A NAME="IDX94"></A> +<DT><U>Function:</U> <B>x:get-window-property</B> <I>window property #t</I> +<DD>Removes and returns the (string or list of numbers) value of +<VAR>property</VAR> of <VAR>window</VAR>. +</DL> +<P> + +<A NAME="IDX95"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:list-properties</B> <I>window</I> +<DD>Returns a list of the properties (strings) defined for <VAR>window</VAR>. +</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="IDX96"></A> +<A NAME="IDX97"></A> +<A NAME="IDX98"></A> +<A NAME="IDX99"></A> +shows is <EM>mapped</EM>. It is an unfortunate name-collision with Scheme, +and is ingrained in the attribute names. +</P> +<P> + +<A NAME="IDX100"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:map-window</B> <I>window</I> +<DD>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> + +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> +</DL> +<P> + +<A NAME="IDX101"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:map-subwindows</B> <I>window</I> +<DD>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. +</DL> +<P> + +<A NAME="IDX102"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:unmap-window</B> <I>window</I> +<DD>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. +</DL> +<P> + +<A NAME="IDX103"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:unmap-subwindows</B> <I>window</I> +<DD>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. +</DL> +<P> + +<A NAME="Graphics Context"></A> +<HR SIZE="6"> +<A NAME="SEC7"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC6"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC9"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC3"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC9"> >> </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1> 4. Graphics Context </H1> +<!--docid::SEC7::--> +<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> +<P> + +<A NAME="IDX104"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:create-gc</B> <I>drawable field-name value <small>...</small></I> +<DD>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>. +</DL> +<P> + +<A NAME="IDX105"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:gc-set!</B> <I>graphics-context field-name value <small>...</small></I> +<DD>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. +</DL> +<P> + +<A NAME="IDX106"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:copy-gc-fields!</B> <I>gcontext-src gcontext-dst field-name <small>...</small></I> +<DD>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. +</DL> +<P> + +<A NAME="IDX107"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:gc-ref</B> <I>graphics-context field-name <small>...</small></I> +<DD>Returns a list of the components specified by <VAR>field-name</VAR>s <small>...</small> +from the specified <VAR>graphics-context</VAR>. +</DL> +<P> + +<A NAME="SEC8"></A> +<H2> GC Attributes </H2> +<!--docid::SEC8::--> +<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> +<P> + +<A NAME="IDX108"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Function</B> +<DD>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 class=display><pre style="font-family: serif"><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></DL> +<P> + +<A NAME="IDX109"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Plane-Mask</B> +<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> +<P> + +<TABLE><tr><td> </td><td class=display><pre style="font-family: serif">(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> +</DL> +<P> + +<A NAME="IDX110"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Foreground</B> +<DD><A NAME="IDX111"></A> +<DT><U>Attribute:</U> <B>x:GC-Background</B> +<DD>Range checking is not performed on the values for foreground or +background. They are simply truncated to the appropriate number of +bits. +<P> + +Note that foreground and background are not initialized to any values +likely to be useful in a window. +</P> +</DL> +<P> + +<A NAME="IDX112"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Line-Width</B> +<DD>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> + +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> +<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. +<P> + +</P> +<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. +</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> +</DL> +<P> + +<A NAME="IDX113"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Line-Style</B> +<DD>The line-style defines which sections of a line are drawn: +<P> + +</P> +<DL COMPACT> +<DT><TT>x:Line-Solid</TT> +<DD>The full path of the line is drawn. +<DT><TT>x:Line-Double-Dash</TT> +<DD>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. +<DT><TT>x:Line-On-Off-Dash</TT> +<DD>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. +</DL> +</DL> +<P> + +<A NAME="IDX114"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Cap-Style</B> +<DD><P> + +The cap-style defines how the endpoints of a path are drawn: +</P> +<P> + +</P> +<DL COMPACT> +<DT><TT>x:Cap-Not-Last</TT> +<DD>This is equivalent to x:Cap-Butt except that for a line-width of zero the +final endpoint is not drawn. +<DT><TT>x:Cap-Butt</TT> +<DD>The line is square at the endpoint (perpendicular to the slope of the +line) with no projection beyond. +<DT><TT>x:Cap-Round</TT> +<DD>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). +<DT><TT>x:Cap-Projecting</TT> +<DD>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). +</DL> +</DL> +<P> + +<A NAME="IDX115"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Join-Style</B> +<DD><P> + +The join-style defines how corners are drawn for wide lines: +</P> +<P> + +</P> +<DL COMPACT> +<DT><TT>x:Join-Miter</TT> +<DD>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. +<DT><TT>x:Join-Round</TT> +<DD>The corner is a circular arc with the diameter equal to the +line-width, centered on the x:Join-point. +<DT><TT>x:Join-Bevel</TT> +<DD>The corner has x:Cap-Butt endpoint styles with the triangular notch filled. +</DL> +</DL> +<P> + +<A NAME="IDX116"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Fill-Style</B> +<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> +<P> + +</P> +<DL COMPACT> +<DT><TT>x:Fill-Solid</TT> +<DD>Foreground +<DT><TT>x:Fill-Tiled</TT> +<DD>Tile +<DT><TT>x:Fill-Opaque-Stippled</TT> +<DD>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 +<DT><TT>x:Fill-Stippled</TT> +<DD>Foreground masked by stipple +</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> +<P> + +</P> +<DL COMPACT> +<DT><TT>x:Fill-Solid</TT> +<DD>Background +<DT><TT>x:Fill-Tiled</TT> +<DD>Same as for even dashes +<DT><TT>x:Fill-Opaque-Stippled</TT> +<DD>Same as for even dashes +<DT><TT>x:Fill-Stippled</TT> +<DD>Background masked by stipple +</DL> +</DL> +<P> + +<A NAME="IDX117"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Fill-Rule</B> +<DD>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> + +</P> +<DL COMPACT> +<DT><TT>x:Even-Odd-Rule</TT> +<DD>A point is inside if an infinite ray with the point as +origin crosses the path an odd number of times. +<DT><TT>x:Winding-Rule</TT> +<DD>A point is inside if an infinite ray with the point as origin crosses an +unequal number of clockwise and counterclockwise directed path segments. +</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> +</DL> +<P> + +<A NAME="IDX118"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Tile</B> +<DD><A NAME="IDX119"></A> +<DT><U>Attribute:</U> <B>x:GC-Stipple</B> +<DD>The tile/stipple represents an infinite two-dimensional plane, with the +tile/stipple replicated in all dimensions. +<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> +</DL> +<P> + +<A NAME="IDX120"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Tile-Stip-X-Origin</B> +<DD><A NAME="IDX121"></A> +<DT><U>Attribute:</U> <B>x:GC-Tile-Stip-Y-Origin</B> +<DD>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. +</DL> +<P> + +<A NAME="IDX122"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Font</B> +<DD>The font to be used for drawing text. +</DL> +<P> + +<A NAME="IDX123"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Subwindow-Mode</B> +<DD>You can set the subwindow-mode to x:Clip-By-Children or +x:Include-Inferiors. +<DL COMPACT> +<DT><TT>x:Clip-By-Children</TT> +<DD>Both source and destination windows are additionally clipped by all +viewable Input-Output children. +<DT><TT>x:Include-Inferiors</TT> +<DD>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. +</DL> +</DL> +<P> + +<A NAME="IDX124"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Graphics-Exposures</B> +<DD>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). +</DL> +<P> + +<A NAME="IDX125"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Clip-X-Origin</B> +<DD><A NAME="IDX126"></A> +<DT><U>Attribute:</U> <B>x:GC-Clip-Y-Origin</B> +<DD>The clip-mask origin is interpreted relative to the origin of whatever +destination drawable is specified in a graphics request. +</DL> +<P> + +<A NAME="IDX127"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Clip-Mask</B> +<DD>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="IDX128"></A> +<A NAME="IDX129"></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. +</DL> +<P> + +<A NAME="IDX130"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Dash-Offset</B> +<DD>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> + +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> +</DL> +<P> + +<A NAME="IDX131"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Dash-List</B> +<DD>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. +</DL> +<P> + +<A NAME="IDX132"></A> +</P> +<DL> +<DT><U>Attribute:</U> <B>x:GC-Arc-Mode</B> +<DD>The arc-mode controls filling in the X:Fill-Arcs function and can be set +to x:Arc-Pie-Slice or x:Arc-Chord. +<DL COMPACT> +<DT><TT>x:Arc-Pie-Slice</TT> +<DD>The arcs are pie-slice filled. +<DT><TT>x:Arc-Chord</TT> +<DD>The arcs are chord filled. +</DL> +</DL> +<P> + +<A NAME="Cursor"></A> +<HR SIZE="6"> +<A NAME="SEC9"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC7"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC10"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC7"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC10"> >> </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1> 5. Cursor </H1> +<!--docid::SEC9::--> +<P> + +<A NAME="IDX133"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:create-cursor</B> <I>display shape</I> +<DD>X provides a set of standard cursor shapes in a special font named +<A NAME="IDX134"></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> + +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> +<P> + +<A NAME="IDX135"></A> +<DT><U>Function:</U> <B>x:create-cursor</B> <I>source-font source-char mask-font mask-char fgc bgc</I> +<DD>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> +<P> + +<A NAME="IDX136"></A> +<DT><U>Function:</U> <B>x:create-cursor</B> <I>source-font source-char #f #f fgc bgc</I> +<DD>If <VAR>mask-font</VAR> and <VAR>mask-char</VAR> are #f, all pixels of the source +are displayed. +</P> +<P> + +<A NAME="IDX137"></A> +<DT><U>Function:</U> <B>x:create-cursor</B> <I>source-pixmap mask-pixmap fgc bgc origin</I> +<DD><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> +<P> + +<A NAME="IDX138"></A> +<DT><U>Function:</U> <B>x:create-cursor</B> <I>source-pixmap #f fgc bgc origin</I> +<DD>If <VAR>mask-pixmap</VAR> is #f, all pixels of the source are displayed. +</P> +</DL> +<P> + +<A NAME="Colormap"></A> +<HR SIZE="6"> +<A NAME="SEC10"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC9"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC11"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC9"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC11"> >> </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1> 6. Colormap </H1> +<!--docid::SEC10::--> +<P> + +<A NAME="IDX139"></A> +<A NAME="IDX140"></A> +A <EM>colormap</EM> maps pixel values to <EM>RGB</EM> color space values. +</P> +<P> + +<A NAME="IDX141"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:create-colormap</B> <I>window visual alloc-policy</I> +<DD><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> + +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> +<P> + +</P> +<DL COMPACT> +<DT>`<SAMP>X:Gray-Scale</SAMP>' +<DD><DT>`<SAMP>X:Pseudo-Color</SAMP>' +<DD><DT>`<SAMP>X:Direct-Color</SAMP>' +<DD>The initial values of the colormap entries are undefined. +<P> + +</P> +<DT>`<SAMP>X:Static-Gray</SAMP>' +<DD><DT>`<SAMP>X:Static-Color</SAMP>' +<DD><DT>`<SAMP>X:True-Color</SAMP>' +<DD>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> + +</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> +<P> + +</P> +<DL COMPACT> +<DT>`<SAMP>X:Gray-Scale</SAMP>' +<DD><DT>`<SAMP>X:Pseudo-Color</SAMP>' +<DD>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> + +</P> +<DT>`<SAMP>X:Direct-Color</SAMP>' +<DD>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. +</DL> +<P> + +</P> +</DL> +<P> + +To create a new colormap when the allocation out of a previously +shared colormap has failed because of resource exhaustion, use: +</P> +<P> + +<A NAME="IDX142"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:copy-colormap-and-free</B> <I>colormap</I> +<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> +<P> + +</P> +</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> +<P> + +<A NAME="IDX143"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:alloc-colormap-cells</B> <I>colormap ncolors nplanes</I> +<DD><A NAME="IDX144"></A> +<DT><U>Function:</U> <B>x:alloc-colormap-cells</B> <I>colormap ncolors nplanes contiguous?</I> +<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> +<P> + +</P> +<DL COMPACT> +<DT>`<SAMP>x:Gray-Scale</SAMP>' +<DD><DT>`<SAMP>x:Pseudo-Color</SAMP>' +<DD>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. +<DT>`<SAMP>x:Direct-Color</SAMP>' +<DD>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. +</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> +<P> + +<A NAME="IDX145"></A> +<DT><U>Function:</U> <B>x:alloc-colormap-cells</B> <I>colormap ncolors rgb</I> +<DD><A NAME="IDX146"></A> +<DT><U>Function:</U> <B>x:alloc-colormap-cells</B> <I>colormap ncolors rgb contiguous?</I> +<DD></P> +<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> +</DL> +<P> + +<A NAME="IDX147"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:free-colormap-cells</B> <I>colormap pixels planes</I> +<DD><A NAME="IDX148"></A> +<DT><U>Function:</U> <B>x:free-colormap-cells</B> <I>colormap pixels</I> +<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> +</DL> +<P> + +<A NAME="IDX149"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:colormap-find-color</B> <I>colormap rgb</I> +<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> +<P> + +<A NAME="IDX150"></A> +<DT><U>Function:</U> <B>x:colormap-find-color</B> <I>colormap color-name</I> +<DD></P> +<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> +<P> + +</P> +</DL> +<P> + +<A NAME="IDX151"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:color-ref</B> <I>colormap pixel</I> +<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> +</DL> +<P> + +<A NAME="IDX152"></A> +</P> +<DL> +<DT><U>Function:</U> <B>X:Color-Set!</B> <I>colormap pixel rgb</I> +<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> +<P> + +<A NAME="IDX153"></A> +<DT><U>Function:</U> <B>X:Color-Set!</B> <I>colormap pixel color-name</I> +<DD></P> +<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> +<P> + +</P> +</DL> +<P> + +<A NAME="IDX154"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:install-colormap</B> <I>colormap</I> +<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> +<P> + +</P> +</DL> +<P> + +<A NAME="IDX155"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:ccc</B> <I>colormap</I> +<DD>Returns the Color-Conversion-Context of <VAR>colormap</VAR>. +</DL> +<P> + +<A NAME="Rendering"></A> +<HR SIZE="6"> +<A NAME="SEC11"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC10"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC14"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC10"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC14"> >> </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1> 7. Rendering </H1> +<!--docid::SEC11::--> +<P> + +<A NAME="IDX156"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:flush</B> <I>display</I> +<DD><A NAME="IDX157"></A> +<DT><U>Function:</U> <B>x:flush</B> <I>window</I> +<DD>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> + +<A NAME="IDX158"></A> +<DT><U>Function:</U> <B>x:flush</B> <I>gc</I> +<DD>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> +</DL> +<P> + +<A NAME="IDX159"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:clear-area</B> <I>window (x-pos y-pos) (width height) expose?</I> +<DD>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. +</DL> +<P> + +<A NAME="IDX160"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:fill-rectangle</B> <I>window gcontext position size</I> +<DD><P> + +</P> +</DL> +<P> + +<A NAME="SEC12"></A> +<H2> Draw Strings </H2> +<!--docid::SEC12::--> +<P> + +<A NAME="IDX161"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:draw-string</B> <I>drawable gc position string</I> +<DD><VAR>Position</VAR> specifies coordinates relative to the origin of +<VAR>drawable</VAR> of the origin of the first character to be drawn. +<P> + +<CODE>x:draw-string</CODE> draws the characters of <VAR>string</VAR>, starting at +<VAR>position</VAR>. +</P> +</DL> +<P> + +<A NAME="IDX162"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:image-string</B> <I>drawable gc position string</I> +<DD><VAR>Position</VAR> specifies coordinates relative to the origin of +<VAR>drawable</VAR> of the origin of the first character to be drawn. +<P> + +<CODE>x:image-string</CODE> draws the characters <EM>and background</EM> of +<VAR>string</VAR>, starting at <VAR>position</VAR>. +</P> +</DL> +<P> + +<A NAME="SEC13"></A> +<H2> Draw Shapes </H2> +<!--docid::SEC13::--> +<P> + +<A NAME="IDX163"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:draw-points</B> <I>drawable gc position <small>...</small></I> +<DD><VAR>Position</VAR> <small>...</small> specifies coordinates of the point to be drawn. +<P> + +<A NAME="IDX164"></A> +<DT><U>Function:</U> <B>x:draw-points</B> <I>drawable gc x y <small>...</small></I> +<DD>(<VAR>x</VAR>, <VAR>y</VAR>) <small>...</small> specifies coordinates of the point to be +drawn. +</P> +<P> + +<A NAME="IDX165"></A> +<DT><U>Function:</U> <B>x:draw-points</B> <I>drawable gc point-array</I> +<DD><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> +</DL> +<P> + +<A NAME="IDX166"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:draw-segments</B> <I>drawable gc pos1 pos2 <small>...</small></I> +<DD><VAR>Pos1</VAR>, <VAR>pos2</VAR>, <small>...</small> specify coordinates to be connected by +segments. +<P> + +<A NAME="IDX167"></A> +<DT><U>Function:</U> <B>x:draw-segments</B> <I>drawable gc x1 y1 x2 y2 <small>...</small></I> +<DD>(<VAR>x1</VAR>, <VAR>y1</VAR>), (<VAR>x2</VAR>, <VAR>y2</VAR>) <small>...</small> specify coordinates +to be connected by segments. +</P> +<P> + +<A NAME="IDX168"></A> +<DT><U>Function:</U> <B>x:draw-segments</B> <I>drawable gc point-array</I> +<DD><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> +</DL> +<P> + +<A NAME="IDX169"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:draw-lines</B> <I>drawable gc pos1 pos2 <small>...</small></I> +<DD><VAR>Pos1</VAR>, <VAR>pos2</VAR>, <small>...</small> specify coordinates to be connected by +lines. +<P> + +<A NAME="IDX170"></A> +<DT><U>Function:</U> <B>x:draw-lines</B> <I>drawable gc x1 y1 x2 y2 <small>...</small></I> +<DD>(<VAR>x1</VAR>, <VAR>y1</VAR>), (<VAR>x2</VAR>, <VAR>y2</VAR>) <small>...</small> specify coordinates +to be connected by lines. +</P> +<P> + +<A NAME="IDX171"></A> +<DT><U>Function:</U> <B>x:draw-lines</B> <I>drawable gc point-array</I> +<DD><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> +</DL> +<P> + +<A NAME="IDX172"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:fill-polygon</B> <I>drawable gc pos1 pos2 <small>...</small></I> +<DD><VAR>Pos1</VAR>, <VAR>pos2</VAR>, <small>...</small> specify coordinates of the border path. +<P> + +<A NAME="IDX173"></A> +<DT><U>Function:</U> <B>x:fill-polygon</B> <I>drawable gc x1 y1 x2 y2 <small>...</small></I> +<DD>(<VAR>x1</VAR>, <VAR>y1</VAR>), (<VAR>x2</VAR>, <VAR>y2</VAR>) <small>...</small> specify coordinates +of the border path. +</P> +<P> + +<A NAME="IDX174"></A> +<DT><U>Function:</U> <B>x:fill-polygon</B> <I>drawable gc point-array</I> +<DD><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> +</DL> +<P> + +<A NAME="Images"></A> +<HR SIZE="6"> +<A NAME="SEC14"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC11"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC15"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC11"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC15"> >> </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1> 8. Images </H1> +<!--docid::SEC14::--> +<P> + +<A NAME="IDX175"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:read-bitmap-file</B> <I>drawable file</I> +<DD><P> + +</P> +</DL> +<P> + +<A NAME="Event"></A> +<HR SIZE="6"> +<A NAME="SEC15"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC14"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC16"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC14"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC16"> >> </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1> 9. Event </H1> +<!--docid::SEC15::--> +<P> + +These three status routines always return immediately if there are +events already in the queue. +</P> +<P> + +<A NAME="IDX176"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:q-length</B> <I>display</I> +<DD>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). +</DL> +<P> + +<A NAME="IDX177"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:pending</B> <I>display</I> +<DD>Returns the number of events that have been received from the X server +but have not been removed from the event queue. +</DL> +<P> + +<A NAME="IDX178"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:events-queued</B> <I>display</I> +<DD>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. +</DL> +<P> + +Both of these routines return an object of type <EM>event</EM>. +</P> +<P> + +<A NAME="IDX179"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:next-event</B> <I>display</I> +<DD>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. +</DL> +<P> + +<A NAME="IDX180"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:peek-event</B> <I>display</I> +<DD>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. +</DL> +<P> + +Each event object has fields dependent on its sub-type. +</P> +<P> + +<A NAME="IDX181"></A> +</P> +<DL> +<DT><U>Function:</U> <B>x:event-ref</B> <I>event field-name</I> +<DD><TABLE> +<TR><TD>window</TD> +</TD><TD> +The window on which <VAR>event</VAR> was generated and is referred to as the +event window. +</TR> +<TR><TD>root</TD> +</TD><TD> +is the event window's root window. +</TR> +<TR><TD>subwindow</TD> +</TD><TD> +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>'. +</TR> +<TR><TD>X-event:type</TD> +</TD><TD> +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>. +</TR> +<TR><TD>X-event:serial</TD> +</TD><TD> +The serial number of the protocol request that generated the <VAR>event</VAR>. +</TR> +<TR><TD>X-event:send-event</TD> +</TD><TD> +Boolean that indicates whether the event was sent by a different client. +</TR> +<TR><TD>X-event:time</TD> +</TD><TD> +The time when the <VAR>event</VAR> was generated expressed in milliseconds. +</TR> +<TR><TD>X-event:x</TD> +</TR> +<TR><TD>X-event:y</TD> +</TD><TD> +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. + +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. + +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. +</TR> +<TR><TD>X-event:x-root</TD> +</TR> +<TR><TD>X-event:y-root</TD> +</TD><TD> +The pointer's coordinates relative to the root window's origin at the +time of the <VAR>event</VAR>. +</TR> +<TR><TD>X-event:state</TD> +</TD><TD> +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>. + +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>. + +For colormap events, indicates whether the colormap is installed or +uninstalled: x:Colormap-Installed or x:Colormap-Uninstalled. + +For property events, indicates whether the property was changed to a new +value or deleted: x:Property-New-Value or x:Property-Delete. +</TR> +<TR><TD>X-event:keycode</TD> +</TD><TD> +An integer that represents a physical key on the keyboard. +</TR> +<TR><TD>X-event:same-screen</TD> +</TD><TD> +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. +</TR> +<TR><TD>X-event:button</TD> +</TD><TD> +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. +</TR> +<TR><TD>X-event:is-hint</TD> +</TD><TD> +Detail of motion-notify events: <VAR>x:Notify-Normal</VAR> or +<VAR>x:Notify-Hint</VAR>. +</TR> +<TR><TD>X-event:mode</TD> +</TD><TD> +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>. +</TR> +<TR><TD>X-event:detail</TD> +</TD><TD> +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>. +</TR> +<TR><TD>X-event:focus</TD> +</TD><TD> +If the event window is the focus window or an inferior of the focus +window, #t; otherwise #f. +</TR> +<TR><TD>X-event:width</TD> +</TR> +<TR><TD>X-event:height</TD> +</TD><TD> +The size (extent) of the rectangle. +</TR> +<TR><TD>X-event:count</TD> +</TD><TD> +For mapping events is the number of keycodes altered. + +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. +</TR> +<TR><TD>X-event:major-code</TD> +</TD><TD> +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. +</TR> +<TR><TD>X-event:minor-code</TD> +</TD><TD> +Not currently used. +</TR> +<TR><TD>X-event:border-width</TD> +</TD><TD> +For configure events, the width of the window's border, in pixels. +</TR> +<TR><TD>X-event:override-redirect</TD> +</TD><TD> +The override-redirect attribute of the window. Window manager clients +normally should ignore this window if it is #t. +</TR> +<TR><TD>X-event:from-configure</TD> +</TD><TD> +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. +</TR> +<TR><TD>X-event:value-mask</TD> +</TD><TD> +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. +</TR> +<TR><TD>X-event:place</TD> +</TD><TD> +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. +</TR> +<TR><TD>X-event:new</TD> +</TD><TD> +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. +</TR> +<TR><TD>X-event:format</TD> +</TD><TD> +Is 8, 16, or 32 and specifies whether the data should be viewed as a +list of bytes, shorts, or longs +</TR> +<TR><TD>X-event:request</TD> +</TD><TD> +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. +</TR> +<TR><TD>X-event:first-keycode</TD> +</TD><TD> +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. +</TR></TABLE> +</DL> +<P> + +<A NAME="Index"></A> +<HR SIZE="6"> +<A NAME="SEC16"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC15"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC17"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC15"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1> Procedure and Macro Index </H1> +<!--docid::SEC16::--> +<P> + +This is an alphabetical list of all the procedures and macros in Xlibscm. +</P> +<P> + +</P> +<table><tr><th valign=top>Jump to: </th><td><A HREF="Xlibscm.html#fn_H" style="text-decoration:none"><b>H</b></A> + +<A HREF="Xlibscm.html#fn_X" style="text-decoration:none"><b>X</b></A> + +</td></tr></table><P></P> +<TABLE border=0> +<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="fn_H"></A>H</TH><TD></TD><TD></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX4"><CODE>hostname:number.screen-number</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD COLSPAN=3> <HR></TD></TR> +<TR><TH><A NAME="fn_X"></A>X</TH><TD></TD><TD></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX143"><CODE>x:alloc-colormap-cells</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX144"><CODE>x:alloc-colormap-cells</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX145"><CODE>x:alloc-colormap-cells</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX146"><CODE>x:alloc-colormap-cells</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX155"><CODE>x:ccc</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX159"><CODE>x:clear-area</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC11">7. Rendering</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX5"><CODE>x:close</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX65"><CODE>x:close</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC4">3.1 Windows and Pixmaps</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX66"><CODE>x:close</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC4">3.1 Windows and Pixmaps</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX151"><CODE>x:color-ref</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX152"><CODE>X:Color-Set!</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX153"><CODE>X:Color-Set!</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX149"><CODE>x:colormap-find-color</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX150"><CODE>x:colormap-find-color</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX142"><CODE>x:copy-colormap-and-free</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX106"><CODE>x:copy-gc-fields!</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC7">4. Graphics Context</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX141"><CODE>x:create-colormap</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX133"><CODE>x:create-cursor</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC9">5. Cursor</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX135"><CODE>x:create-cursor</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC9">5. Cursor</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX136"><CODE>x:create-cursor</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC9">5. Cursor</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX137"><CODE>x:create-cursor</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC9">5. Cursor</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX138"><CODE>x:create-cursor</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC9">5. Cursor</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX104"><CODE>x:create-gc</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC7">4. Graphics Context</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX63"><CODE>x:create-pixmap</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC4">3.1 Windows and Pixmaps</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX64"><CODE>x:create-pixmap</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC4">3.1 Windows and Pixmaps</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX61"><CODE>x:create-window</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC4">3.1 Windows and Pixmaps</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX62"><CODE>x:create-window</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC4">3.1 Windows and Pixmaps</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX17"><CODE>x:default-ccc</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX18"><CODE>x:default-ccc</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX19"><CODE>x:default-ccc</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX14"><CODE>x:default-colormap</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX15"><CODE>x:default-colormap</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX16"><CODE>x:default-colormap</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX20"><CODE>x:default-gc</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX21"><CODE>x:default-gc</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX22"><CODE>x:default-gc</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX10"><CODE>x:default-screen</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX26"><CODE>x:default-visual</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX27"><CODE>x:default-visual</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX28"><CODE>x:default-visual</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX169"><CODE>x:draw-lines</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC13">Draw Shapes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX170"><CODE>x:draw-lines</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC13">Draw Shapes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX171"><CODE>x:draw-lines</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC13">Draw Shapes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX163"><CODE>x:draw-points</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC13">Draw Shapes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX164"><CODE>x:draw-points</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC13">Draw Shapes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX165"><CODE>x:draw-points</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC13">Draw Shapes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX166"><CODE>x:draw-segments</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC13">Draw Shapes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX167"><CODE>x:draw-segments</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC13">Draw Shapes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX168"><CODE>x:draw-segments</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC13">Draw Shapes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX161"><CODE>x:draw-string</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC12">Draw Strings</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX181"><CODE>x:event-ref</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC15">9. Event</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX178"><CODE>x:events-queued</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC15">9. Event</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX172"><CODE>x:fill-polygon</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC13">Draw Shapes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX173"><CODE>x:fill-polygon</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC13">Draw Shapes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX174"><CODE>x:fill-polygon</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC13">Draw Shapes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX160"><CODE>x:fill-rectangle</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC11">7. Rendering</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX156"><CODE>x:flush</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC11">7. Rendering</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX157"><CODE>x:flush</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC11">7. Rendering</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX158"><CODE>x:flush</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC11">7. Rendering</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX147"><CODE>x:free-colormap-cells</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX148"><CODE>x:free-colormap-cells</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX107"><CODE>x:gc-ref</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC7">4. Graphics Context</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX105"><CODE>x:gc-set!</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC7">4. Graphics Context</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX93"><CODE>x:get-window-property</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC6">3.3 Window Properties and Visibility</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX94"><CODE>x:get-window-property</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC6">3.3 Window Properties and Visibility</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX162"><CODE>x:image-string</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC12">Draw Strings</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX154"><CODE>x:install-colormap</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX95"><CODE>x:list-properties</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC6">3.3 Window Properties and Visibility</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX31"><CODE>x:make-visual</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX32"><CODE>x:make-visual</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX101"><CODE>x:map-subwindows</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC6">3.3 Window Properties and Visibility</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX100"><CODE>x:map-window</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC6">3.3 Window Properties and Visibility</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX179"><CODE>x:next-event</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC15">9. Event</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX3"><CODE>x:open-display</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX180"><CODE>x:peek-event</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC15">9. Event</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX177"><CODE>x:pending</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC15">9. Event</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX6"><CODE>x:protocol-version</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX176"><CODE>x:q-length</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC15">9. Event</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX175"><CODE>x:read-bitmap-file</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC14">8. Images</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX11"><CODE>x:root-window</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX12"><CODE>x:root-window</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX13"><CODE>x:root-window</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX56"><CODE>x:screen-black</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX57"><CODE>x:screen-black</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX58"><CODE>x:screen-black</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX39"><CODE>x:screen-cells</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX40"><CODE>x:screen-cells</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX41"><CODE>x:screen-cells</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX9"><CODE>x:screen-count</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX42"><CODE>x:screen-depth</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX43"><CODE>x:screen-depth</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX44"><CODE>x:screen-depth</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX45"><CODE>x:screen-depth</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX23"><CODE>x:screen-depths</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX24"><CODE>x:screen-depths</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX25"><CODE>x:screen-depths</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX50"><CODE>x:screen-dimensions</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX51"><CODE>x:screen-dimensions</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX52"><CODE>x:screen-dimensions</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX47"><CODE>x:screen-size</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX48"><CODE>x:screen-size</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX49"><CODE>x:screen-size</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX53"><CODE>x:screen-white</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX54"><CODE>x:screen-white</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX55"><CODE>x:screen-white</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX7"><CODE>x:server-vendor</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX103"><CODE>x:unmap-subwindows</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC6">3.3 Window Properties and Visibility</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX102"><CODE>x:unmap-window</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC6">3.3 Window Properties and Visibility</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX8"><CODE>x:vendor-release</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX33"><CODE>x:visual-class</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX34"><CODE>x:visual-class</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX35"><CODE>x:visual-class</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX36"><CODE>x:visual-geometry</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX37"><CODE>x:visual-geometry</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX38"><CODE>x:visual-geometry</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX67"><CODE>x:window-geometry</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC4">3.1 Windows and Pixmaps</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX68"><CODE>x:window-geometry-set!</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC4">3.1 Windows and Pixmaps</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX92"><CODE>x:window-ref</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX76"><CODE>x:window-set!</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD COLSPAN=3> <HR></TD></TR> +</TABLE><P></P><table><tr><th valign=top>Jump to: </th><td><A HREF="Xlibscm.html#fn_H" style="text-decoration:none"><b>H</b></A> + +<A HREF="Xlibscm.html#fn_X" style="text-decoration:none"><b>X</b></A> + +</td></tr></table><P> + +<HR SIZE="6"> +<A NAME="SEC17"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC16"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC18"> > </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC16"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1> Variable Index </H1> +<!--docid::SEC17::--> +<P> + +This is an alphabetical list of all the global variables in Xlibscm. +</P> +<P> + +</P> +<table><tr><th valign=top>Jump to: </th><td><A HREF="Xlibscm.html#vr_X" style="text-decoration:none"><b>X</b></A> + +</td></tr></table><P></P> +<TABLE border=0> +<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="vr_X"></A>X</TH><TD></TD><TD></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX78"><CODE>x:CW-Back-Pixel</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX77"><CODE>x:CW-Back-Pixmap</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX85"><CODE>x:CW-Backing-Pixel</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX84"><CODE>x:CW-Backing-Planes</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX83"><CODE>x:CW-Backing-Store</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX81"><CODE>x:CW-Bit-Gravity</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX80"><CODE>x:CW-Border-Pixel</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX79"><CODE>x:CW-Border-Pixmap</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX73"><CODE>x:CW-Border-Width</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC4">3.1 Windows and Pixmaps</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX90"><CODE>x:CW-Colormap</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX91"><CODE>x:CW-Cursor</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX89"><CODE>x:CW-Dont-Propagate</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX88"><CODE>x:CW-Event-Mask</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX72"><CODE>x:CW-Height</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC4">3.1 Windows and Pixmaps</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX86"><CODE>x:CW-Override-Redirect</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX87"><CODE>x:CW-Save-Under</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX74"><CODE>x:CW-Sibling</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC4">3.1 Windows and Pixmaps</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX75"><CODE>x:CW-Stack-Mode</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC4">3.1 Windows and Pixmaps</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX71"><CODE>x:CW-Width</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC4">3.1 Windows and Pixmaps</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX82"><CODE>x:CW-Win-Gravity</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX69"><CODE>x:CWX</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC4">3.1 Windows and Pixmaps</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX70"><CODE>x:CWY</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC4">3.1 Windows and Pixmaps</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX132"><CODE>x:GC-Arc-Mode</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX111"><CODE>x:GC-Background</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX114"><CODE>x:GC-Cap-Style</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX127"><CODE>x:GC-Clip-Mask</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX125"><CODE>x:GC-Clip-X-Origin</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX126"><CODE>x:GC-Clip-Y-Origin</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX131"><CODE>x:GC-Dash-List</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX130"><CODE>x:GC-Dash-Offset</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX117"><CODE>x:GC-Fill-Rule</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX116"><CODE>x:GC-Fill-Style</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX122"><CODE>x:GC-Font</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX110"><CODE>x:GC-Foreground</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX108"><CODE>x:GC-Function</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX124"><CODE>x:GC-Graphics-Exposures</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX115"><CODE>x:GC-Join-Style</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX113"><CODE>x:GC-Line-Style</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX112"><CODE>x:GC-Line-Width</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX109"><CODE>x:GC-Plane-Mask</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX119"><CODE>x:GC-Stipple</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX123"><CODE>x:GC-Subwindow-Mode</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX118"><CODE>x:GC-Tile</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX120"><CODE>x:GC-Tile-Stip-X-Origin</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX121"><CODE>x:GC-Tile-Stip-Y-Origin</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD COLSPAN=3> <HR></TD></TR> +</TABLE><P></P><table><tr><th valign=top>Jump to: </th><td><A HREF="Xlibscm.html#vr_X" style="text-decoration:none"><b>X</b></A> + +</td></tr></table><P> + +This is an alphabetical list of concepts introduced in this manual. +</P> +<P> + +<HR SIZE="6"> +<A NAME="SEC18"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC17"> < </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[ > ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC17"> << </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top"> Up </A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[ >> ]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT"> <TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1> Concept Index </H1> +<!--docid::SEC18::--> +<table><tr><th valign=top>Jump to: </th><td><A HREF="Xlibscm.html#cp_C" style="text-decoration:none"><b>C</b></A> + +<A HREF="Xlibscm.html#cp_D" style="text-decoration:none"><b>D</b></A> + +<A HREF="Xlibscm.html#cp_M" style="text-decoration:none"><b>M</b></A> + +<A HREF="Xlibscm.html#cp_N" style="text-decoration:none"><b>N</b></A> + +<A HREF="Xlibscm.html#cp_R" style="text-decoration:none"><b>R</b></A> + +<A HREF="Xlibscm.html#cp_U" style="text-decoration:none"><b>U</b></A> + +<A HREF="Xlibscm.html#cp_V" style="text-decoration:none"><b>V</b></A> + +<A HREF="Xlibscm.html#cp_X" style="text-decoration:none"><b>X</b></A> + +</td></tr></table><P></P> +<TABLE border=0> +<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="cp_C"></A>C</TH><TD></TD><TD></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX139">colormap</A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX134">cursor</A></TD><TD valign=top><A HREF="Xlibscm.html#SEC9">5. Cursor</A></TD></TR> +<TR><TD COLSPAN=3> <HR></TD></TR> +<TR><TH><A NAME="cp_D"></A>D</TH><TD></TD><TD></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX46">depth</A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX60">drawable</A></TD><TD valign=top><A HREF="Xlibscm.html#SEC3">3. Drawables</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX59">Drawable</A></TD><TD valign=top><A HREF="Xlibscm.html#SEC3">3. Drawables</A></TD></TR> +<TR><TD COLSPAN=3> <HR></TD></TR> +<TR><TH><A NAME="cp_M"></A>M</TH><TD></TD><TD></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX96">map</A></TD><TD valign=top><A HREF="Xlibscm.html#SEC6">3.3 Window Properties and Visibility</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX98">mapped</A></TD><TD valign=top><A HREF="Xlibscm.html#SEC6">3.3 Window Properties and Visibility</A></TD></TR> +<TR><TD COLSPAN=3> <HR></TD></TR> +<TR><TH><A NAME="cp_N"></A>N</TH><TD></TD><TD></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX129">none</A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD COLSPAN=3> <HR></TD></TR> +<TR><TH><A NAME="cp_R"></A>R</TH><TD></TD><TD></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX140">RGB</A></TD><TD valign=top><A HREF="Xlibscm.html#SEC10">6. Colormap</A></TD></TR> +<TR><TD COLSPAN=3> <HR></TD></TR> +<TR><TH><A NAME="cp_U"></A>U</TH><TD></TD><TD></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX97">unmap</A></TD><TD valign=top><A HREF="Xlibscm.html#SEC6">3.3 Window Properties and Visibility</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX99">unmapped</A></TD><TD valign=top><A HREF="Xlibscm.html#SEC6">3.3 Window Properties and Visibility</A></TD></TR> +<TR><TD COLSPAN=3> <HR></TD></TR> +<TR><TH><A NAME="cp_V"></A>V</TH><TD></TD><TD></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX29">visual</A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX30">Visual</A></TD><TD valign=top><A HREF="Xlibscm.html#SEC2">2. Display and Screens</A></TD></TR> +<TR><TD COLSPAN=3> <HR></TD></TR> +<TR><TH><A NAME="cp_X"></A>X</TH><TD></TD><TD></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX1">X</A></TD><TD valign=top><A HREF="Xlibscm.html#SEC1">1. Xlibscm</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX128">x:None</A></TD><TD valign=top><A HREF="Xlibscm.html#SEC8">GC Attributes</A></TD></TR> +<TR><TD></TD><TD valign=top><A HREF="Xlibscm.html#IDX2"><CODE>Xlib</CODE></A></TD><TD valign=top><A HREF="Xlibscm.html#SEC1">1. Xlibscm</A></TD></TR> +<TR><TD COLSPAN=3> <HR></TD></TR> +</TABLE><P></P><table><tr><th valign=top>Jump to: </th><td><A HREF="Xlibscm.html#cp_C" style="text-decoration:none"><b>C</b></A> + +<A HREF="Xlibscm.html#cp_D" style="text-decoration:none"><b>D</b></A> + +<A HREF="Xlibscm.html#cp_M" style="text-decoration:none"><b>M</b></A> + +<A HREF="Xlibscm.html#cp_N" style="text-decoration:none"><b>N</b></A> + +<A HREF="Xlibscm.html#cp_R" style="text-decoration:none"><b>R</b></A> + +<A HREF="Xlibscm.html#cp_U" style="text-decoration:none"><b>U</b></A> + +<A HREF="Xlibscm.html#cp_V" style="text-decoration:none"><b>V</b></A> + +<A HREF="Xlibscm.html#cp_X" style="text-decoration:none"><b>X</b></A> + +</td></tr></table><P> + +<HR SIZE="6"> +<A NAME="SEC_Contents"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1>Table of Contents</H1> +<BLOCKQUOTE> +<A NAME="TOC1" HREF="Xlibscm.html#SEC1">1. Xlibscm</A> +<BR> +<A NAME="TOC2" HREF="Xlibscm.html#SEC2">2. Display and Screens</A> +<BR> +<A NAME="TOC3" HREF="Xlibscm.html#SEC3">3. Drawables</A> +<BR> +<BLOCKQUOTE> +<A NAME="TOC4" HREF="Xlibscm.html#SEC4">3.1 Windows and Pixmaps</A> +<BR> +<A NAME="TOC5" HREF="Xlibscm.html#SEC5">3.2 Window Attributes</A> +<BR> +<A NAME="TOC6" HREF="Xlibscm.html#SEC6">3.3 Window Properties and Visibility</A> +<BR> +</BLOCKQUOTE> +<A NAME="TOC7" HREF="Xlibscm.html#SEC7">4. Graphics Context</A> +<BR> +<A NAME="TOC9" HREF="Xlibscm.html#SEC9">5. Cursor</A> +<BR> +<A NAME="TOC10" HREF="Xlibscm.html#SEC10">6. Colormap</A> +<BR> +<A NAME="TOC11" HREF="Xlibscm.html#SEC11">7. Rendering</A> +<BR> +<A NAME="TOC14" HREF="Xlibscm.html#SEC14">8. Images</A> +<BR> +<A NAME="TOC15" HREF="Xlibscm.html#SEC15">9. Event</A> +<BR> +<A NAME="TOC16" HREF="Xlibscm.html#SEC16">Procedure and Macro Index</A> +<BR> +<A NAME="TOC17" HREF="Xlibscm.html#SEC17">Variable Index</A> +<BR> +<A NAME="TOC18" HREF="Xlibscm.html#SEC18">Concept Index</A> +<BR> +</BLOCKQUOTE> +<HR SIZE=1> +<A NAME="SEC_OVERVIEW"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1>Short Table of Contents</H1> +<BLOCKQUOTE> +<A NAME="TOC1" HREF="Xlibscm.html#SEC1">1. Xlibscm</A> +<BR> +<A NAME="TOC2" HREF="Xlibscm.html#SEC2">2. Display and Screens</A> +<BR> +<A NAME="TOC3" HREF="Xlibscm.html#SEC3">3. Drawables</A> +<BR> +<A NAME="TOC7" HREF="Xlibscm.html#SEC7">4. Graphics Context</A> +<BR> +<A NAME="TOC9" HREF="Xlibscm.html#SEC9">5. Cursor</A> +<BR> +<A NAME="TOC10" HREF="Xlibscm.html#SEC10">6. Colormap</A> +<BR> +<A NAME="TOC11" HREF="Xlibscm.html#SEC11">7. Rendering</A> +<BR> +<A NAME="TOC14" HREF="Xlibscm.html#SEC14">8. Images</A> +<BR> +<A NAME="TOC15" HREF="Xlibscm.html#SEC15">9. Event</A> +<BR> +<A NAME="TOC16" HREF="Xlibscm.html#SEC16">Procedure and Macro Index</A> +<BR> +<A NAME="TOC17" HREF="Xlibscm.html#SEC17">Variable Index</A> +<BR> +<A NAME="TOC18" HREF="Xlibscm.html#SEC18">Concept Index</A> +<BR> + +</BLOCKQUOTE> +<HR SIZE=1> +<A NAME="SEC_About"></A> +<TABLE CELLPADDING=1 CELLSPACING=1 BORDER=0> +<TR><TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Top">Top</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_Contents">Contents</A>]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[Index]</TD> +<TD VALIGN="MIDDLE" ALIGN="LEFT">[<A HREF="Xlibscm.html#SEC_About"> ? </A>]</TD> +</TR></TABLE> +<H1>About this document</H1> +This document was generated +by +using <A HREF="http://texi2html.cvshome.org"><I>texi2html</I></A> +<P></P> +The buttons in the navigation panels have the following meaning: +<P></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> +concept index +</TD> +<TD> + +</TD> +</TR> +<TR> +<TD ALIGN="CENTER"> + [ ? ] </TD> +<TD ALIGN="CENTER"> +About +</TD> +<TD> +this page +</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>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> +<BR> +<FONT SIZE="-1"> +This document was generated +by <I>James LewisMoss</I> on <I>May, 6 2004</I> +using <A HREF="http://texi2html.cvshome.org"><I>texi2html</I></A> +</FONT> + +</BODY> +</HTML> |