x11proto-composite: Changes to 'upstream-unstable'
.gitignore | 1
composite.h | 10 ++------
compositeproto.h | 48 -------------------------------------------
compositeproto.txt | 59 ++++++++++++++++-------------------------------------
configure.ac | 2 -
5 files changed, 23 insertions(+), 97 deletions(-)
New commits:
commit 25e8047e25652be388dc66d85c180dcc4ccea4f6
Author: Keith Packard <keithp@neko.keithp.com>
Date: Tue Jul 3 14:11:10 2007 -0700
Bump version in configure.ac to 0.4
diff --git a/configure.ac b/configure.ac
index 581ad12..3a5fc5e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -24,7 +24,7 @@ dnl
dnl Process this file with autoconf to create configure.
AC_PREREQ([2.57])
-AC_INIT([CompositeProto], [0.3], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([CompositeProto], [0.4], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
AM_INIT_AUTOMAKE([foreign dist-bzip2])
AM_MAINTAINER_MODE
commit 1838412121d0bac8ce443d362e75439d58a93a4d
Author: Keith Packard <keithp@neko.keithp.com>
Date: Tue Jul 3 14:09:41 2007 -0700
Define new manual-redirect clipping semantics and bump version to 0.4.
Manual-redirect windows no longer clip their parents, nor do they affect
expose event computation. This makes it possible to create application-level
composited windows which can be damaged by other window manipulations.
This patch also removes the coordinate transformation stuff which was never
released.
diff --git a/composite.h b/composite.h
index 009007b..30b190f 100644
--- a/composite.h
+++ b/composite.h
@@ -49,7 +49,7 @@
#define COMPOSITE_NAME "Composite"
#define COMPOSITE_MAJOR 0
-#define COMPOSITE_MINOR 3
+#define COMPOSITE_MINOR 4
#define CompositeRedirectAutomatic 0
#define CompositeRedirectManual 1
@@ -63,13 +63,9 @@
#define X_CompositeNameWindowPixmap 6
#define X_CompositeGetOverlayWindow 7
#define X_CompositeReleaseOverlayWindow 8
-#define X_CompositeRedirectCoordinate 9
-#define X_CompositeTransformCoordinate 10
-#define CompositeNumberRequests (X_CompositeTransformCoordinate + 1)
+#define CompositeNumberRequests (X_CompositeReleaseOverlayWindow + 1)
-#define CompositeTransformCoordinateNotify 0
-
-#define CompositeNumberEvents 1
+#define CompositeNumberEvents 0
#endif /* _COMPOSITE_H_ */
diff --git a/compositeproto.h b/compositeproto.h
index b7c605b..c57628c 100644
--- a/compositeproto.h
+++ b/compositeproto.h
@@ -185,54 +185,6 @@ typedef struct {
#define sz_xCompositeReleaseOverlayWindowReq sizeof(xCompositeReleaseOverlayWindowReq)
-/* Version 0.4 additions */
-
-typedef struct {
- CARD8 reqType;
- CARD8 compositeReqType;
- CARD16 length;
- Window window B32;
- BOOL redirect;
- BYTE unused1;
- CARD16 unused2 B16;
-} xCompositeRedirectCoordinateReq;
-
-#define sz_xCompositeRedirectCoordinateReq 12
-
-typedef struct {
- CARD8 type;
- CARD8 subtype; /* XXX use this? */
- CARD16 sequenceNumber B16;
- Time time B32;
- Window window B32;
- Window child B32;
- CARD32 serialNumber B32;
- CARD32 count B32;
- CARD16 x B16;
- CARD16 y B16;
- CARD32 pad1 B32;
-} xCompositeTransformCoordinateNotifyEvent;
-
-typedef struct {
- Window window B32;
- CARD16 x B16;
- CARD16 y B16;
-} xCompositeCoordinate;
-
-#define sz_xCompositeCoordinate 8
-
-typedef struct {
- CARD8 reqType;
- CARD8 compositeReqType;
- CARD16 length;
- Window window B32;
- CARD32 serialNumber B32;
- CARD16 x B16;
- CARD16 y B16;
-} xCompositeTransformCoordinateReq;
-
-#define sz_xCompositeTransformCoordinateReq 16
-
#undef Window
#undef Region
diff --git a/compositeproto.txt b/compositeproto.txt
index 8740920..4b86621 100644
--- a/compositeproto.txt
+++ b/compositeproto.txt
@@ -1,6 +1,6 @@
Composite Extension
Version 0.4
- 2007-4-17
+ 2007-7-3
Keith Packard
keithp@keithp.com
Deron Johnson
@@ -34,6 +34,9 @@ both early prototypes and the final design include:
+ Deron Johnson for the Looking Glass implementation and
a prototype of the coordinate transformation mechanism.
+ + Ryan Lortie for helping figure out reasonable parent clipping
+ semantics in the presense of manual redirected children.
+
3. Architecture
The composite extension provides three related mechanisms:
@@ -129,11 +132,16 @@ redefine its input region, but the specific arbitration rules followed
by these clients is not defined by this specification; these policies
should be defined by the clients themselves.
-3.3 Coordinate transform redirection
+3.3 Clipping semantics redefined
-Version 0.4 of the protocol adds the coordinate transformation redirection
-portions of the protocol which externalize the relationship between
-parent and child positions with respect to pointer coordinates.
+Version 0.4 of the protocol changes the semantics of clipping in the
+presense of manual redirect children. In version 0.3, a parent was always
+clipped to child windows, independent of the kind of redirection going on.
+With version 0.4, the parent is no longer clipped to child windows which are
+manually redirected. This means the parent can draw in the child region without using
+IncludeInferiors mode, and (perhaps more importantly), it will receive
+expose events in those regions caused by other actions. This new behaviour
+is not selectable.
4. Errors
@@ -147,34 +155,6 @@ The composite extension does not define any new errors.
child: Window
x, y: CARD16
-6. Events
-
-Version 0.4 of the Composite protocol defines one new event
-
- TransformCoordinateNotify
-
- subtype: COORDINATEEVENT
- window: Window
- child: Window
- time: Timestamp
- serialNumber: CARD32
- count: CARD32
- x, y: INT16
-
- This event is delivered to the client requesting for coordinate
- redirection for 'window'. 'x' and 'y' are a location in 'child' if
- not None, else in 'window'. 'time' is the time of any related
- pointer event. 'serialNumber' serves to sequence transformations.
- 'count' indicates the number of events still to be delivered for
- 'window' to satisfy a particular operation within the server
-
- The client must respond to this event with a suitable
- TransformCoordinate request that includes matching 'window', 'child'
- and serialNumber fields.
-
- 'serialNumber' may be repeated in multiple events, indicating that
- the server needs to redo the same transformation for some reason.
-
7. Extension Initialization
The client must negotiate the version of the extension before executing
commit bca9592612d60142e3c624b90649475b561b8eda
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Tue Apr 17 20:48:18 2007 -0700
Add *~ to .gitignore to skip emacs/patch droppings
diff --git a/.gitignore b/.gitignore
index 521ba35..4945c82 100644
--- a/.gitignore
+++ b/.gitignore
@@ -8,3 +8,4 @@ config.status
configure
install-sh
missing
+*~
commit 6acacb52efd6f0927c9b82fe864f17623e7dc8c2
Author: Alan Coopersmith <alan.coopersmith@sun.com>
Date: Tue Apr 17 20:47:50 2007 -0700
Protocol spec nit cleanups
Fix versioning from 0.3/0.4 merge
Update description of RedirectWindow to match names in protocol diagrams
diff --git a/compositeproto.txt b/compositeproto.txt
index 77b1b85..8740920 100644
--- a/compositeproto.txt
+++ b/compositeproto.txt
@@ -1,11 +1,8 @@
- Composite Extension
- Version 0.4
- 2006-2-24
+ Composite Extension
+ Version 0.4
+ 2007-4-17
Keith Packard
keithp@keithp.com
-
- Version 0.3
- 2006-5-13
Deron Johnson
deron.johnson@sun.com
@@ -152,7 +149,7 @@ The composite extension does not define any new errors.
6. Events
-Version 0.3 of the Composite protocol defines one new event
+Version 0.4 of the Composite protocol defines one new event
TransformCoordinateNotify
@@ -213,9 +210,9 @@ operations other than QueryVersion.
errors: Window, Access, Match
The hierarchy starting at 'window' is directed to off-screen
- storage. 'automatic-update' specifies whether the contents
- are mirrored to the parent window automatically or not. Only
- one client may specify this flag, another attempt will result in an
+ storage. 'update' specifies whether the contents are mirrored to
+ the parent window automatically or not. Only one client may specify
+ an update type of Manual, another attempt will result in an
Access error. When all clients enabling redirection terminate,
the redirection will automatically be disabled.
Reply to: