]> git.sesse.net Git - vlc/blob - plugins/macosx/macosx_qt_common.h
6c7a37c446ab248eac02e360c019586058579b07
[vlc] / plugins / macosx / macosx_qt_common.h
1 /*****************************************************************************
2  * macosx.c : MacOS X plugin for vlc
3  *****************************************************************************
4  * Copyright (C) 2001 VideoLAN
5  * $Id: macosx_qt_common.h,v 1.1 2001/10/08 23:10:28 massiot Exp $
6  *
7  * Authors: Colin Delacroix <colin@zoy.org>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation; either version 2 of the License, or
12  * (at your option) any later version.
13  * 
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111, USA.
22  *****************************************************************************/
23
24 /*****************************************************************************
25  * Constants & more
26  *****************************************************************************/
27
28 #ifndef __CARBONPREFIX__
29     #define __CARBONPREFIX__
30
31     // Needed for carbonization
32     #define TARGET_API_MAC_CARBON 1
33
34     // For the pascal to C or C to pascal string conversions in carbon
35     #define OLDP2C 1
36 #endif
37
38 #include <Carbon/Carbon.h>
39 #include <QuickTime/QuickTime.h>
40 #include <CoreServices/CoreServices.h>
41 #include <QuickTime/QuickTime.h>
42 #include <ApplicationServices/ApplicationServices.h>
43
44
45 /*****************************************************************************
46  * Type declarations that unfortunately need to be known to both
47  * ...
48  * Kind of a hack due to the fact that on Mac OS, there is little difference 
49  * between the interface and the video output, and hence little separation
50  * between those elements.
51  *****************************************************************************/
52 extern main_t *p_main;
53
54 /*****************************************************************************
55  * vout_sys_t: MacOS X video output method descriptor
56  *****************************************************************************
57  * This structure is part of the video output thread descriptor.
58  * It describes the MacOS X specific properties of an output thread.
59  *****************************************************************************/
60 typedef struct vout_sys_s
61 {
62     ImageDescriptionHandle h_img_descr ;
63     ImageSequence i_seq ;   
64     unsigned int i_img_size ;
65     unsigned char *p_img ;
66 } vout_sys_t;
67
68 /*****************************************************************************
69  * intf_sys_t: description and status of the interface
70  *****************************************************************************/
71 typedef struct intf_sys_s
72 {
73     Ptr before_fullscreen ;
74     WindowRef p_window;
75     EventLoopTimerRef r_timer ;
76     
77     unsigned int b_active ;
78 } intf_sys_t;
79