summaryrefslogtreecommitdiffstats
path: root/stream
diff options
context:
space:
mode:
Diffstat (limited to 'stream')
-rw-r--r--stream/stream_dvdnav.c14
-rw-r--r--stream/stream_dvdnav.h1
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