Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

macosx.m

00001 /*****************************************************************************
00002  * macosx.m: Mac OS X module for vlc
00003  *****************************************************************************
00004  * Copyright (C) 2001-2005 the VideoLAN team
00005  * $Id: macosx.m 12504 2005-09-09 21:19:15Z hartman $
00006  *
00007  * Authors: Colin Delacroix <[email protected]>
00008  *          Eugenio Jarosiewicz <[email protected]>
00009  *          Florian G. Pflug <[email protected]>
00010  *          Jon Lech Johansen <[email protected]>
00011  *
00012  * This program is free software; you can redistribute it and/or modify
00013  * it under the terms of the GNU General Public License as published by
00014  * the Free Software Foundation; either version 2 of the License, or
00015  * (at your option) any later version.
00016  * 
00017  * This program is distributed in the hope that it will be useful,
00018  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00020  * GNU General Public License for more details.
00021  *
00022  * You should have received a copy of the GNU General Public License
00023  * along with this program; if not, write to the Free Software
00024  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
00025  *****************************************************************************/
00026 
00027 /*****************************************************************************
00028  * Preamble
00029  *****************************************************************************/
00030 #include <stdlib.h>                                      /* malloc(), free() */
00031 #include <string.h>
00032 
00033 #include <vlc/vlc.h>
00034 
00035 /*****************************************************************************
00036  * External prototypes
00037  *****************************************************************************/
00038 int  E_(OpenIntf)     ( vlc_object_t * );
00039 void E_(CloseIntf)    ( vlc_object_t * );
00040 
00041 int  E_(OpenVideoQT)  ( vlc_object_t * );
00042 void E_(CloseVideoQT) ( vlc_object_t * );
00043 
00044 int  E_(OpenVideoGL)  ( vlc_object_t * );
00045 void E_(CloseVideoGL) ( vlc_object_t * );
00046 
00047 /*****************************************************************************
00048  * Module descriptor
00049  *****************************************************************************/
00050 #define VDEV_TEXT N_("Video device")
00051 #define VDEV_LONGTEXT N_("Choose a number corresponding to " \
00052     "a screen in you video device selection menu and this screen " \
00053     "will be used by default as the screen for 'fullscreen'.")
00054 
00055 #define OPAQUENESS_TEXT N_("Opaqueness")
00056 #define OPAQUENESS_LONGTEXT N_( \
00057     "Set the transparency of the video output. 1 is non-transparent (default) " \
00058     "0 is fully transparent.")
00059     
00060 #define STRETCH_TEXT N_("Stretch Aspect Ratio")
00061 #define STRETCH_LONGTEXT N_("Instead of keeping the aspect ratio " \
00062         "of the movie when resizing the video, stretch the video " \
00063         "to fill the entire window." )
00064 
00065 #define FILL_TEXT N_("Fill fullscreen")
00066 #define FILL_LONGTEXT N_("In fullscreen mode, crop the picture if " \
00067         "necessary in order to fill the screen without black " \
00068         "borders (OpenGL only)." )
00069         
00070 #define BACKGROUND_TEXT N_("Use as Desktop Background")
00071 #define BACKGROUND_LONGTEXT N_("Use the video as the Desktop Background " \
00072         "of the Finder. Desktop icons cannot be interacted with in this mode." )
00073 
00074 vlc_module_begin();
00075     set_description( _("Mac OS X interface") );
00076     set_capability( "interface", 100 );
00077     set_callbacks( E_(OpenIntf), E_(CloseIntf) );
00078     set_category( CAT_INTERFACE );
00079     set_subcategory( SUBCAT_INTERFACE_GENERAL );
00080     add_submodule();
00081         set_description( _("Quartz video") );
00082         set_capability( "video output", 100 );
00083         set_category( CAT_VIDEO);
00084         set_subcategory( SUBCAT_VIDEO_VOUT );
00085         set_callbacks( E_(OpenVideoQT), E_(CloseVideoQT) );
00086         add_integer( "macosx-vdev", 0, NULL, VDEV_TEXT, VDEV_LONGTEXT,
00087                      VLC_FALSE );
00088         add_bool( "macosx-stretch", 0, NULL, STRETCH_TEXT, STRETCH_LONGTEXT,
00089                      VLC_FALSE );
00090         add_float_with_range( "macosx-opaqueness", 1, 0, 1, NULL,
00091                 OPAQUENESS_TEXT, OPAQUENESS_LONGTEXT, VLC_TRUE );
00092         add_bool( "macosx-fill", 0, NULL, FILL_TEXT, FILL_LONGTEXT,
00093                   VLC_TRUE );
00094         add_bool( "macosx-background", 0, NULL, BACKGROUND_TEXT, BACKGROUND_LONGTEXT,
00095                      VLC_FALSE );
00096     add_submodule();
00097         set_description( "Mac OS X OpenGL" );
00098         set_capability( "opengl provider", 100 );
00099         set_category( CAT_VIDEO);
00100         set_subcategory( SUBCAT_VIDEO_VOUT );
00101         set_callbacks( E_(OpenVideoGL), E_(CloseVideoGL) );
00102 vlc_module_end();
00103 

Generated on Tue Dec 20 10:14:38 2005 for vlc-0.8.4a by  doxygen 1.4.2