Commit e2262479 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

libvlc_video_get_cursor: get the current mouse video coordinates

parent b5f800b6
......@@ -588,6 +588,32 @@ int libvlc_video_get_height( libvlc_media_player_t *p_mi );
int libvlc_video_get_width( libvlc_media_player_t *p_mi );
* Get the mouse pointer coordinates over a video.
* Coordinates are expressed in terms of the decoded video resolution,
* <b>not</b> in terms of pixels on the screen/viewport (to get the latter,
* you can query your windowing system directly).
* Either of the coordinates may be negative or larger than the corresponding
* dimension of the video, if the cursor is outside the rendering area.
* @warning The coordinates may be out-of-date if the pointer is not located
* on the video rendering area. LibVLC does not track the pointer if it is
* outside of the video widget.
* @note LibVLC does not support multiple pointers (it does of course support
* multiple input devices sharing the same pointer) at the moment.
* \param p_mi media player
* \param num number of the video (starting from, and most commonly 0)
* \param px pointer to get the abscissa [OUT]
* \param py pointer to get the ordinate [OUT]
* \return 0 on success, -1 if the specified video does not exist
int libvlc_video_get_cursor( libvlc_media_player_t *p_mi, unsigned num,
int *px, int *py );
* Get the current video scaling factor.
* See also libvlc_video_set_scale().
......@@ -186,6 +186,19 @@ int libvlc_video_get_width( libvlc_media_player_t *p_mi )
return width;
int libvlc_video_get_cursor( libvlc_media_player_t *mp, unsigned num,
int *px, int *py )
vout_thread_t *p_vout = GetVout (mp, num);
if (p_vout == NULL)
return -1;
*px = var_GetInteger (p_vout, "mouse-x");
*py = var_GetInteger (p_vout, "mouse-y");
vlc_object_release (p_vout);
return 0;
unsigned libvlc_media_player_has_vout( libvlc_media_player_t *p_mi )
size_t n;
......@@ -165,6 +165,7 @@ libvlc_video_get_chapter_description
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment