ChangeLog                        |  161 +
 Makefile.in                      |  546 ------
 aclocal.m4                       |  616 -------
 configure                        | 3209 ---------------------------------------
 configure.ac                     |    2 
 debian/changelog                 |   18 
 debian/control                   |    2 
 debian/rules                     |   44 
 debian/xsfbs/xsfbs-autoreconf.mk |  150 -
 debian/xsfbs/xsfbs.mk            |  146 -
 debian/xsfbs/xsfbs.sh            |  394 ++--
 install-sh                       |  519 ------
 missing                          |  367 ----
 mkinstalldirs                    |  161 -
 randr.h                          |   19 
 randrproto.h                     |  152 +
 randrproto.txt                   |  480 +++++
 17 files changed, 1063 insertions(+), 5923 deletions(-)

New commits:
commit 6e71aba743130fdf567c0b1d0b3b12bffedb38c2
Author: Julien Cristau <jcris...@debian.org>
Date:   Sun Feb 15 21:41:10 2009 +0100

    Prepare changelog for upload

diff --git a/debian/changelog b/debian/changelog
index f750c22..713c6b5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+x11proto-randr (1.2.99.3-2) unstable; urgency=low
+
+  * Upload to unstable.
+
+ -- Julien Cristau <jcris...@debian.org>  Sun, 15 Feb 2009 21:38:57 +0100
+
 x11proto-randr (1.2.99.3-1) experimental; urgency=low
 
   [ Timo Aaltonen ]

commit 0feea5c0bd6fcca8ce21488d4a033c1b7c897071
Author: Julien Cristau <jcris...@debian.org>
Date:   Sun Jan 4 20:16:47 2009 +0100

    Prepare changelog for upload

diff --git a/debian/changelog b/debian/changelog
index 809163f..f750c22 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-x11proto-randr (1.2.99.3-1) UNRELEASED; urgency=low
+x11proto-randr (1.2.99.3-1) experimental; urgency=low
 
   [ Timo Aaltonen ]
   * New upstream prerelease.
@@ -8,7 +8,7 @@ x11proto-randr (1.2.99.3-1) UNRELEASED; urgency=low
   * debian/rules cleanup: we don't build anything, so no need to set CFLAGS
     and DEB_{HOST,BUILD}_*.
 
- -- Timo Aaltonen <tepsipa...@ubuntu.com>  Wed, 03 Dec 2008 11:45:43 +0200
+ -- Julien Cristau <jcris...@debian.org>  Sun, 04 Jan 2009 20:15:27 +0100
 
 x11proto-randr (1.2.2-1) unstable; urgency=low
 

commit 970ce8ec04b3aad12ada4f0fd7366b49bdce3178
Author: Julien Cristau <jcris...@debian.org>
Date:   Sun Jan 4 20:13:11 2009 +0100

    debian/rules cleanup
    
    we don't build anything, so no need to set CFLAGS and DEB_{HOST,BUILD}_*.

diff --git a/debian/changelog b/debian/changelog
index 4e9c6f9..809163f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,8 +1,13 @@
 x11proto-randr (1.2.99.3-1) UNRELEASED; urgency=low
 
+  [ Timo Aaltonen ]
   * New upstream prerelease.
   * Build-depend on automake, run autoreconf on build.
 
+  [ Julien Cristau ]
+  * debian/rules cleanup: we don't build anything, so no need to set CFLAGS
+    and DEB_{HOST,BUILD}_*.
+
  -- Timo Aaltonen <tepsipa...@ubuntu.com>  Wed, 03 Dec 2008 11:45:43 +0200
 
 x11proto-randr (1.2.2-1) unstable; urgency=low
diff --git a/debian/rules b/debian/rules
index 419b75f..fcbe4c4 100755
--- a/debian/rules
+++ b/debian/rules
@@ -11,25 +11,6 @@ PACKAGE = x11proto-randr-dev
 
 include debian/xsfbs/xsfbs.mk
 
-CFLAGS = -Wall -g
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-       CFLAGS += -O0
-else
-       CFLAGS += -O2
-endif
-ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
-       INSTALL_PROGRAM += -s
-endif
-
-DEB_HOST_ARCH      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
-DEB_HOST_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
-       confflags += --build=$(DEB_HOST_GNU_TYPE)
-else
-       confflags += --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
-endif
-
 .PHONY: autogen
 autogen: autogen-stamp
 autogen-stamp:
@@ -43,11 +24,10 @@ configure: configure-stamp
 configure-stamp: autogen-stamp
        dh_testdir
 
-       test -d obj-$(DEB_BUILD_GNU_TYPE) || mkdir obj-$(DEB_BUILD_GNU_TYPE)
+       mkdir -p obj-$(DEB_BUILD_GNU_TYPE)
        cd obj-$(DEB_BUILD_GNU_TYPE) && \
        ../configure --prefix=/usr --mandir=\$${prefix}/share/man \
