1
mirror of https://code.videolan.org/videolan/vlc synced 2024-08-31 06:46:39 +02:00

Add osd menu api to lua (DVD menus).

This commit is contained in:
Antoine Cellerier 2009-12-14 22:07:15 +01:00
parent 225bddeaed
commit b7c1008797
2 changed files with 70 additions and 0 deletions

View File

@ -154,6 +154,55 @@ static int vlclua_spu_channel_clear( lua_State *L )
return 0;
}
static int vlclua_menu_show( lua_State *L )
{
vlc_object_t *p_this = vlclua_get_this( L );
osd_MenuShow( p_this );
return 0;
}
static int vlclua_menu_hide( lua_State *L )
{
vlc_object_t *p_this = vlclua_get_this( L );
osd_MenuHide( p_this );
return 0;
}
static int vlclua_menu_prev( lua_State *L )
{
vlc_object_t *p_this = vlclua_get_this( L );
osd_MenuPrev( p_this );
return 0;
}
static int vlclua_menu_next( lua_State *L )
{
vlc_object_t *p_this = vlclua_get_this( L );
osd_MenuNext( p_this );
return 0;
}
static int vlclua_menu_up( lua_State *L )
{
vlc_object_t *p_this = vlclua_get_this( L );
osd_MenuUp( p_this );
return 0;
}
static int vlclua_menu_down( lua_State *L )
{
vlc_object_t *p_this = vlclua_get_this( L );
osd_MenuDown( p_this );
return 0;
}
static int vlclua_menu_activate( lua_State *L )
{
vlc_object_t *p_this = vlclua_get_this( L );
osd_MenuActivate( p_this );
return 0;
}
/*****************************************************************************
*
*****************************************************************************/
@ -166,9 +215,23 @@ static const luaL_Reg vlclua_osd_reg[] = {
{ NULL, NULL }
};
static const luaL_Reg vlclua_menu_reg[] = {
{ "show", vlclua_menu_show },
{ "hide", vlclua_menu_hide },
{ "prev", vlclua_menu_prev },
{ "next", vlclua_menu_next },
{ "up", vlclua_menu_up },
{ "down", vlclua_menu_down },
{ "activate", vlclua_menu_activate },
{ NULL, NULL }
};
void luaopen_osd( lua_State *L )
{
lua_newtable( L );
luaL_register( L, NULL, vlclua_osd_reg );
lua_newtable( L );
luaL_register( L, NULL, vlclua_menu_reg );
lua_setfield( L, -2, "menu" );
lua_setfield( L, -2, "osd" );
}

View File

@ -175,6 +175,13 @@ osd.slider( position, type, [id] ): Display slider. Position is an integer
from 0 to 100. Type can be "horizontal" or "vertical".
osd.channel_register(): Register a new OSD channel. Returns the channel id.
osd.channel_clear( id ): Clear OSD channel.
osd.menu.show(): Show the OSD menu.
osd.menu.hide(): Hide the OSD menu.
osd.menu.prev(): Select previous/left item.
osd.menu.next(): Select next/right item.
osd.menu.up(): Move selection up.
osd.menu.down(): Move selection down.
osd.menu.activate(): Activate/validate current selection.
Playlist
--------