1
mirror of https://code.videolan.org/videolan/vlc synced 2024-08-27 04:21:53 +02:00

input: define proper controls for menu navigation

This commit is contained in:
Rémi Denis-Courmont 2013-02-01 17:54:34 +02:00
parent 2cb909b3bf
commit 72499a50a3
5 changed files with 43 additions and 0 deletions

View File

@ -161,6 +161,13 @@ enum demux_query_e
DEMUX_CAN_SEEK, /* arg1= bool* can fail (assume false)*/
DEMUX_GET_SIGNAL, /* arg1= double * arg2= double * can fail */
/* Navigation */
DEMUX_NAV_ACTIVATE, /* res=can fail */
DEMUX_NAV_UP, /* res=can fail */
DEMUX_NAV_DOWN, /* res=can fail */
DEMUX_NAV_LEFT, /* res=can fail */
DEMUX_NAV_RIGHT, /* res=can fail */
};
VLC_API int demux_vaControlHelper( stream_t *, int64_t i_start, int64_t i_end, int64_t i_bitrate, int i_align, int i_query, va_list args );

View File

@ -470,6 +470,13 @@ enum input_query_e
INPUT_GET_SPU_DELAY, /* arg1 = int* res=can fail */
INPUT_SET_SPU_DELAY, /* arg1 = int res=can fail */
/* Menu navigation */
INPUT_NAV_ACTIVATE,
INPUT_NAV_UP,
INPUT_NAV_DOWN,
INPUT_NAV_LEFT,
INPUT_NAV_RIGHT,
/* Meta datas */
INPUT_ADD_INFO, /* arg1= char* arg2= char* arg3=... res=can fail */
INPUT_REPLACE_INFOS,/* arg1= info_category_t * res=cannot fail */

View File

@ -136,6 +136,15 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args )
i_64 = (int64_t)va_arg( args, int64_t );
return var_SetTime( p_input, "spu-delay", i_64 );
case INPUT_NAV_ACTIVATE:
case INPUT_NAV_UP:
case INPUT_NAV_DOWN:
case INPUT_NAV_LEFT:
case INPUT_NAV_RIGHT:
input_ControlPush( p_input, i_query - INPUT_NAV_ACTIVATE
+ INPUT_CONTROL_NAV_ACTIVATE, NULL );
return VLC_SUCCESS;
case INPUT_ADD_INFO:
{
char *psz_cat = (char *)va_arg( args, char * );

View File

@ -1581,6 +1581,11 @@ static bool ControlIsSeekRequest( int i_type )
case INPUT_CONTROL_SET_SEEKPOINT_NEXT:
case INPUT_CONTROL_SET_SEEKPOINT_PREV:
case INPUT_CONTROL_SET_BOOKMARK:
case INPUT_CONTROL_NAV_ACTIVATE:
case INPUT_CONTROL_NAV_UP:
case INPUT_CONTROL_NAV_DOWN:
case INPUT_CONTROL_NAV_LEFT:
case INPUT_CONTROL_NAV_RIGHT:
return true;
default:
return false;
@ -2175,6 +2180,15 @@ static bool Control( input_thread_t *p_input,
break;
}
case INPUT_CONTROL_NAV_ACTIVATE:
case INPUT_CONTROL_NAV_UP:
case INPUT_CONTROL_NAV_DOWN:
case INPUT_CONTROL_NAV_LEFT:
case INPUT_CONTROL_NAV_RIGHT:
demux_Control( p_input->p->input.p_demux, i_type
- INPUT_CONTROL_NAV_ACTIVATE + DEMUX_NAV_ACTIVATE );
break;
default:
msg_Err( p_input, "not yet implemented" );
break;

View File

@ -195,6 +195,12 @@ enum input_control_e
INPUT_CONTROL_SET_BOOKMARK,
INPUT_CONTROL_NAV_ACTIVATE, // NOTE: INPUT_CONTROL_NAV_* values must be
INPUT_CONTROL_NAV_UP, // contiguous and in the same order as
INPUT_CONTROL_NAV_DOWN, // INPUT_NAV_* and DEMUX_NAV_*.
INPUT_CONTROL_NAV_LEFT,
INPUT_CONTROL_NAV_RIGHT,
INPUT_CONTROL_SET_ES,
INPUT_CONTROL_RESTART_ES,