-                    --infodir=\$${prefix}/share/info --disable-shared \
-                    $(confflags) CFLAGS="$(CFLAGS)" 
+                    --infodir=\$${prefix}/share/info --disable-shared
        touch configure-stamp
 
 build: build-stamp

commit 7003c2593149a285b2389f8a21a30a1d5afbccb5
Author: Julien Cristau <jcris...@debian.org>
Date:   Sun Jan 4 20:07:43 2009 +0100

    update the upstream changelog

diff --git a/ChangeLog b/ChangeLog
index c24c625..9cabd21 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,141 @@
+commit 3fdbdc2b0a971db7497c6e03e215fd19ec400ce9
+Author: Matthias Hopf <mh...@suse.de>
+Date:   Fri Dec 12 12:41:21 2008 +0100
+
+    Bump to 1.2.99.3
+
+commit 0c1527d2e89a807e54c549e44798e2cf63fafca2
+Author: Matthias Hopf <mh...@suse.de>
+Date:   Thu Dec 11 17:15:15 2008 +0100
+
+    Panning tracking areas describe full screen if set to 0.
+
+commit d904495a4cbd66850dc03d32f223aaaf8425f077
+Author: Adam Jackson <a...@redhat.com>
+Date:   Wed Dec 10 11:15:48 2008 -0500
+
+    Add [GS]etOutputPrimary
+
+commit 1334866b4aa025bce745140aa0f71f6493408ffa
+Merge: ad65017... e719120...
+Author: Keith Packard <kei...@keithp.com>
+Date:   Tue Dec 9 20:59:47 2008 -0800
+
+    Merge commit 'origin/master'
+
+commit e71912062f3985dd2f4d7b37e415b4a614b51d9b
+Author: Matthias Hopf <mh...@suse.de>
+Date:   Mon Dec 8 14:40:07 2008 +0100
+
+    Add unicode art pictures for panning.
+
+commit 19a851fc85192906586138c5b17740ba28328eaa
+Author: Matthias Hopf <mh...@suse.de>
+Date:   Thu Dec 4 15:45:23 2008 +0100
+
+    Bump to 1.2.99.2
+
+commit fb1f243716282f442235323834fec50aab7fe2f7
+Author: Matthias Hopf <mh...@suse.de>
+Date:   Thu Dec 4 15:44:12 2008 +0100
+
+    Nuke config-timestamp for panning. Specifying panning update on screen 
size change.
+
+commit 425468e9a29071823316bfc027bc80eb20acc61e
+Author: Matthias Hopf <mh...@suse.de>
+Date:   Thu Dec 4 12:57:33 2008 +0100
+
+    Add panning to versioning information.
+
+commit 419a0f20746d9f3e8962ea3294568343d9877b2c
+Author: Matthias Hopf <mh...@suse.de>
+Date:   Fri Nov 28 18:30:22 2008 +0100
+
+    Panning protocol bits description
+
+commit 6b5d4ce8943c1d39392a0536d426fe27a9161b04
+Author: Matthias Hopf <mh...@suse.de>
+Date:   Fri Nov 28 18:29:19 2008 +0100
+
+    Panning protocol description
+
+commit abe956221670598a5fd0f77107a3471c2fcf84df
+Author: Matthias Hopf <mh...@suse.de>
+Date:   Fri Nov 28 17:22:23 2008 +0100
+
+    Panning protocol extension
+
+commit 546906dbe29816adaa6a35277266d79fbe131d0c
+Author: Adam Jackson <a...@redhat.com>
+Date:   Wed Dec 3 13:36:00 2008 -0500
+
+    Indent CRTC transform docs to match the rest of the requests.
+
+commit 5d5e4cff8c69d36d10e682d59c9a9005a8b5ad18
+Author: Adam Jackson <a...@redhat.com>
+Date:   Wed Dec 3 12:02:18 2008 -0500
+
+    More doc for CRTC transforms
+
+commit ad6501790bbaff528cf247df24ddb7de27576a11
+Author: Keith Packard <kei...@keithp.com>
+Date:   Wed Nov 26 15:47:18 2008 -0800
+
+    Remove duplicate GetScreenResourcesCurrent declarations
+    
+    Signed-off-by: Keith Packard <kei...@keithp.com>
+
+commit 10bff0be50cf5cf314960bb85c472f1c63d37755
+Author: Keith Packard <kei...@keithp.com>
+Date:   Wed Nov 26 09:24:36 2008 -0800
+
+    Update to version 1.2.99.1
+
+commit 6c17940a7960885695aa6033de58c3cd2bb6fb79
+Merge: c998b46... 8793429...
+Author: Keith Packard <kei...@keithp.com>
+Date:   Mon Nov 24 16:22:11 2008 -0800
+
+    Merge branch 'transform-proposal'
+    
+    Conflicts:
+    
+       randr.h
+       randrproto.h
+       randrproto.txt
+
+commit 8793429f3d9d7cdf16be118ce05a68af6531568e
+Author: Keith Packard <kei...@keithp.com>
+Date:   Mon Nov 24 16:01:55 2008 -0800
+
+    Describe projective transform additions in Introduction
+    
+    Signed-off-by: Keith Packard <kei...@keithp.com>
+
+commit c998b4658d735e5b2d7aa6983d732d40cc802823
+Author: Adam Jackson <a...@redhat.com>
+Date:   Mon Nov 24 16:29:58 2008 -0500
+
+    GSRC added in 1.3, not 1.2
+
+commit 0d334c880396b9ef67ed899ad228cc693aad6a28
+Author: Adam Jackson <a...@redhat.com>
+Date:   Mon Nov 24 16:19:43 2008 -0500
+
+    Fix RRNumberRequests
+
+commit 2c0635eed5ae418ca278d99e044f583d54273097
+Author: Adam Jackson <a...@redhat.com>
+Date:   Mon Nov 24 15:54:09 2008 -0500
+
+    Add GetScreenResourcesCurrent
+
+commit 4a960ba3db3c3f8bdf3d519d263f910b6107b9ff
+Author: Julien Cristau <jcris...@debian.org>
+Date:   Fri Jul 11 17:12:22 2008 +0200
+
+    spec: add missing list of clones to RRGetOutputInfo reply
+
 commit 2be5a52d5f6bdd2aa70efcb06bd99a149c6db6ba
 Author: Adam Jackson <a...@redhat.com>
 Date:   Wed Jul 2 15:34:31 2008 -0400
