var_Create( p_this->p_libvlc, "osd_mutex", VLC_VAR_MUTEX );\r
var_Get( p_this->p_libvlc, "osd_mutex", &lockval );\r
vlc_mutex_lock( lockval.p_address );\r
- \r
+\r
if( ( p_osd = vlc_object_find( p_this, VLC_OBJECT_OSDMENU, FIND_ANYWHERE ) ) == NULL )\r
{\r
vlc_value_t val;\r
- \r
+\r
msg_Dbg( p_this, "creating osd menu object" );\r
if( ( p_osd = vlc_object_create( p_this, VLC_OBJECT_OSDMENU ) ) == NULL )\r
{\r
/* Parse configuration file */\r
if( osd_ConfigLoader( p_this, psz_file, &p_osd ) )\r
goto error;\r
- \r
+\r
/* Setup default button (first button) */\r
p_osd->p_state->p_visible = p_osd->p_button;\r
p_osd->p_state->p_visible->p_current_state =\r
/* Initialize OSD state */\r
osd_UpdateState( p_osd->p_state, p_osd->i_x, p_osd->i_y,\r
p_osd->i_width, p_osd->i_height, NULL );\r
- \r
+\r
vlc_object_yield( p_osd );\r
vlc_object_attach( p_osd, p_this->p_vlc );\r
- \r
+\r
/* Signal when an update of OSD menu is needed */\r
var_Create( p_osd, "osd-menu-update", VLC_VAR_BOOL );\r
var_Create( p_osd, "osd-menu-visible", VLC_VAR_BOOL );\r
\r
val.b_bool = VLC_FALSE;\r
var_Set( p_osd, "osd-menu-update", val );\r
- var_Set( p_osd, "osd-menu-visible", val ); \r
+ var_Set( p_osd, "osd-menu-visible", val );\r
}\r
vlc_mutex_unlock( lockval.p_address );\r
return p_osd;\r
- \r
+\r
error:\r
msg_Err( p_this, "creating osd menu object failed" );\r
vlc_mutex_unlock( lockval.p_address );\r
vlc_object_destroy( p_osd );\r
- return NULL; \r
+ return NULL;\r
}\r
\r
void __osd_MenuDelete( vlc_object_t *p_this, osd_menu_t *p_osd )\r
vlc_value_t lockval;\r
\r
if( !p_osd || !p_this ) return;\r
- \r
+\r
var_Get( p_this->p_libvlc, "osd_mutex", &lockval );\r
vlc_mutex_lock( lockval.p_address );\r
\r
- vlc_object_release( p_osd ); \r
+ vlc_object_release( p_osd );\r
if( p_osd->i_refcount > 0 )\r
{\r
- vlc_mutex_unlock( lockval.p_address ); \r
+ vlc_mutex_unlock( lockval.p_address );\r
return;\r
- } \r
+ }\r
\r
var_Destroy( p_osd, "osd-menu-visible" );\r
var_Destroy( p_osd, "osd-menu-update" );\r
- \r
+\r
osd_ConfigUnload( p_this, &p_osd );\r
vlc_object_detach( p_osd );\r
vlc_object_destroy( p_osd );\r
p_osd = NULL;\r
- \r
- vlc_mutex_unlock( lockval.p_address ); \r
+\r
+ vlc_mutex_unlock( lockval.p_address );\r
}\r
\r
osd_state_t *__osd_StateChange( osd_state_t *p_states, const int i_state )\r
int i;\r
\r
if( i_steps < 0 ) i_steps = 0;\r
- \r
+\r
for( i=0; (i < i_steps) && (p_current != NULL); i++ )\r
- { \r
+ {\r
p_temp = p_current->p_next;\r
if( !p_temp ) return p_current;\r
p_current = p_temp;\r
osd_menu_t *p_osd = NULL;\r
osd_button_t *p_button = NULL;\r
vlc_value_t lockval;\r
- \r
+\r
if( ( p_osd = vlc_object_find( p_this, VLC_OBJECT_OSDMENU, FIND_ANYWHERE ) ) == NULL )\r
{\r
msg_Err( p_this, "osd_MenuNext failed" );\r
return;\r
- } \r
+ }\r
\r
var_Get( p_this->p_libvlc, "osd_mutex", &lockval );\r
vlc_mutex_lock( lockval.p_address );\r
\r
#if defined(OSD_MENU_DEBUG)\r
msg_Dbg( p_osd, "menu on" );\r
-#endif \r
+#endif\r
p_button = p_osd->p_state->p_visible;\r
if( p_button )\r
- { \r
+ {\r
if( !p_button->b_range ) \r
p_button->p_current_state = osd_StateChange( p_button->p_states, OSD_BUTTON_UNSELECT );\r
p_osd->p_state->p_visible = p_osd->p_button;\r
- \r
+\r
if( !p_osd->p_state->p_visible->b_range ) \r
p_osd->p_state->p_visible->p_current_state =\r
osd_StateChange( p_osd->p_state->p_visible->p_states, OSD_BUTTON_SELECT );\r
- \r
+\r
osd_UpdateState( p_osd->p_state,\r
p_osd->p_state->p_visible->i_x, p_osd->p_state->p_visible->i_y,\r
p_osd->p_state->p_visible->p_current_state->p_pic->p[Y_PLANE].i_visible_pitch,\r
p_osd->p_state->p_visible->p_current_state->p_pic->p[Y_PLANE].i_visible_lines,\r
- p_osd->p_state->p_visible->p_current_state->p_pic ); \r
+ p_osd->p_state->p_visible->p_current_state->p_pic );\r
osd_SetMenuUpdate( p_osd, VLC_TRUE );\r
}\r
osd_SetMenuVisible( p_osd, VLC_TRUE );\r
- \r
+\r
vlc_object_release( (vlc_object_t*) p_osd );\r
vlc_mutex_unlock( lockval.p_address );\r
}\r
- \r
+\r
void __osd_MenuHide( vlc_object_t *p_this )\r
{\r
osd_menu_t *p_osd = NULL;\r
vlc_value_t lockval;\r
- \r
+\r
if( ( p_osd = vlc_object_find( p_this, VLC_OBJECT_OSDMENU, FIND_ANYWHERE ) ) == NULL )\r
{\r
msg_Err( p_this, "osd_MenuNext failed" );\r
return;\r
}\r
- \r
+\r
var_Get( p_this->p_libvlc, "osd_mutex", &lockval );\r
vlc_mutex_lock( lockval.p_address );\r
\r
osd_menu_t *p_osd = NULL;\r
osd_button_t *p_button = NULL;\r
vlc_value_t lockval;\r
-#if defined(OSD_MENU_DEBUG) \r
+#if defined(OSD_MENU_DEBUG)\r
vlc_value_t val;\r
#endif\r
- \r
+\r
if( ( p_osd = vlc_object_find( p_this, VLC_OBJECT_OSDMENU, FIND_ANYWHERE ) ) == NULL )\r
{\r
msg_Err( p_this, "osd_MenuDown failed" );\r
\r
var_Get( p_this->p_libvlc, "osd_mutex", &lockval );\r
vlc_mutex_lock( lockval.p_address );\r
- \r
+\r
p_button = p_osd->p_state->p_visible;\r
if( p_button )\r
{\r
if( p_button->p_down )\r
p_osd->p_state->p_visible = p_button->p_down;\r
}\r
- \r
+\r
if( p_button->b_range && p_osd->p_state->p_visible->b_range ) \r
{\r
osd_state_t *p_temp = p_osd->p_state->p_visible->p_current_state;\r
p_osd->p_state->p_visible->p_current_state->p_pic->p[Y_PLANE].i_visible_lines,\r
p_osd->p_state->p_visible->p_current_state->p_pic );\r
osd_SetMenuUpdate( p_osd, VLC_TRUE );\r
- /* If this is a range style action with associated images of only one state, \r
+ /* If this is a range style action with associated images of only one state,\r
* then perform "menu select" on every menu navigation\r
*/\r
if( p_button->b_range ) \r