diff options
Diffstat (limited to 'stream')
-rw-r--r-- | stream/stream_dvdnav.c | 14 | ||||
-rw-r--r-- | stream/stream_dvdnav.h | 1 |
2 files changed, 15 insertions, 0 deletions
diff --git a/stream/stream_dvdnav.c b/stream/stream_dvdnav.c index 13179552f9..16da6bfc30 100644 --- a/stream/stream_dvdnav.c +++ b/stream/stream_dvdnav.c @@ -481,6 +481,20 @@ int mp_dvdnav_handle_input(stream_t *stream, int cmd, int *button) { return reset; } +void mp_dvdnav_update_mouse_pos(stream_t *stream, int32_t x, int32_t y, int* button) { + dvdnav_priv_t * dvdnav_priv=(dvdnav_priv_t*)stream->priv; + dvdnav_t *nav = dvdnav_priv->dvdnav; + dvdnav_status_t status; + pci_t *pci = dvdnav_get_current_nav_pci(nav); + + if(!pci) return; + + status = dvdnav_mouse_select(nav, pci, x, y); + if(status == DVDNAV_STATUS_OK) dvdnav_get_current_highlight(nav, button); + else *button = -1; +} + + stream_info_t stream_info_dvdnav = { "DVDNAV stream", "null", diff --git a/stream/stream_dvdnav.h b/stream/stream_dvdnav.h index bae181c8b9..f3ff8a11da 100644 --- a/stream/stream_dvdnav.h +++ b/stream/stream_dvdnav.h @@ -44,5 +44,6 @@ int dvdnav_stream_sleeping(dvdnav_priv_t * dvdnav_priv); void dvdnav_stream_fullstart(dvdnav_priv_t *dvdnav_priv); unsigned int * dvdnav_stream_get_palette(dvdnav_priv_t * dvdnav_priv); int mp_dvdnav_handle_input(stream_t *stream, int cmd, int *button); +void mp_dvdnav_update_mouse_pos(stream_t *stream, int32_t x, int32_t y, int* button); #endif |