.gitignore | 78 ++ ChangeLog | 222 +++++++ Makefile.am | 22 README | 42 + configure.ac | 20 debian/changelog | 9 debian/control | 2 ge.h | 4 geproto.txt | 83 -- shapestr.h | 8 shmstr.h | 66 ++ specs/.gitignore | 6 specs/Makefile.am | 77 ++ specs/appgroup.xml | 248 ++++++++ specs/dbe.xml | 1061 ++++++++++++++++++++++++++++++++++ specs/dpms.xml | 563 ++++++++++++++++++ specs/evi.xml | 518 ++++++++++++++++ specs/geproto.xml | 97 +++ specs/multibuf.xml | 1628 +++++++++++++++++++++++++++++++++++++++++++++++++++++ specs/security.xml | 1532 +++++++++++++++++++++++++++++++++++++++++++++++++ specs/shape.xml | 1236 ++++++++++++++++++++++++++++++++++++++++ specs/shm.xml | 474 +++++++++++++++ specs/sync.xml | 1062 ++++++++++++++++++++++++++++++++++ specs/tog-cup.xml | 562 ++++++++++++++++++ specs/xtest.xml | 722 +++++++++++++++++++++++ syncstr.h | 184 +++++ 26 files changed, 10418 insertions(+), 108 deletions(-)
New commits: commit d095d0f5f85fd280778a0873f8792b786bc44feb Author: Robert Hooker <sarv...@ubuntu.com> Date: Tue Nov 2 20:08:25 2010 -0400 Bump xutils-dev build dep. diff --git a/debian/changelog b/debian/changelog index 35eee3d..ea6a105 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,6 +7,7 @@ x11proto-xext (7.1.2-1) UNRELEASED; urgency=low [ Robert Hooker ] * New upstream release. + * Bump xutils-dev build dep for util-macros 1.10 requirement. -- Robert Hooker <sarv...@ubuntu.com> Tue, 02 Nov 2010 20:06:50 -0400 diff --git a/debian/control b/debian/control index 3445550..96332da 100644 --- a/debian/control +++ b/debian/control @@ -5,7 +5,7 @@ Maintainer: Debian X Strike Force <debian-x@lists.debian.org> Uploaders: David Nusinow <dnusi...@debian.org>, Andres Salomon <dilin...@debian.org> Build-Depends: debhelper (>= 5.0.0), - xutils-dev (>= 1:7.4+4), + xutils-dev (>= 1:7.5+5), autoconf, automake Standards-Version: 3.8.3 commit 13058c01bc02026953b05bdab93d66cf5bd12dff Author: Robert Hooker <sarv...@ubuntu.com> Date: Tue Nov 2 20:07:18 2010 -0400 Bump changelogs. diff --git a/ChangeLog b/ChangeLog index c20b3a4..1fcd54c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,225 @@ +commit 5daf9cff36df7423f6247fc8174b8e6c9443ed07 +Author: Adam Jackson <a...@redhat.com> +Date: Tue Aug 10 10:24:51 2010 -0400 + + xextproto 7.1.2 + + Signed-off-by: Adam Jackson <a...@redhat.com> + +commit 35741d9dc745532dc4af37cc07e256392e3880da +Author: Gaetan Nadon <mems...@videotron.ca> +Date: Tue Aug 3 11:03:49 2010 -0400 + + specs: convert protocol geproto.txt to DocBook XML + + Signed-off-by: Gaetan Nadon <mems...@videotron.ca> + +commit 260da6ca1dec9abde11c064d0aeac01f695a1596 +Author: Matt Dew <m...@osource.org> +Date: Mon Aug 2 15:10:04 2010 -0400 + + specs: convert protocol xtest.ms from xorg-docs to DocBook XML + + Signed-off-by: Gaetan Nadon <mems...@videotron.ca> + +commit 4240526710d837cf06502521ee58c6a4538c6c0e +Author: Matt Dew <m...@osource.org> +Date: Mon Aug 2 13:43:32 2010 -0400 + + specs: convert protocol buffer.ms from xorg-docs to DocBook XML + + multibuf.xml + + Signed-off-by: Gaetan Nadon <mems...@videotron.ca> + +commit c86700c0c87de8d6ec7f085d06e9a48558bb5118 +Author: Matt Dew <m...@osource.org> +Date: Mon Aug 2 13:35:26 2010 -0400 + + specs: convert protocol evi.ms from xorg-docs to DocBook XML + + Signed-off-by: Gaetan Nadon <mems...@videotron.ca> + +commit f825b85bd8bde4b78c6e3d0b05b713e6f48a2ff5 +Author: Matt Dew <m...@osource.org> +Date: Mon Aug 2 13:28:07 2010 -0400 + + specs: convert protocol appgroup.ms from xorg-docs to DocBook XML + + Signed-off-by: Gaetan Nadon <mems...@videotron.ca> + +commit 99a5fde423a301167cb825edbf718de7af9f1158 +Author: Matt Dew <m...@osource.org> +Date: Mon Aug 2 13:21:31 2010 -0400 + + specs: convert protocol tog-cup.ms from xorg-docs to DocBook XML + + Signed-off-by: Gaetan Nadon <mems...@videotron.ca> + +commit fc2c585ab9bfe0815a917c897e0b463bf04f8475 +Author: Matt Dew <m...@osource.org> +Date: Mon Aug 2 10:46:54 2010 -0400 + + specs: convert protocol dpms.ms specs from xorg-docs module to DocBook XML + + Signed-off-by: Gaetan Nadon <mems...@videotron.ca> + +commit 7c9b2197cbb0f787b6330243eb777f612251064d +Author: Matt Dew <m...@osource.org> +Date: Mon Aug 2 10:40:47 2010 -0400 + + specs: convert protocol shm.ms specs from xorg-docs module to DocBook XML + + Signed-off-by: Gaetan Nadon <mems...@videotron.ca> + +commit cf083a0d35da6665b2aebc6eea4f65009c32411b +Author: Matt Dew <m...@osource.org> +Date: Sun Aug 1 20:41:48 2010 -0400 + + specs: convert protocol shape.ms specs from xorg-docs module to DocBook XML + + Signed-off-by: Gaetan Nadon <mems...@videotron.ca> + +commit 69996150256954ef71c45ee7727fea96e02f8db2 +Author: Gaetan Nadon <mems...@videotron.ca> +Date: Wed Jun 30 13:39:21 2010 -0400 + + specs: move geproto.txt in the specs directory + + Signed-off-by: Gaetan Nadon <mems...@videotron.ca> + +commit 3f1718e39c73475fb8384e61b6dc78f313d926f9 +Author: Matt Dew <m...@osource.org> +Date: Wed Jun 30 13:21:28 2010 -0400 + + specs: convert protocol .ms specs from xorg-docs module to DocBook XML + + Signed-off-by: Gaetan Nadon <mems...@videotron.ca> + +commit c4595fad1d79c0957d3f4dff6ef56d72ae8cc38d +Author: Aaron Plattner <aplatt...@nvidia.com> +Date: Tue Mar 30 09:54:26 2010 -0700 + + XGE: Don't reserve an extension event. + + The Generic Event Extension extension uses the "GenericEvent" core event type, + so it doesn't need to also reserve an extension event. + + Signed-off-by: Aaron Plattner <aplatt...@nvidia.com> + Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> + +commit 5f2cc1e2b99d45a612204a86583abb386907be04 +Author: Gaetan Nadon <mems...@videotron.ca> +Date: Sun Mar 28 19:25:52 2010 -0400 + + config: update AC_PREREQ statement to 2.60 + + Unrelated to the previous patches, the new value simply reflects + the reality that the minimum level for autoconf to configure + all x.org modules is 2.60 dated June 2006. + + ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.60.tar.gz + + Signed-off-by: Gaetan Nadon <mems...@videotron.ca> + +commit 21f7dc38add3bda551216a0fa6319d9f3f9af99a +Author: Gaetan Nadon <mems...@videotron.ca> +Date: Sun Mar 28 19:00:31 2010 -0400 + + config: remove the pkgconfig pc.in file from EXTRA_DIST + + Automake always includes it in the tarball. + + Signed-off-by: Gaetan Nadon <mems...@videotron.ca> + +commit 650615405c327398b5708787bc19198cbb864d20 +Author: Gaetan Nadon <mems...@videotron.ca> +Date: Sun Mar 28 17:51:29 2010 -0400 + + config: install and distribute geproto.txt + + It will now be installed in $docdir in addition + to being distributed in the tarball. + + Signed-off-by: Gaetan Nadon <mems...@videotron.ca> + +commit 37f6affde561251df61c7011f9d1d83b006d2fbe +Author: Gaetan Nadon <mems...@videotron.ca> +Date: Sun Nov 22 19:24:48 2009 -0500 + + Makefile.am: add ChangeLog and INSTALL on MAINTAINERCLEANFILES + + Now that the INSTALL file is generated. + Allows running make maintainer-clean. + +commit e9fa939ef8515bca5f8cde85a91b3ae0ae456de7 +Author: Gaetan Nadon <mems...@videotron.ca> +Date: Mon Nov 16 11:13:30 2009 -0500 + + README: file created or updated #24206 + + Contains a set of URLs to freedesktop.org. + +commit 3690603986929a706acd76fc0b33132fe0178129 +Author: Gaetan Nadon <mems...@videotron.ca> +Date: Sun Nov 15 19:45:27 2009 -0500 + + Makefile.am: ChangeLog not required: EXTRA_DIST or *CLEANFILES #24432 + + ChangeLog filename is known to Automake and requires no further + coding in the makefile. + +commit e52cb6ef1baa65c1688b3160727214efae57b0e2 +Author: Gaetan Nadon <mems...@videotron.ca> +Date: Sun Nov 15 18:31:29 2009 -0500 + + Makefile.am: INSTALL file is missing or incorrect #24206 + + The standard GNU file on building/installing tarball is copied + using the XORG_INSTALL macro contained in XORG_DEFAULT_OPTIONS + Add INSTALL target + +commit bfaecf2a80ef1bcbfa6243fdb1bfc2e335f86a10 +Author: Gaetan Nadon <mems...@videotron.ca> +Date: Sun Nov 15 18:11:36 2009 -0500 + + configure.ac: deploy the new XORG_DEFAULT_OPTIONS #24242 + + This macro aggregate a number of existing macros that sets commmon + X.Org components configuration options. It shields the configuration file from + future changes. + +commit 182e739d8ff1f9bb8ddb8fcff8737dabde96c47f +Author: Gaetan Nadon <mems...@videotron.ca> +Date: Sun Nov 15 13:55:25 2009 -0500 + + configure.ac: AM_MAINTAINER_MODE missing #24238 + + This turns off maintainer mode build rules in tarballs. + Works in conjunction with autogen.sh --enable-maintainer-mode + +commit 4b0b3afee88fdefaab2d9aa690dc5dc465964316 +Author: Gaetan Nadon <mems...@videotron.ca> +Date: Sat Nov 14 18:26:47 2009 -0500 + + .gitignore: use common defaults with custom section # 24239 + + Using common defaults will reduce errors and maintenance. + Only the very small or inexistent custom section need periodic maintenance + when the structure of the component changes. Do not edit defaults. + +commit 9d5e140111ef0e7e0c9d30d7e0acf8c43a248816 +Author: Keith Packard <kei...@keithp.com> +Date: Tue Nov 3 14:41:33 2009 -0800 + + Allow old servers to build with new headers + + This provides header compatibility back to X server version 1.6 at + least (that's all I tested). + + Signed-off-by: Keith Packard <kei...@keithp.com> + Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net> + commit 987aeb9bd1915a655f31e250ee9c02d04927b150 Author: Peter Hutterer <peter.hutte...@who-t.net> Date: Tue Aug 25 09:30:15 2009 +1000 diff --git a/debian/changelog b/debian/changelog index 6f7edfe..35eee3d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,10 +1,14 @@ -x11proto-xext (7.1.1-3) UNRELEASED; urgency=low +x11proto-xext (7.1.2-1) UNRELEASED; urgency=low + [ Julien Cristau ] * Rename the build directory to not include DEB_BUILD_GNU_TYPE for no good reason. Thanks, Colin Watson! * Remove myself from Uploaders - -- Julien Cristau <jcris...@debian.org> Sat, 16 Jan 2010 16:47:45 +0000 + [ Robert Hooker ] + * New upstream release. + + -- Robert Hooker <sarv...@ubuntu.com> Tue, 02 Nov 2010 20:06:50 -0400 x11proto-xext (7.1.1-2) unstable; urgency=low commit 5daf9cff36df7423f6247fc8174b8e6c9443ed07 Author: Adam Jackson <a...@redhat.com> Date: Tue Aug 10 10:24:51 2010 -0400 xextproto 7.1.2 Signed-off-by: Adam Jackson <a...@redhat.com> diff --git a/configure.ac b/configure.ac index b7bc693..599651b 100644 --- a/configure.ac +++ b/configure.ac @@ -1,5 +1,5 @@ AC_PREREQ([2.60]) -AC_INIT([XExtProto], [7.1.1], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) +AC_INIT([XExtProto], [7.1.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE commit 35741d9dc745532dc4af37cc07e256392e3880da Author: Gaetan Nadon <mems...@videotron.ca> Date: Tue Aug 3 11:03:49 2010 -0400 specs: convert protocol geproto.txt to DocBook XML Signed-off-by: Gaetan Nadon <mems...@videotron.ca> diff --git a/specs/Makefile.am b/specs/Makefile.am index a1acb2e..3e631a1 100644 --- a/specs/Makefile.am +++ b/specs/Makefile.am @@ -27,6 +27,7 @@ doc_sources = \ dbe.xml \ dpms.xml \ evi.xml \ + geproto.xml \ multibuf.xml \ security.xml \ shape.xml \ @@ -35,7 +36,7 @@ doc_sources = \ tog-cup.xml \ xtest.xml -dist_doc_DATA = $(doc_sources) geproto.txt +dist_doc_DATA = $(doc_sources) if HAVE_XMLTO doc_DATA = $(doc_sources:.xml=.html) diff --git a/specs/geproto.txt b/specs/geproto.txt deleted file mode 100644 index 1054def..0000000 --- a/specs/geproto.txt +++ /dev/null @@ -1,84 +0,0 @@ - X Generic Event Extension - Peter Hutterer - peter.hutte...@who-t.net - - -1. Introduction -2. Extension Initialization -3. Events -4. Notes - -_____________________________________________________________________________ -1. Introduction - -X was designed to provide 64 event opcodes for all extensions. These events -are limited to 32 bytes. - -The Generic Event Extension provides a template event for extensions to re-use -a single event opcode. GE only provide headers and the most basic -functionality, leaving the extensions to interpret the events in their -specific context. - -GenericEvents may be longer than 32 bytes. If so, the number of 4 byte units -following the initial 32 bytes must be specified in the length field of the -event. -_____________________________________________________________________________ -2. Extension Initialization - -The name of this extension is "Generic Event Extension" - -┌─── - GEQueryVersion - client-major-version: CARD16 - client-minor-version: CARD16 - ▶ - major-version: CARD16 - minor-version: CARD16 -└─── - - The client sends the highest supported version to the server - and the server sends the highest version it supports, but no - higher than the requested version. Major versions changes can - introduce incompatibilities in existing functionality, minor - version changes introduce only backward compatible changes. - It is the clients responsibility to ensure that the server - supports a version which is compatible with its expectations. - - - As of version 1.0, no other requests are provided by this extension. -_____________________________________________________________________________ -3. Events - -GE defines a single event, to be used by all extensions. The event's structure -is similar to a reply. This is a core protocol event, ID 35, and is not itself -an extension event. - -┌─── - GenericEvent - type: BYTE; always GenericEvent (35) - extension: CARD8; extension offset - sequenceNumber: CARD16 low 16 bits of request seq. number - length: CARD32 length - evtype: CARD16 event type -└─── - - The field 'extension' is to be set to the major opcode of the - extension. The 'evtype' field is the actual opcode of the event. - The length field specifies the number of 4-byte blocks after the - initial 32 bytes. If length is 0, the event is 32 bytes long. -_____________________________________________________________________________ -4. Notes - -Although the wire event is of arbitrary length, the actual size of an XEvent -is restricted to sizeof(XEvent) [96 bytes, see Xlib.h]. If an extension -converts a wire event to an XEvent > 96 bytes, it will overwrite the space -allocated for the event. See struct _XSQEvent in Xlibint.h for details. - -Extensions need to malloc additional data and fill the XEvent structure with -pointers to the malloc'd data. The client then needs to free the data, only -the XEvent structure will be released by Xlib. - -The server must not send GenericEvents longer than 32 bytes until it has -verified that the client is able to interpret these events. If a long event is -sent to a client unable to process GenericEvents, future interpretation of -replies and events by this client will fail. diff --git a/specs/geproto.xml b/specs/geproto.xml new file mode 100644 index 0000000..7bba357 --- /dev/null +++ b/specs/geproto.xml @@ -0,0 +1,97 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" +"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"> +<book> + <bookinfo> + <title>X Generic Event Extension</title> + + <author> + <firstname>Peter</firstname> + + <surname>Hutterer</surname> + + <affiliation> + <orgname>peter.hutte...@who-t.net</orgname> + </affiliation> + </author> + </bookinfo> + + <chapter> + <title>Introduction</title> + + <para>X was designed to provide 64 event opcodes for all extensions. These + events are limited to 32 bytes.</para> + + <para>The Generic Event Extension provides a template event for extensions + to re-use a single event opcode. GE only provide headers and the most + basic functionality, leaving the extensions to interpret the events in + their specific context.</para> + + <para>GenericEvents may be longer than 32 bytes. If so, the number of 4 + byte units following the initial 32 bytes must be specified in the length + field of the event.</para> + </chapter> + + <chapter> + <title>Extension Initialization</title> + + <para>The name of this extension is "Generic Event Extension"</para> + + <programlisting>GEQueryVersion + client-major-version: CARD16 + client-minor-version: CARD16 +==> + major-version: CARD16 + minor-version: CARD16</programlisting> + + <para>The client sends the highest supported version to the server and the + server sends the highest version it supports, but no higher than the + requested version. Major versions changes can introduce incompatibilities + in existing functionality, minor version changes introduce only backward + compatible changes. It is the clients responsibility to ensure that the + server supports a version which is compatible with its + expectations.</para> + + <para>As of version 1.0, no other requests are provided by this extension. + </para> + </chapter> + + <chapter> + <title>Events</title> + + <para>GE defines a single event, to be used by all extensions. The event's + structure is similar to a reply. This is a core protocol event, ID 35, and + is not itself an extension event.</para> + + <programlisting>GenericEvent + type: BYTE always GenericEvent (35) + extension: CARD8 extension offset + sequenceNumber: CARD16 low 16 bits of request seq. number + length: CARD32 length + evtype: CARD16 event type</programlisting> + + <para>The field 'extension' is to be set to the major opcode of the + extension. The 'evtype' field is the actual opcode of the event. The + length field specifies the number of 4-byte blocks after the initial 32 + bytes. If length is 0, the event is 32 bytes long.</para> + </chapter> + + <chapter> + <title>Notes</title> + + <para>Although the wire event is of arbitrary length, the actual size of + an XEvent is restricted to sizeof(XEvent) [96 bytes, see Xlib.h]. If an + extension converts a wire event to an XEvent > 96 bytes, it will + overwrite the space allocated for the event. See struct _XSQEvent in + Xlibint.h for details.</para> + + <para>Extensions need to malloc additional data and fill the XEvent + structure with pointers to the malloc'd data. The client then needs to + free the data, only the XEvent structure will be released by Xlib.</para> + + <para>The server must not send GenericEvents longer than 32 bytes until it + has verified that the client is able to interpret these events. If a long + event is sent to a client unable to process GenericEvents, future + interpretation of replies and events by this client will fail.</para> + </chapter> +</book> commit 260da6ca1dec9abde11c064d0aeac01f695a1596 Author: Matt Dew <m...@osource.org> Date: Mon Aug 2 15:10:04 2010 -0400 specs: convert protocol xtest.ms from xorg-docs to DocBook XML Signed-off-by: Gaetan Nadon <mems...@videotron.ca> diff --git a/specs/Makefile.am b/specs/Makefile.am index 1ca8f35..a1acb2e 100644 --- a/specs/Makefile.am +++ b/specs/Makefile.am @@ -32,7 +32,8 @@ doc_sources = \ shape.xml \ shm.xml \ sync.xml \ - tog-cup.xml + tog-cup.xml \ + xtest.xml dist_doc_DATA = $(doc_sources) geproto.txt diff --git a/specs/xtest.xml b/specs/xtest.xml new file mode 100644 index 0000000..6da29f1 --- /dev/null +++ b/specs/xtest.xml @@ -0,0 +1,722 @@ +<?xml version="1.0" encoding="UTF-8" ?> +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> + +<book id="xtest"> + +<bookinfo> + <title>XTEST Extension Protocol</title> + <subtitle>X Consortium Standard</subtitle> + <releaseinfo>Version 2.2</releaseinfo> + <authorgroup> + <author> + <firstname>Kieron</firstname><surname>Drake</surname> + <affiliation><orgname>UniSoft Ltd.</orgname></affiliation> + </author> + </authorgroup> + <copyright><year>1992</year><holder>UniSoft Group Ltd.</holder></copyright> + <copyright><year>1992,1994</year><holder>X Consortium</holder></copyright> + +<legalnotice> +<para> +Permission to use, copy, modify, and distribute this documentation for any +purpose and without fee is hereby granted, provided that the above copyright +notice and this permission notice appear in all copies. UniSoft makes no +representations about the suitability for any purpose of the information in +this document. This documentation is provided "as is" without express or +implied warranty. +</para> + +<para> +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: +</para> + +<para> +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. +</para> + +<para> +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. +</para> + +<para> +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. +</para> +</legalnotice> +</bookinfo> + + +<chapter> +<title>TITLE</title> + +<sect1 id="Overview"> +<title>Overview</title> +<para> +This extension is a minimal set of client and server extensions +required to completely test the X11 server with no user intervention. +</para> + +<para> +This extension is not intended to support general journaling and +playback of user actions. This is a difficult area [XTrap, 89] as it attempts +to synchronize synthetic user interactions with their effects; it is at the +higher level of dialogue recording/playback rather than at the strictly lexical +level. We are interested only in the latter, simpler, case. A more detailed +discussion and justification of the extension functionality is given in +[Drake, 91]. +</para> + +<para> +We are aiming only to provide a minimum set of facilities that +solve immediate testing and validation problems. The testing extension +itself needs testing, where possible, and so should be as simple as possible. +</para> + +<para> +We have also tried to: +</para> + +<itemizedlist> + <listitem> + <para> +Confine the extension to an appropriate high level within the server +to minimize portability problems. In practice this means that the extension +should be at the DIX level or use the DIX/DDX interface, or both. This +has effects, in particular, on the level at which "input synthesis" +can occur. + </para> + </listitem> + <listitem> + <para> +Minimize the changes required in the rest of the server. + </para> + </listitem> + <listitem> + <para> +Minimize performance penalties on normal server operation. + </para> + </listitem> +</itemizedlist> +</sect1> + +<sect1 id="Description"> +<title>Description</title> +<para> +The functions provided by this extension fall into two groups: +</para> + +<variablelist> + <varlistentry> + <term>Client Operations</term> + <listitem> + <para> +These routines manipulate otherwise hidden client-side behavior. The +actual implementation will depend on the details of the actual language +binding and what degree of request buffering, GContext caching, and so on, is +provided. +In the C binding, defined in "XTEST Extension Library", routines are +provided to access the internals of two opaque data structures +-- <function>GC</function>s +and +<function>Visual</function>s -- +and to discard any requests pending within the +output buffer of a connection. The exact details can be expected to differ for +other language bindings. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Server Requests</term> + <listitem> + <para> +The first of these requests is similar to that provided in most +extensions: it allows a client to specify a major and minor version +number to the server and for the server to respond with major and minor +versions of its own. The remaining two requests allow the following: +<!-- .RS --> + </para> + <itemizedlist> + <listitem> + <para> +Access to an otherwise "write-only" server resource: the cursor +associated with a given window + </para> + </listitem> + <listitem> + <para> +Perhaps most importantly, limited synthesis of input device events, +almost as if a cooperative user had moved the pointing device +or pressed a key or button. + </para> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> +</variablelist> + +</sect1> + +<sect1 id="Types"> +<title>Types</title> +<para> +The following types are used in the request and event definitions in +subsequent sections: +</para> + +<informaltable frame="none"> + <tgroup cols='2' align='left'> + <colspec colname='c1' colsep="0" colwidth="1*"/> + <colspec colname='c2' colsep="0" colwidth="1*"/> + <tbody> + <row rowsep="0"> + <entry namest="c1" nameend="c2"> +FAKE_EVENT_TYPE +{ <function>KeyPress</function>, +<function>KeyRelease</function>, +<function>MotionNotify</function>, +<function>ButtonPress</function>, +<function>ButtonRelease</function> } + </entry> + </row> + <row rowsep="0"> + <entry></entry> + </row> + <row> + <entry>FAKE_EVENT</entry> + <entry>[type: FAKE_EVENT_TYPE,</entry> + </row> + <row rowsep="0"> + <entry></entry> + <entry>detail: BYTE,</entry> + </row> + <row rowsep="0"> + <entry></entry> + <entry>time: TIME,</entry> + </row> + <row rowsep="0"> + <entry></entry> + <entry>root: WINDOW,</entry> + </row> + <row rowsep="0"> + <entry></entry> + <entry>rootX, rootY: INT16]</entry> + </row> + </tbody> + </tgroup> +</informaltable> + +<para> +CURSOR { <function>CurrentCursor</function>, <function> None</function> } +or a cursor as defined by the X11 Protocol. +</para> + +</sect1> + +<sect1 id="Client_Operations"> +<title>Client Operations</title> + +<para> +These are abstract definitions of functionality. They refer to client-side +objects such as "GC" and "VISUAL" that are quoted to +denote their abstract nature. Concrete versions of these functions are +defined only for particular language bindings. In some circumstances +a particular language binding may not implement the relevant abstract +type or may provide it as a transparent, rather than opaque, type, with +the result that the corresponding function does not make sense or is +not required, respectively. +</para> + +<para> +<function>XTestSetGContextOfGC</function> +</para> + +<informaltable frame="none"> + <tgroup cols='1' align='left'> + <colspec colname='c1' colsep="0" colwidth="1*"/> + <tbody> + <row rowsep="0"> + <entry> +<emphasis remap='I'>gc</emphasis>: "GC" + </entry> + </row> + <row rowsep="0"> + <entry> +<emphasis remap='I'>gid</emphasis>: GCONTEXT + </entry> + </row> + </tbody> + </tgroup> +</informaltable> + +<para> +Sets the GCONTEXT within the "GC" gc to have +the value specified by gid. +</para> + +<para> +<function>XTestSetVisualIDOfVisual</function> +</para> + +<informaltable frame="none"> + <tgroup cols='1' align='left'> + <colspec colname='c1' colsep="0" colwidth="1*"/> + <tbody> + <row rowsep="0"> + <entry> +<emphasis remap='I'>visual</emphasis>: "VISUAL" + </entry> + </row> + <row rowsep="0"> + <entry> +<emphasis remap='I'>visualid</emphasis>: VISUALID + </entry> + </row> + </tbody> + </tgroup> +</informaltable> + +<para> +Sets the VISUALID within the "VISUAL" visual to have +the value specified by visualid. +</para> + +<para> +<function>XTestDiscard</function> +</para> + +<informaltable frame="none"> + <tgroup cols='1' align='left'> + <colspec colname='c1' colsep="0" colwidth="1*"/> + <tbody> + <row rowsep="0"> + <entry> +<emphasis remap='I'>dpy</emphasis>: "CONNECTION" + </entry> + </row> + <row rowsep="0"> + <entry> +=> + </entry> + </row> + <row rowsep="0"> + <entry> +status: BOOL + </entry> + </row> + </tbody> + </tgroup> +</informaltable> + +<para> +Discards any requests that are present in the request buffer associated with +the "CONNECTION" dpy. +The status returned is +<function>True</function> +if there were one or more requests +in the buffer and +<function>False</function> +otherwise. +</para> +</sect1> + +<sect1 id="Server_Requests"> +<title>Server Requests</title> +<para> +<function>XTestGetVersion</function> +</para> + +<informaltable frame="none"> + <tgroup cols='1' align='left'> + <colspec colname='c1' colsep="0" colwidth="1*"/> + <tbody> + <row rowsep="0"> + <entry> +<emphasis remap='I'>clientMajorVersion</emphasis>: CARD16 + </entry> + </row> + <row rowsep="0"> + <entry> +<emphasis remap='I'>clientMinorVersion</emphasis>: CARD16 + </entry> + </row> + <row rowsep="0"> + <entry> + => + </entry> + </row> + <row rowsep="0"> + <entry> +serverMajorVersion: CARD16 + </entry> + </row> + <row rowsep="0"> + <entry> +serverMinorVersion: CARD16 + </entry> + </row> + <row rowsep="0"> + <entry> +Errors: <function>Length</function> + </entry> + </row> + </tbody> + </tgroup> +</informaltable> + + +<para> +This request can be used to ensure that the server version of the XTEST +extension is usable by the client. This document defines major version two +(2), minor version one (1). +</para> + +<para> +<function>XTestCompareCursor</function> +</para> + +<informaltable frame="none"> + <tgroup cols='1' align='left'> + <colspec colname='c1' colsep="0" colwidth="1*"/> + <tbody> + <row rowsep="0"> + <entry> +<emphasis remap='I'>window</emphasis>: WINDOW + </entry> + </row> + <row rowsep="0"> + <entry> +<emphasis remap='I'>cursor-id</emphasis>: CURSOR or +<function>CurrentCursor</function> +or +<function>None</function> + </entry> + </row> + <row rowsep="0"> + <entry> +=> + </entry> -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1pdqvc-0001re...@alioth.debian.org