+ p_sys->b_update = p_sys->b_visible ? true : false;
+ return VLC_SUCCESS;
+}
+
+static int MouseEvent( filter_t *p_filter,
+ const vlc_mouse_t *p_old,
+ const vlc_mouse_t *p_new,
+ const video_format_t *p_fmt )
+{
+ filter_sys_t *p_sys = p_filter->p_sys;
+
+ if( !vlc_mouse_HasPressed( p_old, p_new, MOUSE_BUTTON_LEFT ) )
+ return VLC_SUCCESS;
+
+ osd_button_t *p_button = osd_ButtonFind( VLC_OBJECT(p_filter),
+ p_new->i_x,
+ p_new->i_y,
+ p_fmt->i_width,
+ p_fmt->i_height,
+ 1000, 1000 );
+ if( !p_button )
+ return VLC_SUCCESS;
+
+ osd_ButtonSelect( VLC_OBJECT(p_filter), p_button );
+ p_sys->b_update = p_sys->b_visible ? true : false;
+ p_sys->b_clicked = true;
+ msg_Dbg( p_filter, "mouse clicked %s (%d,%d)", p_button->psz_name, p_new->i_x, p_new->i_y );