diff options
author | Keith Packard <keithp@keithp.com> | 2003-10-29 23:48:40 +0000 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2003-10-29 23:48:40 +0000 |
commit | 00b320e307a997677e74c73f9c856e7b08bc20e2 (patch) | |
tree | 4ce0b69fafffa41584ab2d7d21ef7d60ebc9340c | |
parent | 7cc591f9ffac4a01f7801d924beace89ed3460bb (diff) |
Define clipping while redirected
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | protocol | 21 |
2 files changed, 26 insertions, 0 deletions
@@ -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 @@ -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. |