[PATCH] ephyr: Properly implement hardware cursors (v2)

Keith Packard keithp at keithp.com
Thu Sep 11 18:13:24 PDT 2014


Adam Jackson <ajax at redhat.com> writes:

> When dix hands us a new cursor we proxy it through to the host server;
> since we keep the host XID on the cursor bits private we can switch
> among them with just ChangeWindowAttributes.

Sorry for replying about your previous version; somehow I missed this in
my queue. Only one small comment below...

> +    cursor_pxm = xcb_generate_id(HostX.conn);
> +    xcb_create_pixmap(HostX.conn, 1, cursor_pxm, HostX.winroot, 1, 1);
> +    HostX.empty_cursor = xcb_generate_id(HostX.conn);
> +    xcb_create_cursor(HostX.conn,
> +                      HostX.empty_cursor,
> +                      cursor_pxm, cursor_pxm,
> +                      0,0,0,
> +                      0,0,0,
> +                      1,1);
> +    xcb_free_pixmap(HostX.conn, cursor_pxm);

Sadly, pixmap contents are not defined on creation. So, you'll have to
actually clear this thing. Create a GC, set foreground to zero and fill
rectangle (or draw a point; it's all the same :-)

Otherwise, this is all

Reviewed-by: Keith Packard <keithp at keithp.com>

-- 
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 810 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20140911/81f51797/attachment.sig>


More information about the xorg-devel mailing list