vlc_vout_osd.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * vlc_vout_osd.h: vout OSD
00003  *****************************************************************************
00004  * Copyright (C) 1999-2010 VLC authors and VideoLAN
00005  * Copyright (C) 2004-2005 M2X
00006  * $Id: 74d79379258cf0af1cdafcd45946c7b4cf23b01f $
00007  *
00008  * Authors: Jean-Paul Saman <jpsaman #_at_# m2x dot nl>
00009  *          Gildas Bazin <gbazin@videolan.org>
00010  *
00011  * This program is free software; you can redistribute it and/or modify it
00012  * under the terms of the GNU Lesser General Public License as published by
00013  * the Free Software Foundation; either version 2.1 of the License, or
00014  * (at your option) any later version.
00015  *
00016  * This program is distributed in the hope that it will be useful,
00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00019  * GNU Lesser General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU Lesser General Public License
00022  * along with this program; if not, write to the Free Software Foundation,
00023  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
00024  *****************************************************************************/
00025 
00026 #ifndef VLC_VOUT_OSD_H
00027 #define VLC_VOUT_OSD_H 1
00028 
00029 #include <vlc_spu.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C" {
00033 #endif
00034 
00035 /**
00036  * OSD menu position and picture type defines
00037  */
00038 enum
00039 {
00040     /* Icons */
00041     OSD_PLAY_ICON = 1,
00042     OSD_PAUSE_ICON,
00043     OSD_SPEAKER_ICON,
00044     OSD_MUTE_ICON,
00045     /* Sliders */
00046     OSD_HOR_SLIDER,
00047     OSD_VERT_SLIDER,
00048 };
00049 
00050 /**********************************************************************
00051  * Vout text and widget overlays
00052  **********************************************************************/
00053 VLC_API int vout_OSDEpg( vout_thread_t *, input_item_t * );
00054 
00055 /**
00056  * \brief Write an informative message if the OSD option is enabled.
00057  * \param vout The vout on which the message will be displayed
00058  * \param channel Subpicture channel
00059  * \param position Position of the text
00060  * \param duration Duration of the text being displayed
00061  * \param text Text to be displayed
00062  */
00063 VLC_API void vout_OSDText( vout_thread_t *vout, int channel, int position, mtime_t duration, const char *text );
00064 
00065 /**
00066  * \brief Write an informative message at the default location,
00067  *        for the default duration and only if the OSD option is enabled.
00068  * \param vout The vout on which the message will be displayed
00069  * \param channel Subpicture channel
00070  * \param format printf style formatting
00071  *
00072  * Provided for convenience.
00073  */
00074 VLC_API void vout_OSDMessage( vout_thread_t *, int, const char *, ... ) VLC_FORMAT( 3, 4 );
00075 
00076 /**
00077  * Display a slider on the video output.
00078  * \param p_this    The object that called the function.
00079  * \param i_channel Subpicture channel
00080  * \param i_postion Current position in the slider
00081  * \param i_type    Types are: OSD_HOR_SLIDER and OSD_VERT_SLIDER.
00082  */
00083 VLC_API void vout_OSDSlider( vout_thread_t *, int, int , short );
00084 
00085 /**
00086  * Display an Icon on the video output.
00087  * \param p_this    The object that called the function.
00088  * \param i_channel Subpicture channel
00089  * \param i_type    Types are: OSD_PLAY_ICON, OSD_PAUSE_ICON, OSD_SPEAKER_ICON, OSD_MUTE_ICON
00090  */
00091 VLC_API void vout_OSDIcon( vout_thread_t *, int, short );
00092 
00093 #ifdef __cplusplus
00094 }
00095 #endif
00096 
00097 #endif /* VLC_VOUT_OSD_H */
00098 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines