*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
/*****************************************************************************
* Preamble
*****************************************************************************/
-#include <stdlib.h>
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
#include <vlc/vlc.h>
-#include <vlc/input.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
XImage *image;
int i_size;
+ if( p_sys->b_follow_mouse )
+ {
+ Window root = DefaultRootWindow( p_display ), child;
+ int root_x, root_y;
+ int win_x, win_y;
+ unsigned int mask;
+ if( XQueryPointer( p_display, root,
+ &root, &child, &root_x, &root_y, &win_x, &win_y,
+ &mask ) )
+ {
+ p_sys->i_left = __MIN( (unsigned int)root_x,
+ p_sys->i_screen_width - p_sys->i_width );
+ p_sys->i_top = __MIN( (unsigned int)root_y,
+ p_sys->i_screen_height - p_sys->i_height );
+ }
+ else
+ msg_Dbg( p_demux, "XQueryPointer() failed" );
+
+ }
+
image = XGetImage( p_display, DefaultRootWindow( p_display ),
- 0, 0, p_sys->fmt.video.i_width,
+ p_sys->i_left, p_sys->i_top, p_sys->fmt.video.i_width,
p_sys->fmt.video.i_height, AllPlanes, ZPixmap );
if( !image )
return 0;
}
- memcpy( p_block->p_buffer, image->data, i_size );
+ vlc_memcpy( p_block->p_buffer, image->data, i_size );
XDestroyImage( image );