/*****************************************************************************
* vout.h: MacOS X interface module
*****************************************************************************
- * Copyright (C) 2001-2006 the VideoLAN team
+ * Copyright (C) 2001-2007 the VideoLAN team
* $Id$
*
* Authors: Colin Delacroix <colin@zoy.org>
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
- *
+ *
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
+#import "misc.h"
/*****************************************************************************
* VLCEmbeddedList interface
*****************************************************************************/
NSMutableArray * o_embedded_array;
}
-- (id)getEmbeddedVout;
+- (id)embeddedVout;
- (void)releaseEmbeddedVout: (id)o_vout_view;
- (void)addEmbeddedVout: (id)o_vout_view;
- (BOOL)windowContainsEmbedded: (id)o_window;
-- (id)getViewForWindow: (id)o_window;
+- (id)viewForWindow: (id)o_window;
@end
/*****************************************************************************
* VLCVoutView interface
*****************************************************************************/
+@protocol VLCVoutViewResetting
++ (void)resetVout: (vout_thread_t *)p_vout;
+@end
+
@interface VLCVoutView : NSView
{
vout_thread_t * p_vout;
- NSView * o_view;
NSRect * s_frame;
+ NSView <VLCVoutViewResetting> * o_view;
+
vout_thread_t * p_real_vout;
id o_window;
}
- (void)toggleFullscreen;
- (BOOL)isFullscreen;
- (void)snapshot;
-- (id)getWindow;
+- (id)voutWindow;
-+ (id)getVoutView: (vout_thread_t *)p_vout subView: (NSView *) view
- frame: (NSRect *) s_frame;
-+ (vout_thread_t *)getRealVout: (vout_thread_t *)p_vout;
++ (id)voutView: (vout_thread_t *)p_vout subView: (NSView *) view
+ frame: (NSRect *) s_frame;
++ (vout_thread_t *)realVout: (vout_thread_t *)p_vout;
+- (void)enterFullscreen;
+- (void)leaveFullscreen;
@end
/*****************************************************************************
@interface VLCEmbeddedVoutView : VLCVoutView
{
BOOL b_used;
+ id o_embeddedwindow;
}
- (void)setUsed: (BOOL)b_new_used;
@end
/*****************************************************************************
- * VLCDetachedEmbeddedView interface
+ * VLCVoutWindow interface
*****************************************************************************/
-
-@interface VLCDetachedEmbeddedVoutView : VLCEmbeddedVoutView
-{
-}
-
-@end
-
-/*****************************************************************************
- * VLCWindow interface
- *****************************************************************************/
-@interface VLCWindow : NSWindow
+@interface VLCVoutWindow : VLCWindow
{
vout_thread_t * p_vout;
VLCVoutView * o_view;
NSRect * s_frame;
- vout_thread_t * p_real_vout;
- vlc_bool_t b_init_ok;
- vlc_bool_t b_black;
- vlc_bool_t b_embedded;
+ bool b_init_ok;
+ BOOL fullscreen;
+ NSRect initialFrame;
}
- (id) initWithVout: (vout_thread_t *) p_vout view: (VLCVoutView *) view
frame: (NSRect *) s_frame;
-- (id)initReal: (id) sender;
-- (void)close;
-- (void)closeWindow;
-- (id)closeReal: (id) sender;
-- (id)getVoutView;
-
-- (BOOL)windowShouldClose:(id)sender;
-
+- (id)initMainThread: (id) sender;
+- (void)leaveFullscreen;
+- (void)enterFullscreen;
+- (id)voutView;
@end