@@ -12,6 +150,29 @@ Date:   Mon Jun 23 14:52:12 2008 -0400
     
     Thanks for the upward compatibility, Bjarne.
 
+commit 2d09f9cac379c74f492b528a8aa2ac3b5997d617
+Author: Keith Packard <kei...@keithp.com>
+Date:   Tue Mar 18 16:01:10 2008 -0700
+
+    Eliminate inverse matrix from randr transform protocol
+    
+    It is easier, and potentially more precise, to compute the inverse in the
+    server where everything can eventually be kept in floating point form.
+
+commit aa5cd18a9f84aa075ffa7f70e6591b70b093119f
+Author: Keith Packard <kei...@keithp.com>
+Date:   Sat Mar 15 00:32:35 2008 -0700
+
+    Add filters to CRTC transforms.
+    
+    This allows scaling transforms to use bilinear filtering if desired.
+
+commit 329b2068c1505dbc2eef7cc245b02c3bbf9c67ff
+Author: Keith Packard <kei...@keithp.com>
+Date:   Fri Feb 15 15:49:35 2008 -0800
+
+    Add Transform request proposal for 1.3
+
 commit 2df8499d24d15bfca3c928b681f64b6e8a05f0af
 Author: James Cloos <cl...@jhcloos.com>
 Date:   Thu Dec 6 16:39:05 2007 -0500

commit 32021a941ef20bbc5b192661bef8ae9e91cf0726
Author: Timo Aaltonen <tjaal...@cc.hut.fi>
Date:   Fri Dec 12 22:02:11 2008 +0200

    Update the changelog

diff --git a/debian/changelog b/debian/changelog
index f218197..4e9c6f9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-x11proto-randr (1.2.99.2-1) UNRELEASED; urgency=low
+x11proto-randr (1.2.99.3-1) UNRELEASED; urgency=low
 
   * New upstream prerelease.
   * Build-depend on automake, run autoreconf on build.

commit 3fdbdc2b0a971db7497c6e03e215fd19ec400ce9
Author: Matthias Hopf <mh...@suse.de>
Date:   Fri Dec 12 12:41:21 2008 +0100

    Bump to 1.2.99.3

