New version of xfixes with client side cursor support

David Reveman davidr at novell.com
Fri Feb 16 08:08:31 PST 2007


attached are patches that adds functionality to the xfixes that
compositing managers can use to render cursors on the client side.

Sprite position, cursor dimensions and hot spot location which could
only be received using GetCursorImage request before have been added to
the CursorNotify event so that a round trip isn't necessary for getting
these properties. This means that CursorNotify events are now generated
every time the sprite position changes. We can have the server not send
more events than before to clients that don't support version 5 of
xfixes if people are concerned about existing clients getting more
events than before. I left this out of the patch for now as I don't
think it's a major problem.

NameCursorPixmap request has been added and it can be used to get a
pixmap which contains the current cursor bits.

The xserver-xfixes-fix-display-cursor-wrap-bug.diff patch that I've
attached fixes a serious issue in the current cursor implementation that
caused the DisplayCursor wrapper chain to get broken. This patch needs
to go in first. 

The patches are fairly well tested and it seems to be working as they
should. If think this is ready to go into head as it is. The only thing
I'm a bit uncertain about is that I use the DeviceEventCallback
mechanism to generate events as the sprite position changes, it seems to
be working perfectly but I someone knows a better way to do this, let me
know. It's just an implementation detail so it can be fixed later,
though. If no one got any objections to the protocol changes, all I need
is an OK and I'll commit all these patches and release new versions of
fixesproto, libXfixes.

- David
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fixesproto-version-4-to-5.diff
Type: text/x-patch
Size: 1923 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20070216/c4d987f9/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libXfixes-version-4-to-5.diff
Type: text/x-patch
Size: 2690 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20070216/c4d987f9/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xserver-xfixes-fix-display-cursor-wrap-bug.diff
Type: text/x-patch
Size: 1484 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20070216/c4d987f9/attachment-0002.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xserver-xfixes-version-4-to-5.diff
Type: text/x-patch
Size: 12934 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20070216/c4d987f9/attachment-0003.bin>


More information about the xorg mailing list