Data Structures | |
| struct | text_style_t |
| Text style. More... | |
| struct | osd_state_t |
| OSD State object. More... | |
| struct | osd_button_t |
| OSD Button object. More... | |
| struct | osd_menu_state_t |
| OSD Menu State object. More... | |
| struct | osd_menu_t |
| OSD Menu object. More... | |
Defines | |
| #define | OSD_ALIGN_LEFT 0x1 |
| The OSD Menu configuration file format. | |
| #define | OSD_ALIGN_RIGHT 0x2 |
| #define | OSD_ALIGN_TOP 0x4 |
| #define | OSD_ALIGN_BOTTOM 0x8 |
| #define | OSD_HOR_SLIDER 1 |
| #define | OSD_VERT_SLIDER 2 |
| #define | OSD_PLAY_ICON 1 |
| #define | OSD_PAUSE_ICON 2 |
| #define | OSD_SPEAKER_ICON 3 |
| #define | OSD_MUTE_ICON 4 |
| #define | STYLE_BOLD 1 |
| #define | STYLE_ITALIC 2 |
| #define | STYLE_OUTLINE 4 |
| #define | STYLE_SHADOW 8 |
| #define | STYLE_BACKGROUND 16 |
| #define | STYLE_UNDERLINE 32 |
| #define | STYLE_STRIKEOUT 64 |
| #define | OSD_BUTTON_UNSELECT 0 |
| OSD menu button states. | |
| #define | OSD_BUTTON_SELECT 1 |
| #define | OSD_BUTTON_PRESSED 2 |
| #define | OSD_MENU_STYLE_SIMPLE 0x0 |
| OSD Menu Style. | |
| #define | OSD_MENU_STYLE_CONCAT 0x1 |
| #define | osd_MenuCreate(object, file) __osd_MenuCreate( VLC_OBJECT(object), file ) |
| #define | osd_MenuDelete(object, osd) __osd_MenuDelete( VLC_OBJECT(object), osd ) |
| #define | osd_ButtonFind(object, x, y, h, w, sh, sw) __osd_ButtonFind(object,x,y,h,w,sh,sw) |
| #define | osd_ButtonSelect(object, button) __osd_ButtonSelect(object,button) |
| #define | osd_MenuShow(object) __osd_MenuShow( VLC_OBJECT(object) ) |
| #define | osd_MenuHide(object) __osd_MenuHide( VLC_OBJECT(object) ) |
| #define | osd_MenuActivate(object) __osd_MenuActivate( VLC_OBJECT(object) ) |
| #define | osd_MenuNext(object) __osd_MenuNext( VLC_OBJECT(object) ) |
| #define | osd_MenuPrev(object) __osd_MenuPrev( VLC_OBJECT(object) ) |
| #define | osd_MenuUp(object) __osd_MenuUp( VLC_OBJECT(object) ) |
| #define | osd_MenuDown(object) __osd_MenuDown( VLC_OBJECT(object) ) |
| #define | osd_Volume(object) __osd_Volume( VLC_OBJECT(object) ) |
Functions | |
| text_style_t * | text_style_New (void) |
| Create a default text style. | |
| text_style_t * | text_style_Copy (text_style_t *, const text_style_t *) |
| Copy a text style into another. | |
| text_style_t * | text_style_Duplicate (const text_style_t *) |
| Duplicate a text style. | |
| void | text_style_Delete (text_style_t *) |
| Delete a text style created by text_style_New or text_style_Duplicate. | |
| osd_menu_t * | __osd_MenuCreate (vlc_object_t *, const char *) |
| Initialize an osd_menu_t object. | |
| void | __osd_MenuDelete (vlc_object_t *, osd_menu_t *) |
| Delete the osd_menu_t object. | |
| osd_button_t * | __osd_ButtonFind (vlc_object_t *p_this, int, int, int, int, int, int) |
| Find OSD Menu button at position x,y. | |
| void | __osd_ButtonSelect (vlc_object_t *, osd_button_t *) |
| Select the button provided as the new active button. | |
| void | __osd_MenuShow (vlc_object_t *) |
| Show the OSD menu. | |
| void | __osd_MenuHide (vlc_object_t *) |
| Hide the OSD menu. | |
| void | __osd_MenuActivate (vlc_object_t *) |
| Activate the action of this OSD menu item. | |
| void | __osd_MenuNext (vlc_object_t *) |
| Next OSD menu item. | |
| void | __osd_MenuPrev (vlc_object_t *) |
| Previous OSD menu item. | |
| void | __osd_MenuUp (vlc_object_t *) |
| OSD menu item above. | |
| void | __osd_MenuDown (vlc_object_t *) |
| OSD menu item below. | |
| void | __osd_Volume (vlc_object_t *) |
| Display the audio volume bitmap. | |
| static const osd_menu_state_t * | osd_GetMenuState (osd_menu_t *p_osd) |
| Retrieve a non modifyable pointer to the OSD Menu state. | |
| static bool | osd_GetKeyPressed (osd_menu_t *p_osd) |
| Get the last key press received by the OSD Menu. | |
| static void | osd_SetKeyPressed (vlc_object_t *p_this, int i_value) |
| Set the key pressed to a value. | |
| static void | osd_SetMenuVisible (osd_menu_t *p_osd, bool b_value) |
| Update the OSD Menu visibility flag. | |
| static void | osd_SetMenuUpdate (osd_menu_t *p_osd, bool b_value) |
| Update the OSD Menu update flag. | |
| int | osd_ShowTextRelative (spu_t *, int, const char *, const text_style_t *, int, int, int, mtime_t) |
| Textual feedback. | |
| int | osd_ShowTextAbsolute (spu_t *, int, const char *, const text_style_t *, int, int, int, mtime_t, mtime_t) |
| Show text on the video from a given start date to a given end date. | |
| void | osd_Message (spu_t *, int, char *,...) |
| Write an informative message at the default location, for the default duration and only if the OSD option is enabled. | |
| int | osd_Slider (vlc_object_t *, spu_t *, int, int, int, int, int, int, short) |
| Default feedback images. | |
| int | osd_Icon (vlc_object_t *, spu_t *, int, int, int, int, int, short) |
It parses a configuration file that defines all elements that are part of the menu. The core also handles all actions and menu structure updates on behalf of video subpicture filters.
The file modules/video_filters/osdmenu.c implements a subpicture filter that specifies the final information on positioning of the current state image. A subpicture filter is called each time a video picture has to be rendered, it also gives a start and end date to the subpicture. The subpicture can be streamed if used inside a transcoding command. For example:
vlc dvdsimple:///dev/dvd --extraintf rc --sout='transcode{osd}:std{access=udp,mux=ts,dst=dest_ipaddr}' --osdmenu-file=share/osdmenu/dvd.cfg
An example for local usage of the OSD menu is:
vlc dvdsimple:///dev/dvd --extraintf rc --sub-filter osdmenu --osdmenu-file=share/osdmenu/dvd.cfg
Each OSD menu element, called "action", defines a hotkey action. Each action can have several states (unselect, select, pressed). Each state has an image that represents the state visually. The commands "menu right", "menu left", "menu up" and "menu down" are used to navigate through the OSD menu structure. The commands "menu on" or "menu show" and "menu off" or "menu hide" respectively show and hide the OSD menu subpictures.
There is one special element called "range". A range is an arbritary range of state images that can be browsed using "menu up" and "menu down" commands on the rc interface.
The OSD menu configuration file uses a very simple syntax and basic parser. A configuration file has the ".cfg". An example is "share/osdmenu/dvd256.cfg".
| #define OSD_ALIGN_BOTTOM 0x8 |
Referenced by DisplayAnchor(), and mediacontrol_display_text().
| #define OSD_ALIGN_LEFT 0x1 |
The OSD Menu configuration file format.
The configuration file syntax is very basic and so is its parser. See the BNF formal representation below:
The keywords FILENAME and PATHNAME represent the filename and pathname specification that is valid for the Operating System VLC is compiled for.
The hotkey actions that are supported by VLC are documented in the file src/libvlc. The file include/vlc_keys.h defines some hotkey internals.
CONFIG_FILE = FILENAME '.cfg' WS = [ ' ' | '' ]+ OSDMENU_PATH = PATHNAME DIR = 'dir' WS OSDMENU_PATH '
' STYLE = 'style' [ 'default' | 'concat' ] '
' STATE = [ 'unselect' | 'select' | 'pressed' ] HOTKEY_ACTION = 'key-' [ 'a' .. 'z', 'A' .. 'Z', '-' ]+
ACTION_TYPE = 'type' 'volume' '
' ACTION_BLOCK_START = 'action' WS HOTKEY_ACTION WS '('POS','POS')' '
' ACTION_BLOCK_END = 'end' '
' ACTION_STATE = STATE WS FILENAME '
' ACTION_RANGE_START = 'range' WS HOTKEY_ACTION WS DEFAULT_INDEX '
' ACTION_RANGE_END = 'end' '
' ACTION_RANGE_STATE = FILENAME '
'
ACTION_BLOCK_RANGE = ACTION_RANGE_START [WS ACTION_RANGE_STATE]+ WS ACTION_RANGE_END ACTION_BLOCK = ACTION_BLOCK_START [WS ACTION_TYPE*] [ [WS ACTION_STATE]+3 | [WS ACTION_BLOCK_RANGE]+1 ] ACTION_BLOCK_END CONFIG_FILE_CONTENTS = DIR [ACTION_BLOCK]+ OSD menu position and picture type defines
Referenced by Filter(), mediacontrol_display_text(), and RenderText().
| #define OSD_ALIGN_RIGHT 0x2 |
Referenced by __vout_OSDMessage(), FilterSub(), and osd_Message().
| #define OSD_ALIGN_TOP 0x4 |
Referenced by __vout_OSDMessage(), Filter(), FilterSub(), osd_Message(), and RenderText().
| #define OSD_BUTTON_PRESSED 2 |
Referenced by __osd_MenuActivate(), and osd_StateNew().
| #define OSD_BUTTON_SELECT 1 |
Referenced by __osd_ButtonSelect(), __osd_MenuCreate(), __osd_MenuDown(), __osd_MenuNext(), __osd_MenuPrev(), __osd_MenuShow(), __osd_MenuUp(), and osd_StateNew().
| #define OSD_BUTTON_UNSELECT 0 |
OSD menu button states.
Every button has three states, either it is unselected, selected or pressed. An OSD menu skin can associate images with each state.
OSD_BUTTON_UNSELECT 0 OSD_BUTTON_SELECT 1 OSD_BUTTON_PRESSED 2
Referenced by __osd_ButtonSelect(), __osd_MenuNext(), __osd_MenuPrev(), __osd_MenuShow(), and osd_StateNew().
| #define osd_ButtonFind | ( | object, | |||
| x, | |||||
| y, | |||||
| h, | |||||
| w, | |||||
| sh, | |||||
| sw | ) | __osd_ButtonFind(object,x,y,h,w,sh,sw) |
Referenced by MouseEvent().
| #define osd_ButtonSelect | ( | object, | |||
| button | ) | __osd_ButtonSelect(object,button) |
Referenced by MouseEvent().
| #define OSD_HOR_SLIDER 1 |
Referenced by DisplayPosition(), osd_Slider(), and vlc_osd_slider_type_from_string().
| #define OSD_MENU_STYLE_CONCAT 0x1 |
Referenced by Filter(), and osd_parser_simpleOpen().
| #define OSD_MENU_STYLE_SIMPLE 0x0 |
OSD Menu Style.
The images that make up an OSD menu can be created in such away that they contain all buttons in the same picture, with the selected one highlighted or being a concatenation of all the seperate images. The first case is the default.
To change the default style the keyword 'style' should be set to 'concat'.
Referenced by osd_MenuNew(), and osd_parser_simpleOpen().
| #define osd_MenuActivate | ( | object | ) | __osd_MenuActivate( VLC_OBJECT(object) ) |
Referenced by Filter(), Menu(), Process(), and PutAction().
| #define osd_MenuCreate | ( | object, | |||
| file | ) | __osd_MenuCreate( VLC_OBJECT(object), file ) |
Referenced by CreateFilter().
| #define osd_MenuDelete | ( | object, | |||
| osd | ) | __osd_MenuDelete( VLC_OBJECT(object), osd ) |
Referenced by DestroyFilter().
| #define osd_MenuDown | ( | object | ) | __osd_MenuDown( VLC_OBJECT(object) ) |
Referenced by Menu(), Process(), and PutAction().
| #define osd_MenuHide | ( | object | ) | __osd_MenuHide( VLC_OBJECT(object) ) |
Referenced by Menu(), Process(), and PutAction().
| #define osd_MenuNext | ( | object | ) | __osd_MenuNext( VLC_OBJECT(object) ) |
Referenced by Menu(), Process(), and PutAction().
| #define osd_MenuPrev | ( | object | ) | __osd_MenuPrev( VLC_OBJECT(object) ) |
Referenced by Menu(), Process(), and PutAction().
| #define osd_MenuShow | ( | object | ) | __osd_MenuShow( VLC_OBJECT(object) ) |
Referenced by Menu(), Process(), and PutAction().
| #define osd_MenuUp | ( | object | ) | __osd_MenuUp( VLC_OBJECT(object) ) |
Referenced by Menu(), Process(), and PutAction().
| #define OSD_MUTE_ICON 4 |
Referenced by osd_Icon(), PutAction(), and vlc_osd_icon_from_string().
| #define OSD_PAUSE_ICON 2 |
Referenced by osd_Icon(), PutAction(), and vlc_osd_icon_from_string().
| #define OSD_PLAY_ICON 1 |
Referenced by osd_Icon(), PutAction(), and vlc_osd_icon_from_string().
| #define OSD_SPEAKER_ICON 3 |
Referenced by osd_Icon(), and vlc_osd_icon_from_string().
| #define OSD_VERT_SLIDER 2 |
Referenced by DisplayVolume(), osd_Slider(), and vlc_osd_slider_type_from_string().
| #define osd_Volume | ( | object | ) | __osd_Volume( VLC_OBJECT(object) ) |
Referenced by Volume(), and VolumeMove().
| #define STYLE_BACKGROUND 16 |
Referenced by ParseSSAHeader().
| #define STYLE_BOLD 1 |
Referenced by ParseSSAHeader(), ParseUSFHeaderTags(), ProcessNodes(), and RenderText().
| #define STYLE_ITALIC 2 |
Referenced by ParseSSAHeader(), ParseUSFHeaderTags(), ProcessNodes(), and RenderText().
| #define STYLE_OUTLINE 4 |
Referenced by ParseSSAHeader(), and text_style_New().
| #define STYLE_SHADOW 8 |
| #define STYLE_STRIKEOUT 64 |
Referenced by ParseSSAHeader().
| #define STYLE_UNDERLINE 32 |
Referenced by ParseSSAHeader(), ParseUSFHeaderTags(), ProcessNodes(), and RenderText().
| osd_button_t* __osd_ButtonFind | ( | vlc_object_t * | p_this, | |
| int | , | |||
| int | , | |||
| int | , | |||
| int | , | |||
| int | , | |||
| int | ||||
| ) |
Find OSD Menu button at position x,y.
References osd_button_t::i_height, i_height, osd_menu_t::i_position, osd_button_t::i_width, osd_button_t::i_x, osd_menu_t::i_y, osd_button_t::i_y, msg_Err, osd_Find(), osd_GetMutex(), osd_isVisible(), osd_menu_t::p_button, osd_button_t::p_next, SUBPICTURE_ALIGN_BOTTOM, SUBPICTURE_ALIGN_LEFT, SUBPICTURE_ALIGN_RIGHT, SUBPICTURE_ALIGN_TOP, vlc_mutex_lock(), and vlc_mutex_unlock().
| void __osd_ButtonSelect | ( | vlc_object_t * | , | |
| osd_button_t * | ||||
| ) |
Select the button provided as the new active button.
References osd_button_t::b_range, osd_state_t::i_height, osd_state_t::i_width, osd_button_t::i_x, osd_button_t::i_y, msg_Dbg, msg_Err, OSD_BUTTON_SELECT, OSD_BUTTON_UNSELECT, osd_Find(), osd_GetMutex(), osd_isVisible(), osd_SetMenuUpdate(), osd_StateChange(), osd_UpdateState(), osd_button_t::p_current_state, osd_state_t::p_pic, osd_menu_t::p_state, osd_menu_state_t::p_visible, osd_button_t::psz_action, vlc_mutex_lock(), and vlc_mutex_unlock().
| void __osd_MenuActivate | ( | vlc_object_t * | ) |
Activate the action of this OSD menu item.
The rc interface command "menu select" triggers the sending of an hotkey action to the hotkey interface. The hotkey that belongs to the current highlighted OSD menu item will be used.
References __osd_MenuDown(), __osd_MenuUp(), osd_button_t::b_range, config_GetInt, osd_state_t::i_height, osd_state_t::i_width, osd_button_t::i_x, osd_button_t::i_y, msg_Dbg, msg_Err, OSD_BUTTON_PRESSED, osd_Find(), osd_GetMutex(), osd_isVisible(), osd_SetKeyPressed(), osd_SetMenuUpdate(), osd_SetMenuVisible(), osd_StateChange(), osd_UpdateState(), osd_button_t::p_current_state, osd_button_t::p_down, osd_menu_t::p_libvlc, osd_state_t::p_pic, osd_menu_t::p_state, osd_button_t::p_up, osd_menu_state_t::p_visible, osd_button_t::psz_action, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_OBJECT.
| osd_menu_t* __osd_MenuCreate | ( | vlc_object_t * | , | |
| const char * | ||||
| ) |
Initialize an osd_menu_t object.
This functions has to be called before any call to other osd_menu_t* functions. It creates the osd_menu object and holds a pointer to it during its lifetime.
References __osd_MenuDelete(), config_GetInt, osd_menu_t::i_height, osd_button_t::i_ranges, plane_t::i_visible_lines, plane_t::i_visible_pitch, osd_menu_t::i_width, osd_menu_t::i_x, osd_menu_t::i_y, OSD_BUTTON_SELECT, osd_GetMutex(), osd_ParserLoad(), osd_StateChange(), osd_UpdateState(), osd_VolumeStateChange(), osd_VolumeStep(), picture_t::p, vlc_value_t::p_address, osd_menu_t::p_button, osd_button_t::p_current_state, vlc_object_t::p_libvlc, osd_menu_t::p_parser, osd_state_t::p_pic, osd_menu_t::p_state, osd_button_t::p_states, osd_menu_state_t::p_visible, osd_menu_state_t::p_volume, var_Create, var_Get, var_Set, var_SetBool, vlc_custom_create, vlc_mutex_lock(), vlc_mutex_unlock(), vlc_object_attach, VLC_OBJECT_GENERIC, vlc_object_hold, VLC_VAR_ADDRESS, VLC_VAR_BOOL, and Y_PLANE.
| void __osd_MenuDelete | ( | vlc_object_t * | , | |
| osd_menu_t * | ||||
| ) |
Delete the osd_menu_t object.
This functions has to be called to release the associated module and memory for the osdmenu. After return of this function the pointer to osd_menu_t* is invalid.
References i_refcount, osd_GetMutex(), osd_ParserUnload(), vlc_value_t::p_address, vlc_object_t::p_libvlc, var_Destroy, var_Set, vlc_internals, vlc_mutex_lock(), vlc_mutex_unlock(), VLC_OBJECT, and vlc_object_release.
Referenced by __osd_MenuCreate().
| void __osd_MenuDown | ( | vlc_object_t * | ) |
OSD menu item below.
Select the next OSD menu item below the current item to be highlighted. Note: The actual position on screen of the menu item is determined by the OSD menu configuration file.
References osd_button_t::b_range, config_GetInt, osd_state_t::i_height, vlc_value_t::i_int, osd_state_t::i_width, osd_button_t::i_x, osd_button_t::i_y, msg_Dbg, msg_Err, OSD_BUTTON_SELECT, osd_Find(), osd_GetMutex(), osd_isVisible(), osd_SetKeyPressed(), osd_SetMenuUpdate(), osd_StateChange(), osd_UpdateState(), osd_button_t::p_current_state, osd_button_t::p_down, osd_menu_t::p_libvlc, osd_state_t::p_pic, osd_state_t::p_prev, osd_menu_t::p_state, osd_menu_state_t::p_visible, osd_button_t::psz_action, osd_button_t::psz_action_down, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_OBJECT.
Referenced by __osd_MenuActivate().
| void __osd_MenuHide | ( | vlc_object_t * | ) |
Hide the OSD menu.
Stop showing the OSD menu on the video output or mux it into the stream.
References osd_menu_state_t::i_x, osd_menu_state_t::i_y, msg_Dbg, msg_Err, osd_Find(), osd_GetMutex(), osd_SetMenuUpdate(), osd_UpdateState(), osd_menu_t::p_state, vlc_mutex_lock(), and vlc_mutex_unlock().
| void __osd_MenuNext | ( | vlc_object_t * | ) |
Next OSD menu item.
Select the next OSD menu item to be highlighted. Note: The actual position on screen of the menu item is determined by the OSD menu configuration file.
References osd_button_t::b_range, osd_state_t::i_height, osd_state_t::i_width, osd_button_t::i_x, osd_button_t::i_y, msg_Dbg, msg_Err, OSD_BUTTON_SELECT, OSD_BUTTON_UNSELECT, osd_Find(), osd_GetMutex(), osd_isVisible(), osd_SetMenuUpdate(), osd_StateChange(), osd_UpdateState(), osd_menu_t::p_button, osd_button_t::p_current_state, osd_button_t::p_next, osd_state_t::p_pic, osd_menu_t::p_state, osd_menu_state_t::p_visible, osd_button_t::psz_action, vlc_mutex_lock(), and vlc_mutex_unlock().
| void __osd_MenuPrev | ( | vlc_object_t * | ) |
Previous OSD menu item.
Select the previous OSD menu item to be highlighted. Note: The actual position on screen of the menu item is determined by the OSD menu configuration file.
References osd_button_t::b_range, osd_state_t::i_height, osd_state_t::i_width, osd_button_t::i_x, osd_button_t::i_y, msg_Dbg, msg_Err, OSD_BUTTON_SELECT, OSD_BUTTON_UNSELECT, osd_Find(), osd_GetMutex(), osd_isVisible(), osd_SetMenuUpdate(), osd_StateChange(), osd_UpdateState(), osd_button_t::p_current_state, osd_menu_t::p_last_button, osd_state_t::p_pic, osd_button_t::p_prev, osd_menu_t::p_state, osd_menu_state_t::p_visible, osd_button_t::psz_action, vlc_mutex_lock(), and vlc_mutex_unlock().
| void __osd_MenuShow | ( | vlc_object_t * | ) |
Show the OSD menu.
Show the OSD menu on the video output or mux it into the stream. Every change to the OSD menu will now be visible in the output. An output can be a video output window or a stream (
References osd_button_t::b_range, osd_state_t::i_height, osd_state_t::i_width, osd_button_t::i_x, osd_button_t::i_y, msg_Dbg, msg_Err, OSD_BUTTON_SELECT, OSD_BUTTON_UNSELECT, osd_Find(), osd_GetMutex(), osd_SetMenuUpdate(), osd_SetMenuVisible(), osd_StateChange(), osd_UpdateState(), osd_menu_t::p_button, osd_button_t::p_current_state, osd_state_t::p_pic, osd_menu_t::p_state, osd_menu_state_t::p_visible, vlc_mutex_lock(), and vlc_mutex_unlock().
| void __osd_MenuUp | ( | vlc_object_t * | ) |
OSD menu item above.
Select the OSD menu item above the current item to be highlighted. Note: The actual position on screen of the menu item is determined by the OSD menu configuration file.
References osd_button_t::b_range, config_GetInt, osd_state_t::i_height, vlc_value_t::i_int, osd_state_t::i_width, osd_button_t::i_x, osd_button_t::i_y, msg_Dbg, msg_Err, OSD_BUTTON_SELECT, osd_Find(), osd_GetMutex(), osd_isVisible(), osd_SetKeyPressed(), osd_SetMenuUpdate(), osd_StateChange(), osd_UpdateState(), osd_button_t::p_current_state, osd_menu_t::p_libvlc, osd_state_t::p_next, osd_state_t::p_pic, osd_menu_t::p_state, osd_button_t::p_up, osd_menu_state_t::p_visible, osd_button_t::psz_action, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_OBJECT.
Referenced by __osd_MenuActivate().
| void __osd_Volume | ( | vlc_object_t * | p_this | ) |
Display the audio volume bitmap.
Display the correct audio volume bitmap that corresponds to the current Audio Volume setting.
Display the audio volume bitmap.
The OSD Menu audio volume bar is updated to reflect the new audio volume. Call this function when the audio volume is updated outside the OSD menu command "menu up", "menu down" or "menu select".
References osd_button_t::b_range, config_GetInt, osd_state_t::i_height, osd_button_t::i_ranges, osd_state_t::i_width, osd_button_t::i_x, osd_button_t::i_y, msg_Err, osd_Find(), osd_GetMutex(), osd_SetMenuUpdate(), osd_SetMenuVisible(), osd_UpdateState(), osd_VolumeStateChange(), osd_VolumeStep(), osd_button_t::p_current_state, osd_state_t::p_pic, osd_menu_t::p_state, osd_button_t::p_states, osd_menu_state_t::p_visible, osd_menu_state_t::p_volume, vlc_mutex_lock(), and vlc_mutex_unlock().
| static bool osd_GetKeyPressed | ( | osd_menu_t * | p_osd | ) | [inline, static] |
Get the last key press received by the OSD Menu.
Returns 0 when no key has been pressed or the value of the key pressed.
References vlc_value_t::i_int.
| static const osd_menu_state_t* osd_GetMenuState | ( | osd_menu_t * | p_osd | ) | [inline, static] |
Retrieve a non modifyable pointer to the OSD Menu state.
References osd_menu_state_t::b_update, and osd_menu_t::p_state.
| int osd_Icon | ( | vlc_object_t * | , | |
| spu_t * | , | |||
| int | , | |||
| int | , | |||
| int | , | |||
| int | , | |||
| int | , | |||
| short | ||||
| ) |
References CreatePicture(), DrawRect(), DrawTriangle(), i, i_height, osd_CreateWidget(), OSD_MUTE_ICON, OSD_PAUSE_ICON, OSD_PLAY_ICON, OSD_SPEAKER_ICON, subpicture_region_t::p_picture, subpicture_t::p_region, spu_DisplaySubpicture(), STYLE_FILLED, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by vout_OSDIcon().
| void osd_Message | ( | spu_t * | p_spu, | |
| int | i_channel, | |||
| char * | psz_format, | |||
| ... | ||||
| ) |
Write an informative message at the default location, for the default duration and only if the OSD option is enabled.
| p_caller | The object that called the function. | |
| i_channel | Subpicture channel | |
| psz_format | printf style formatting |
References OSD_ALIGN_RIGHT, OSD_ALIGN_TOP, osd_ShowTextRelative(), and vasprintf().
| static void osd_SetKeyPressed | ( | vlc_object_t * | p_this, | |
| int | i_value | |||
| ) | [inline, static] |
Set the key pressed to a value.
Assign a new key value to the last key pressed on the OSD Menu.
Referenced by __osd_MenuActivate(), __osd_MenuDown(), and __osd_MenuUp().
| static void osd_SetMenuUpdate | ( | osd_menu_t * | p_osd, | |
| bool | b_value | |||
| ) | [inline, static] |
Update the OSD Menu update flag.
If the OSD Menu should be updated then set the update flag to true, else to false.
Referenced by __osd_ButtonSelect(), __osd_MenuActivate(), __osd_MenuDown(), __osd_MenuHide(), __osd_MenuNext(), __osd_MenuPrev(), __osd_MenuShow(), __osd_MenuUp(), and __osd_Volume().
| static void osd_SetMenuVisible | ( | osd_menu_t * | p_osd, | |
| bool | b_value | |||
| ) | [inline, static] |
Update the OSD Menu visibility flag.
true means OSD Menu should be shown. false means OSD Menu should not be shown.
Referenced by __osd_MenuActivate(), __osd_MenuShow(), and __osd_Volume().
| int osd_ShowTextAbsolute | ( | spu_t * | p_spu_channel, | |
| int | i_channel, | |||
| const char * | psz_string, | |||
| const text_style_t * | p_style, | |||
| int | i_flags, | |||
| int | i_hmargin, | |||
| int | i_vmargin, | |||
| mtime_t | i_start, | |||
| mtime_t | i_stop | |||
| ) |
Show text on the video from a given start date to a given end date.
| p_spu | pointer to the subpicture queue the text is to be showed on | |
| i_channel | Subpicture channel | |
| psz_string | The text to be shown | |
| p_style | Pointer to a struct with text style info (it is duplicated) | |
| i_flags | flags for alignment and such | |
| i_hmargin | horizontal margin in pixels | |
| i_vmargin | vertical margin in pixels | |
| i_start | the time when this string is to appear on the video | |
| i_stop | the time when this string should stop to be displayed if this is 0 the string will be shown untill the next string is about to be shown |
References subpicture_t::b_absolute, subpicture_t::b_ephemer, subpicture_region_t::i_align, video_format_t::i_aspect, subpicture_t::i_channel, video_format_t::i_chroma, video_format_t::i_height, subpicture_t::i_start, subpicture_t::i_stop, video_format_t::i_width, subpicture_region_t::i_x, video_format_t::i_x_offset, subpicture_region_t::i_y, video_format_t::i_y_offset, msg_Err, subpicture_t::p_region, subpicture_region_t::psz_text, spu_DisplaySubpicture(), strdup(), SUBPICTURE_ALIGN_MASK, subpicture_Delete(), subpicture_New(), subpicture_region_New(), VLC_CODEC_TEXT, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by mediacontrol_showtext(), and osd_ShowTextRelative().
| int osd_ShowTextRelative | ( | spu_t * | p_spu, | |
| int | i_channel, | |||
| const char * | psz_string, | |||
| const text_style_t * | p_style, | |||
| int | i_flags, | |||
| int | i_hmargin, | |||
| int | i_vmargin, | |||
| mtime_t | i_duration | |||
| ) |
Textual feedback.
Functions that provide the textual feedback on the OSD. They are shown on hotkey commands. The feedback is also part of the osd_button_t object. The types are declared in the include file include/vlc_osd.h
| p_spu | pointer to the subpicture queue the text is to be showed on | |
| i_channel | Subpicture channel | |
| psz_string | The text to be shown | |
| p_style | Pointer to a struct with text style info (it is duplicated) | |
| i_flags | flags for alignment and such | |
| i_hmargin | horizontal margin in pixels | |
| i_vmargin | vertical margin in pixels | |
| i_duration | Amount of time the text is to be shown. |
References mdate(), and osd_ShowTextAbsolute().
Referenced by osd_Message().
| int osd_Slider | ( | vlc_object_t * | , | |
| spu_t * | , | |||
| int | , | |||
| int | , | |||
| int | , | |||
| int | , | |||
| int | , | |||
| int | , | |||
| short | ||||
| ) |
Default feedback images.
Functions that provide the default OSD feedback images on hotkey commands. These feedback images are also part of the osd_button_t object. The types are declared in the include file include/vlc_osd.h
References CreatePicture(), DrawRect(), i_height, osd_CreateWidget(), OSD_HOR_SLIDER, OSD_VERT_SLIDER, spu_DisplaySubpicture(), STYLE_EMPTY, STYLE_FILLED, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by vout_OSDSlider().
| text_style_t* text_style_Copy | ( | text_style_t * | , | |
| const text_style_t * | ||||
| ) |
Copy a text style into another.
References text_style_t::psz_fontname, and strdup().
Referenced by ParseUSFHeaderTags(), and text_style_Duplicate().
| void text_style_Delete | ( | text_style_t * | ) |
Delete a text style created by text_style_New or text_style_Duplicate.
References text_style_t::psz_fontname.
Referenced by Create(), CreateFilter(), Destroy(), DestroyFilter(), OverlayDestroy(), RenderClear(), and subpicture_region_Delete().
| text_style_t* text_style_Duplicate | ( | const text_style_t * | ) |
Duplicate a text style.
References p_dst, and text_style_Copy().
Referenced by CreateTextRegion(), Filter(), ParseSSAString(), RenderText(), and vout_ShowTextAbsolute().
| text_style_t* text_style_New | ( | void | ) |
Create a default text style.
References text_style_t::i_background_alpha, text_style_t::i_background_color, text_style_t::i_font_alpha, text_style_t::i_font_color, text_style_t::i_font_size, text_style_t::i_karaoke_background_alpha, text_style_t::i_karaoke_background_color, text_style_t::i_outline_alpha, text_style_t::i_outline_color, text_style_t::i_outline_width, text_style_t::i_shadow_alpha, text_style_t::i_shadow_color, text_style_t::i_shadow_width, text_style_t::i_spacing, text_style_t::i_style_flags, text_style_t::psz_fontname, and STYLE_OUTLINE.
Referenced by Create(), CreateFilter(), OverlayCreate(), and RenderClear().
1.5.6