summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2003-10-29 23:48:40 +0000
committerKeith Packard <keithp@keithp.com>2003-10-29 23:48:40 +0000
commit00b320e307a997677e74c73f9c856e7b08bc20e2 (patch)
tree4ce0b69fafffa41584ab2d7d21ef7d60ebc9340c
parent7cc591f9ffac4a01f7801d924beace89ed3460bb (diff)
Define clipping while redirected
-rw-r--r--ChangeLog5
-rw-r--r--protocol21
2 files changed, 26 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index d4c4a8c..0d39d85 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2003-10-29 Keith Packard <keithp@keithp.com>
+
+ * protocol:
+ Define clipping while redirected
+
2003-10-24 Keith Packard <keithp@keithp.com>
* ChangeLog
diff --git a/protocol b/protocol
index f75d528..6109b59 100644
--- a/protocol
+++ b/protocol
@@ -52,6 +52,27 @@ may be done with the Damage extension.
The off-screen storage includes the window contents, it's borders and the
contents of all descendants.
+In automatic update mode, the X server is itself responsible for presenting
+the child window contents within the parent. It seems reasonable, then, for
+rendering to the parent window to be clipped so as not to interfere with any
+child window content. In an environment with a mixure of manual and
+automatic updating windows, rendering to the parent in the area nominally
+occupied by a manual update window should be able to affect parent pixel
+values in those areas, but such rendering should be clipped to automatic
+update windows, and presumably to other manual update windows managed by
+other applications. In any of these cases, it should be easy to ensure that
+rendering has no effect on any non-redirected windows.
+
+Instead of attempting to define new clipping modes for rendering, the
+Apportion extension instead defines ClipByChildren rendering to the parent
+to exclude regions occupied by redirected windows (either automatic or
+manual). The CreateRegionFromBorderClip request can be used along with
+IncludeInferiors clipping modes to restrict manual shadow updates to the
+apporpriate region of the screen. Bracketing operations with
+GrabServer/UngrabServer will permit atomic sequences that can update the
+screen without artifact. As all of these operations are asynchronous,
+network latency should not adversely affect update latency.
+
4. Errors
The apportion extension does not define any new errors.