Input region support in the Shape extension

Owen Taylor otaylor at redhat.com
Fri Jan 28 11:26:39 PST 2005


On Fri, 2005-01-28 at 09:17 -1000, Keith Packard wrote:
> Around 13 o'clock on Jan 28, Owen Taylor wrote:
> 
> > How does the Clip region come into play here?
> 
> The Clip region is purely for output; if the Clip region is different from 
> the Input region, then the application may have input areas which are 
> "invisible".
> 
> However, I see the Clip region as an anachronism now that we have ARGB 
> windows.  A clip region will force non-AA borders between the window and 
> the underlying content while an ARGB window provides for smooth blending.
> 
> And, ARGB windows have all of the same issues, without any way for the 
> server to easily notice which areas are transparent.
> 
> In Twin, I actually look at the window and pass mouse events through 
> transparent areas, but in X, I prefer the separation permitting 
> applications to capture input in transparent areas.

Or let through input in translucent areas. Makes sense.

[...]

> > Do you also need fixes for the usage of
> > [Xinerama]PointerInWindowIsVisible in WarpPointer?
> 
> Thanks for finding these.  I think this is right -- the assertion here is 
> that WarpPointer checks the source to assert that the pointer is currently 
> "inside" the window, which seems to now include the input region checks.
> 
> I've added the 5 line change to both of these functions.

What about the case where the point *is* in the window due to a hole in
the input region of some overlapping window? I don't quite understand
why the code in WarpPointer isn't just checking the ancestry of source
for sprite.win since the x/y being checked is just the pointer position.

(Whether anybody would notice in the remaining lifetime of the universe
if this was gotten wrong is a different question...)

Regards,
						Owen

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.x.org/archives/xorg/attachments/20050128/e159f02c/attachment.pgp>


More information about the xorg mailing list