summaryrefslogtreecommitdiffstats
path: root/stream
diff options
context:
space:
mode:
authorben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-11-25 13:03:51 +0000
committerben <ben@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-11-25 13:03:51 +0000
commit42eecb4f1b879a85bc93ef5b45eeed21326359bb (patch)
tree8ce3ddd1082358fc805d2f761ac2f6034f2b0a96 /stream
parentf313243ca1a718b990f0a83923d05d32d6591f3c (diff)
downloadmpv-42eecb4f1b879a85bc93ef5b45eeed21326359bb.tar.bz2
mpv-42eecb4f1b879a85bc93ef5b45eeed21326359bb.tar.xz
better nav highlight handling
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21216 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'stream')
-rw-r--r--stream/stream_dvdnav.c11
-rw-r--r--stream/stream_dvdnav.h6
2 files changed, 13 insertions, 4 deletions
diff --git a/stream/stream_dvdnav.c b/stream/stream_dvdnav.c
index 039dd1940d..5652f573b4 100644
--- a/stream/stream_dvdnav.c
+++ b/stream/stream_dvdnav.c
@@ -46,8 +46,7 @@ static struct m_struct_st stream_opts = {
};
int dvd_nav_still=0; /* are we on a still picture? */
-dvdnav_highlight_event_t dvd_nav_hl;
-int dvd_nav_hl_on = 0;
+static dvdnav_highlight_event_t dvd_nav_hl;
static int seek(stream_t *s, off_t newpos);
@@ -129,7 +128,6 @@ static void dvdnav_get_highlight (dvdnav_priv_t *priv, dvdnav_highlight_event_t
hlev->palette = (btni->btn_coln == 0) ? 0 :
pnavpci->hli.btn_colit.btn_coli[btni->btn_coln - 1][0];
- dvd_nav_hl_on = 1;
break;
}
}
@@ -137,7 +135,6 @@ static void dvdnav_get_highlight (dvdnav_priv_t *priv, dvdnav_highlight_event_t
hlev->sx = hlev->ex = 0;
hlev->sy = hlev->ey = 0;
hlev->palette = hlev->buttonN = 0;
- dvd_nav_hl_on = 0;
}
}
@@ -494,6 +491,12 @@ int dvdnav_number_of_subs(stream_t *stream) {
return n;
}
+void mp_dvdnav_get_highlight (nav_highlight_t *hl) {
+ hl->sx = dvd_nav_hl.sx;
+ hl->sy = dvd_nav_hl.sy;
+ hl->ex = dvd_nav_hl.ex;
+ hl->ey = dvd_nav_hl.ey;
+}
stream_info_t stream_info_dvdnav = {
"DVDNAV stream",
diff --git a/stream/stream_dvdnav.h b/stream/stream_dvdnav.h
index b6c60dbfe8..dea847ba38 100644
--- a/stream/stream_dvdnav.h
+++ b/stream/stream_dvdnav.h
@@ -10,6 +10,11 @@ typedef struct {
} dvdnav_event_t;
typedef struct {
+ uint16_t sx, sy;
+ uint16_t ex, ey;
+} nav_highlight_t;
+
+typedef struct {
dvdnav_t * dvdnav; /* handle to libdvdnav stuff */
char * filename; /* path */
int ignore_timers; /* should timers be skipped? */
@@ -26,5 +31,6 @@ int dvdnav_number_of_subs(stream_t *stream);
int dvdnav_sid_from_lang(stream_t *stream, unsigned char *language);
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);
+void mp_dvdnav_get_highlight (nav_highlight_t *hl);
#endif