.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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] 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 <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> 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 [EMAIL PROTECTED] - - Version 0.3 - 2006-5-13 Deron Johnson [EMAIL PROTECTED] @@ -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. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]