gstreamer/sys/ximage
Antonio Ospite 7554bd3916 ximagesrc: Draw the cursor only when it is active in the capturing region
Use XQueryPointer to check that the pointer is actually active inside
the capturing region.

This prevents drawing the cursor when the pointer is partially outside
of the captured region but not active inside the region; in particular
this avoids drawing the "window resize" cursor shapes to the captured
image when the mouse pointer crosses a window border.

NOTE that this is not only an optimization, this also happen to fix
a serious problem in multi-screen setups.

Because XFixes gives no information of what screen the pointer is on,
ximagesrc was always drawing the cursor on the captured screen even if
the mouse pointer was on another screen.

For example, when capturing from screen 1 (i.e. display-name=":0.1") the
cursor was drawn in the captured image even when the mouse pointer was
actually on screen 0, which is wrong and visually confusing.

https://bugzilla.gnome.org/show_bug.cgi?id=690646
2014-09-16 10:32:39 +03:00
..
gstximagesrc.c ximagesrc: Draw the cursor only when it is active in the capturing region 2014-09-16 10:32:39 +03:00
gstximagesrc.h ximagesrc: Fix the destination coordinates of the cursor 2014-09-16 10:32:22 +03:00
Makefile.am gst: Add better support for static plugins 2013-04-15 15:54:11 +02:00
ximageutil.c ximagesrc: Fix warning about missing return value 2014-07-31 09:53:53 -04:00
ximageutil.h ximagesrc: Add missing return value to Buffer dispose function 2014-07-31 09:14:10 -04:00