diff --git a/configure.ac b/configure.ac
index e7398d7..5c0cc88 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ([2.57])
-AC_INIT([RandrProto], [1.2.99.2], 
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([RandrProto], [1.2.99.3], 
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 
 XORG_RELEASE_VERSION

commit 0c1527d2e89a807e54c549e44798e2cf63fafca2
Author: Matthias Hopf <mh...@suse.de>
Date:   Thu Dec 11 17:15:15 2008 +0100

    Panning tracking areas describe full screen if set to 0.

diff --git a/randrproto.txt b/randrproto.txt
index 9b23120..e55140d 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -1156,7 +1156,8 @@ dynamic changes in the display environment.
        total screen size. If set to the total screen size, the CRTC will pan
        in the remaining axis even if the pointer is outside the panning area
        on a different CRTC, as shown in the figure above. If the pointer is
-       outside the tracking area, the CRTC will not pan.
+       outside the tracking area, the CRTC will not pan. Zero can be used as
+       an alias for the total screen size.
 
        ┌──┳━━━━━━━━━━━━━━┳────────────┐
        │  ┃     CRTC     ┃            │

commit d904495a4cbd66850dc03d32f223aaaf8425f077
Author: Adam Jackson <a...@redhat.com>
Date:   Wed Dec 10 11:15:48 2008 -0500

    Add [GS]etOutputPrimary

diff --git a/randr.h b/randr.h
index 92f2fb6..eafcda5 100644
--- a/randr.h
+++ b/randr.h
@@ -44,7 +44,7 @@ typedef unsigned long XRandrModeFlags;
 
 #define RRNumberErrors         3
 #define RRNumberEvents         2
-#define RRNumberRequests       30
+#define RRNumberRequests       32
 
 #define X_RRQueryVersion       0
 /* we skip 1 to make old clients fail pretty immediately */
@@ -84,6 +84,8 @@ typedef unsigned long XRandrModeFlags;
 #define X_RRGetCrtcTransform       27
 #define X_RRGetPanning             28
 #define X_RRSetPanning             29
+#define X_RRSetOutputPrimary       30
+#define X_RRGetOutputPrimary       31
 
 #define RRTransformUnit                    (1L << 0)
 #define RRTransformScaleUp         (1L << 1)
diff --git a/randrproto.h b/randrproto.h
index b434b3a..3b98a9f 100644
--- a/randrproto.h
+++ b/randrproto.h
@@ -614,6 +614,37 @@ typedef struct {
 
 #define sz_xRRGetCrtcTransformReply    96
 
+typedef struct {
+    CARD8      reqType;
+    CARD8      randrReqType;
+    CARD16     length B16;
+    Window     window B32;
+    RROutput   output B32;
+} xRRSetOutputPrimaryReq;
+#define sz_xRRSetOutputPrimaryReq      12
+
+typedef struct {
+    CARD8      reqType;
+    CARD8      randrReqType;
+    CARD16     length B16;
+    Window     window B32;
+} xRRGetOutputPrimaryReq;
+#define sz_xRRGetOutputPrimaryReq      8
+
+typedef struct {
+    BYTE       type;
+    CARD8      pad;
+    CARD16     sequenceNumber B16;
+    CARD32     length B32;
+    RROutput   output B32;
+    CARD32     pad1 B32;
+    CARD32     pad2 B32;
+    CARD32     pad3 B32;
+    CARD32     pad4 B32;
+    CARD32     pad5 B32;
+} xRRGetOutputPrimaryReply;
+#define sz_xRRGetOutputPrimaryReply    32
+
 /*
  * event
  */
diff --git a/randrproto.txt b/randrproto.txt
index 65b122d..9b23120 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -1193,6 +1193,51 @@ dynamic changes in the display environment.
        'new-time-stamp' contains the time at which this request was
        executed.
 
+┌───
+    RRSetOutputPrimary
+       window: WINDOW
+       output: OUTPUT
+└───
+       Errors: Match, Output, Window
+
+       RRSetOutputPrimary marks 'output' as the primary output for the
+       screen with the same root window as 'window'. This output's CRTC
+       will be sorted to the front of the list in Xinerama and RANDR
+       geometry requests for the benefit of older applications. The
+       default primary output is None, and None is a legal value to pass
+       to RRSetOutputPrimary. This request is expected to be used by
+       desktop environments to mark the screen that should hold the primary
+       menu bar or panel.
+
+       If the named output is not connected to any CRTC, or if the Window
+       and Output are not attached to the same screen, BadMatch is generated.
+       In the latter case, errorValue will be the Window, not the Output.
+
+       As this changes the logical layout of the screen, ConfigureNotify
+       and RRScreenChangeNotify will be generated on the appropriate root
+       window when the primary output is changed by this call. This request
+       also generates RROutputChangeNotify events on the outputs that gained
+       and lost primary status.
+
+       If an output is disconnected asynchronously (eg. due to recabling),
+       the primary status does not change, but RROutputChangeNotify events
+       will be generated if the hardware is capable of detecting this;
+       clients are expected to reconfigure if appropriate.
+
+       If an output is deleted (eg. due to device hotplug), the server will
+       act as though None was passed to RRSetOutputPrimary, including
+       generating the appropriate events.
+
+┌───
+    RRGetOutputPrimary
+       window: WINDOW
+      ▶
+       output: OUTPUT
+└───
+       Errors: Window
+
+       RRGetOutputPrimary returns the primary output for the system.
+
                               ❧❧❧❧❧❧❧❧❧❧❧
 
 8. Extension Events
@@ -1360,7 +1405,7 @@ list of what each version provided:
             modes
 
        1.3: Added cheap version of RRGetScreenResources.  Added CRTC
-            transformations.  Added panning.
+            transformations.  Added panning.  Added primary outputs.
 
 Compatibility between 0.0 and 1.0 was *NOT* preserved, and 0.0 clients
 will fail against 1.0 servers. The wire encoding op-codes were
@@ -1369,8 +1414,9 @@ graceful way. Version 1.1 servers and clients are cross 
compatible with
 1.0. Version 1.1 is considered to be stable and we intend upward
 compatibility from this point. Version 1.2 offers an extended model of the
 system with multiple output support. Version 1.3 adds a cheap version of
-GetScreenResources to avoid expensive DDC operations, and CRTC
-transformations. 1.2 and 1.3 are backward-compatible with 1.1.
+GetScreenResources to avoid expensive DDC operations, CRTC transformations,
+panning, and the primary output concept. 1.2 and 1.3 are backward-compatible
+with 1.1.
 
                               ❧❧❧❧❧❧❧❧❧❧❧
 
@@ -2038,6 +2084,33 @@ A.2.2 Protocol Requests added with version 1.3
        20                              unused
 └───
 
+┌───
+    RRSetOutputPrimary
+       1       CARD8                   major opcode
+       1       30                      RandR opcode
+       2       3                       length
+       4       WINDOW                  window
+       4       OUTPUT                  output
+└───
+    
+┌───
+    RRGetOutputPrimary
+       1       CARD8                   major opcode
+       1       31                      RandR opcode
+       2       2                       length
+       4       WINDOW                  window
+      ▶
+       1       1                       Reply
+       1                               unused
+       2       CARD16                  sequence number
+       4       CARD32                  length
+       4       OUTPUT                  output
+       4       CARD32                  pad1
+       4       CARD32                  pad2
+       4       CARD32                  pad3
+       4       CARD32                  pad4
+└───
+
 A.3 Protocol Events
 
 ┌───

commit e71912062f3985dd2f4d7b37e415b4a614b51d9b
Author: Matthias Hopf <mh...@suse.de>
Date:   Mon Dec 8 14:40:07 2008 +0100

    Add unicode art pictures for panning.

diff --git a/randrproto.txt b/randrproto.txt
index 5244379..65b122d 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -120,7 +120,10 @@ following features are added in this version:
      support made it trivial to add full projective transformations. These
      can be used to scale the screen up/down as well as perform projector
      keystone correct or other effects.
-     
+
+   • Panning. It was removed with RandR 1.2 because the old semantics didn't
+     fit any longer. With RandR 1.3 panning can be specified per crtc.
+
 1.1 Acknowledgements
 
 Our thanks to the contributors to the design found on the xpert mailing
@@ -1116,6 +1119,16 @@ dynamic changes in the display environment.
        successfully set, the request is ignored and InvalidTime returned in
        status.
 
+       ┌──┳━━━━━━━━━━━━━━┳─────┬ ─ ─ ─ ─ ─ ┐
+       │  ┃     CRTC     ┃     │
+       │  ┃              ┃     │           │
+       │  ┃             X┃→    │
+       │  ┃              ┃     │           │  framebuffer
+       │  ┗━━━━━━━━━━━━━━┛     │
+       │                       │           │
+       │panning area           │
+       └───────────────────────┴ ─ ─ ─ ─ ─ ┘
+
        'left', 'top', 'width', and 'height' contain the total panning area
        for this CRTC.  'width' has to be larger than or equal to the CRTC's
        width or 0, and 'left'+'width' must be within the screen size, else a
@@ -1126,13 +1139,35 @@ dynamic changes in the display environment.
        RRSetScreenSize will silently enable panning if the screen size is
        increased. This does not happen if set to 0.
 
+       ┌────────┳━━━━━━━━━━━━━━┳ ─ ─ ─ ─ ─ ┐
+       │        ┃     CRTC     ┃
+       │        ┃              ┃           │
+       │        ┃              ┃
+       │        ┃              ┃           │  tracking area
+       │        ┗━━━━━━━━━━━━━━┫     X
+       │               ↓       │     ↓     │
+       │panning area           │
+       └───────────────────────┴ ─ ─ ─ ─ ─ ┘
+
        'track_left', 'track_top', 'track_width', and 'track_height' contain
        the pointer area for which the panning region is updated.  For normal
        use cases it should enclose the panning area minus borders, and is
        typically set to either the panning area minus borders, or to the
        total screen size. If set to the total screen size, the CRTC will pan
        in the remaining axis even if the pointer is outside the panning area
-       on a different CRTC.
+       on a different CRTC, as shown in the figure above. If the pointer is
+       outside the tracking area, the CRTC will not pan.
+
+       ┌──┳━━━━━━━━━━━━━━┳────────────┐
+       │  ┃     CRTC     ┃            │
+       │  ┃              ┃            │
+       │  ┃              ┃→           │
+       │  ┃           X←→┃            │
+       │  ┃       border_right        │
+       │  ┗━━━━━━━━━━━━━━┛            │
+       │                              │
+       │panning area                  │
+       └──────────────────────────────┘
 
        'border_left', 'border_top', 'border_right', and 'border_bottom'
        define the distances from the CRTC borders that will activate panning
@@ -1140,7 +1175,7 @@ dynamic changes in the display environment.
        when the pointer hits the CRTC borders (behavior of pre-RandR Xserver
        panning).  If the borders are positive, the screen will pan when the
        pointer gets close to the CRTC borders, if they are negative, the
-       screen will only pan when the pointer is already way past the CRTC 
+       screen will only pan when the pointer is already way past the CRTC
        borders.  Negative values might confuse users and disable panning to
        the very edges of the screen.  Thus they are discouraged.
        border_left + border_right has to be lower or equal than the CRTC's

commit 2ceb5ca72a0ba332d2ef89d7be520f05ea401651
Author: Timo Aaltonen <tjaal...@cc.hut.fi>
Date:   Mon Dec 8 09:21:28 2008 +0200

    update the changelog to 1.2.99.2

diff --git a/debian/changelog b/debian/changelog
index 9e7e4ba..f218197 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-x11proto-randr (1.2.99.1-1) UNRELEASED; urgency=low
+x11proto-randr (1.2.99.2-1) UNRELEASED; urgency=low
 
   * New upstream prerelease.
   * Build-depend on automake, run autoreconf on build.

commit 19a851fc85192906586138c5b17740ba28328eaa
Author: Matthias Hopf <mh...@suse.de>
Date:   Thu Dec 4 15:45:23 2008 +0100

    Bump to 1.2.99.2

diff --git a/configure.ac b/configure.ac
index d4aeffb..e7398d7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -22,7 +22,7 @@ dnl
 dnl Process this file with autoconf to create configure.
 
 AC_PREREQ([2.57])
-AC_INIT([RandrProto], [1.2.99.1], 
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
+AC_INIT([RandrProto], [1.2.99.2], 
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg])
 AM_INIT_AUTOMAKE([foreign dist-bzip2])
 
 XORG_RELEASE_VERSION

commit fb1f243716282f442235323834fec50aab7fe2f7
Author: Matthias Hopf <mh...@suse.de>
Date:   Thu Dec 4 15:44:12 2008 +0100

    Nuke config-timestamp for panning. Specifying panning update on screen size 
change.

diff --git a/randrproto.h b/randrproto.h
index 324455e..11143c5 100644
--- a/randrproto.h
+++ b/randrproto.h
@@ -705,9 +705,8 @@ typedef struct {
     CARD8      randrReqType;
     CARD16     length B16;
     RRCrtc     crtc B32;
-    Time       configTimestamp B32;
 } xRRGetPanningReq; 
-#define sz_xRRGetPanningReq            12
+#define sz_xRRGetPanningReq            8
 
 typedef struct {
     BYTE       type;
@@ -736,7 +735,6 @@ typedef struct {
     CARD16     length B16;
     RRCrtc     crtc B32;
     Time       timestamp B32;
-    Time       configTimestamp B32;
     CARD16     left B16;
     CARD16     top B16;
     CARD16     width B16;
@@ -750,7 +748,7 @@ typedef struct {
     INT16      border_right B16;
     INT16      border_bottom B16;
 } xRRSetPanningReq; 
-#define sz_xRRSetPanningReq            40
+#define sz_xRRSetPanningReq            36
 
 typedef struct {
     BYTE       type;
diff --git a/randrproto.txt b/randrproto.txt
index 1d248e1..5244379 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -508,12 +508,11 @@ dynamic changes in the display environment.
        extension and the core protocol. They must be non-zero, or Value
        error results.
 
-       Note that changes to the screen size might invalidate panning
-       parameters.  In these cases panning might be silently disabled, or the
-       panning parameters are updated automatically as necessary.  The exact
-       behavior of the implementation is undefined.  If the panning parameters
-       do not conflict with new screen size, panning remains enabled
-       unchanged.
+       If panning is enabled, the width and height of the panning and the
+       tracking areas are adapted to the new size and clamped afterwards.
+       Disabled panning axes remain disabled.
+       Panning borders are disabled if their requirements are no longer met
+       (see RRSetPanning).
 
 ┌───
     RRGetScreenResources
@@ -945,11 +944,11 @@ dynamic changes in the display environment.
        then re-enabling the CRTC at the new configuration to avoid an
        invalid intermediate configuration.
 
-       Note that changes to the CRTC might invalidate panning parameters.  In
-       these cases panning might be silently disabled, or the panning
-       parameters are updated automatically as necessary.  The exact behavior
-       of the implementation is undefined.  If the panning parameters do not
-       conflict with new CRTC parameters, panning remains enabled unchanged.
+       If panning is enabled, the width and height of the panning and the
+       tracking areas are clamped to the new mode size.
+       Disabled panning axes remain disabled.
+       Panning borders are disabled if their requirements are no longer met
+       (see RRSetPanning).
 
        When this request succeeds, 'status' contains Success and the
        requested changes to configuration will have been made.
@@ -1077,7 +1076,6 @@ dynamic changes in the display environment.
 ┌───
     RRGetPanning
        crtc: CRTC
-       config-timestamp: TIMESTAMP
       ▶
        status: RRCONFIGSTATUS
        timestamp: TIMESTAMP
@@ -1093,11 +1091,6 @@ dynamic changes in the display environment.
        RRGetPanning returns information about the currently set panning
        configuration for the specified crtc.
 
-       If 'config-timestamp' does not match the current configuration
-       timestamp (as returned by RRGetScreenResources), 'status' is set to
-       InvalidConfigTime and the remaining reply data is empty. Otherwise,
-       'status' is set to Success.
-
        'timestamp' indicates when the configuration was last set.
 
        All other entries are explained for RRSetPanning.
@@ -1106,7 +1099,6 @@ dynamic changes in the display environment.
     RRSetPanning
        crtc: CRTC
        timestamp: TIMESTAMP
-       config-timestamp: TIMESTAMP
        left, top, width, height: CARD16
        track_left, track_top, track_width, track_height: CARD16
        border_left, border_top, border_right, border_bottom: INT16
@@ -1116,23 +1108,23 @@ dynamic changes in the display environment.
 └───
        Errors: Crtc, Match
 
+       This request sets the panning parameters.  As soon as panning is
+       enabled, the CRTC position can change with every pointer move.
+       RRCrtcChangeNotify events are sent to the clients requesting those.
+
        If 'timestamp' is less than the time when the configuration was last
        successfully set, the request is ignored and InvalidTime returned in
        status.
-       
-       If 'config-timestamp' is not equal to when the CRTC's configuration
-       last changed, the request is ignored and InvalidConfigTime returned in
-       status. This could occur if the CRTC changed since you last made a
-       RRGetCrtcInfo request, perhaps by setting a different mode.  Rather
-       than allowing an incorrect call to be executed based on stale data,
-       the server will ignore the request.
 
        'left', 'top', 'width', and 'height' contain the total panning area
-       for this CRTC.  'width' has to be larger than the CRTC's width, and
-       'left'+'width' must be within the screen size, else a Match error
-       results.  Equivalent restrictions for the height exist.  The exception
-       is 'width' == 'height' == 0 which indicates that panning should be
-       disabled.
+       for this CRTC.  'width' has to be larger than or equal to the CRTC's
+       width or 0, and 'left'+'width' must be within the screen size, else a
+       Match error results.  Equivalent restrictions for the height exist.
+       'width' or 'height' set to 0 indicate that panning should be disabled
+       on the according axis.  Setting 'width'/'height' to the CRTC's
+       width/height will disable panning on the X/Y axis as well, but
+       RRSetScreenSize will silently enable panning if the screen size is
+       increased. This does not happen if set to 0.
 
        'track_left', 'track_top', 'track_width', and 'track_height' contain
        the pointer area for which the panning region is updated.  For normal
@@ -1149,21 +1141,16 @@ dynamic changes in the display environment.
        panning).  If the borders are positive, the screen will pan when the
        pointer gets close to the CRTC borders, if they are negative, the
        screen will only pan when the pointer is already way past the CRTC 
-       borders.  Negative values might confuse users and are discouraged.
+       borders.  Negative values might confuse users and disable panning to
+       the very edges of the screen.  Thus they are discouraged.
        border_left + border_right has to be lower or equal than the CRTC's
        width, else a Match error results.  An equivalent restriction for the
        height exists.
 
-       This request sets the panning parameters.  As soon as panning is
-       enabled, the CRTC position can change with every pointer move.
-       RRCrtcChangeNotify events are sent to the clients requesting those.
-
-       Note that changes to the CRTC or screen might invalidate panning
-       parameters.  In these cases panning might be silently disabled, or the
-       panning parameters are updated automatically as necessary.  The exact
-       behavior of the implementation is undefined.  If the panning parameters
-       do not conflict with new CRTC parameters or screen size, panning
-       remains enabled unchanged.
+       Screen size changes update the panning and the tracking areas to the
+       new size. Both screen size changes and mode changes clamp these areas
+       to the current CRTC size.  In these cases panning borders are disabled
+       if their requirements are no longer met.
 
        When this request succeeds, 'status' contains Success and the
        requested changes to configuration will have been made.
@@ -1967,9 +1954,8 @@ A.2.2 Protocol Requests added with version 1.3
     RRGetPanning
        1       CARD8                   major opcode
        1       28                      RandR opcode
-       2       3                       length
+       2       2                       length
        4       CRTC                    crtc
-       4       TIMESTAMP               config-timestamp
       ▶
        1       1                       Reply
        1       RRCONFIGSTATUS          status
@@ -1993,10 +1979,9 @@ A.2.2 Protocol Requests added with version 1.3
     RRSetPanning
        1       CARD8                   major opcode
        1       29                      RandR opcode
-       2       10                      length
+       2       9                       length
        4       CRTC                    crtc
        4       TIMESTAMP               timestamp
-       4       TIMESTAMP               config-timestamp
        2       CARD16                  left
        2       CARD16                  top
        2       CARD16                  width

commit 425468e9a29071823316bfc027bc80eb20acc61e
Author: Matthias Hopf <mh...@suse.de>
Date:   Thu Dec 4 12:57:33 2008 +0100

    Add panning to versioning information.

diff --git a/randrproto.txt b/randrproto.txt
index d92b814..1d248e1 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -1338,7 +1338,7 @@ list of what each version provided:
             modes
 
        1.3: Added cheap version of RRGetScreenResources.  Added CRTC
-            transformations.
+            transformations.  Added panning.
 
 Compatibility between 0.0 and 1.0 was *NOT* preserved, and 0.0 clients
 will fail against 1.0 servers. The wire encoding op-codes were

commit 419a0f20746d9f3e8962ea3294568343d9877b2c
Author: Matthias Hopf <mh...@suse.de>
Date:   Fri Nov 28 18:30:22 2008 +0100

    Panning protocol bits description

diff --git a/randrproto.txt b/randrproto.txt
index 5ebbcd9..d92b814 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -1963,6 +1963,61 @@ A.2.2 Protocol Requests added with version 1.3
        4*cf    FIXED                   current filter params
 └───
     
+┌───
+    RRGetPanning
+       1       CARD8                   major opcode
+       1       28                      RandR opcode
+       2       3                       length
+       4       CRTC                    crtc
+       4       TIMESTAMP               config-timestamp
+      ▶
+       1       1                       Reply
+       1       RRCONFIGSTATUS          status
+       2       CARD16                  sequence number
+       4       1                       reply length
+       4       TIMESTAMP               timestamp
+       2       CARD16                  left
+       2       CARD16                  top
+       2       CARD16                  width
+       2       CARD16                  height
+       2       CARD16                  track_left
+       2       CARD16                  track_top
+       2       CARD16                  track_width
+       2       CARD16                  track_height
+       2       INT16                   border_left
+       2       INT16                   border_top
+       2       INT16                   border_right
+       2       INT16                   border_bottom
+└───
+┌───
+    RRSetPanning
+       1       CARD8                   major opcode
+       1       29                      RandR opcode
+       2       10                      length
+       4       CRTC                    crtc
+       4       TIMESTAMP               timestamp
+       4       TIMESTAMP               config-timestamp
+       2       CARD16                  left
+       2       CARD16                  top
+       2       CARD16                  width
+       2       CARD16                  height
+       2       CARD16                  track_left
+       2       CARD16                  track_top
+       2       CARD16                  track_width
+       2       CARD16                  track_height
+       2       INT16                   border_left
+       2       INT16                   border_top
+       2       INT16                   border_right
+       2       INT16                   border_bottom
+      ▶
+       1       1                       Reply
+       1       RRCONFIGSTATUS          status
+       2       CARD16                  sequence number
+       4       0                       reply length
+       4       TIMESTAMP               new timestamp
+       20                              unused
+└───
+
 A.3 Protocol Events
 
 ┌───

commit 6b5d4ce8943c1d39392a0536d426fe27a9161b04
Author: Matthias Hopf <mh...@suse.de>
Date:   Fri Nov 28 18:29:19 2008 +0100

    Panning protocol description

diff --git a/randrproto.txt b/randrproto.txt
index b23e415..5ebbcd9 100644
--- a/randrproto.txt
+++ b/randrproto.txt
@@ -508,6 +508,13 @@ dynamic changes in the display environment.
        extension and the core protocol. They must be non-zero, or Value
        error results.
 
+       Note that changes to the screen size might invalidate panning
+       parameters.  In these cases panning might be silently disabled, or the
+       panning parameters are updated automatically as necessary.  The exact
+       behavior of the implementation is undefined.  If the panning parameters
+       do not conflict with new screen size, panning remains enabled
+       unchanged.
+
 ┌───
     RRGetScreenResources
        window: WINDOW
@@ -938,6 +945,12 @@ dynamic changes in the display environment.
        then re-enabling the CRTC at the new configuration to avoid an
        invalid intermediate configuration.
 
+       Note that changes to the CRTC might invalidate panning parameters.  In
+       these cases panning might be silently disabled, or the panning


-- 
To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to