]> git.sesse.net Git - vlc/blobdiff - modules/gui/macosx/vout.h
* Apply changed made to the 0.8.5 branch to trunk.
[vlc] / modules / gui / macosx / vout.h
index ca5b2d8aeabaada393a5db544d3081c09028ebb3..373da7fba35025840f82f88340ff5964ad37e937 100644 (file)
@@ -8,6 +8,7 @@
  *          Florian G. Pflug <fgp@phlo.org>
  *          Jon Lech Johansen <jon-vl@nanocrew.net>
  *          Eric Petit <titer@m0k.org>
+ *          Benjamin Pracht <bigben at videolan dot org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  *****************************************************************************/
 
 /*****************************************************************************
- * VLCWindow interface
+ * VLCEmbeddedList interface
  *****************************************************************************/
-@interface VLCWindow : NSWindow
+@interface VLCEmbeddedList : NSObject
+{
+    NSMutableArray * o_embedded_array;
+}
+
+- (id)getEmbeddedVout;
+- (void)releaseEmbeddedVout: (id)o_vout_view;
+- (void)addEmbeddedVout: (id)o_vout_view;
+- (BOOL)windowContainsEmbedded: (id)o_window;
+- (id)getViewForWindow: (id)o_window;
+
+@end
+
+/*****************************************************************************
+ * VLCVoutView interface
+ *****************************************************************************/
+@interface VLCVoutView : NSView
 {
     vout_thread_t * p_vout;
     NSView        * o_view;
     NSRect        * s_frame;
 
     vout_thread_t * p_real_vout;
-    Ptr             p_fullscreen_state;
-    mtime_t         i_time_mouse_last_moved;
-    vlc_bool_t      b_init_ok;
+    id              o_window;
 }
-
-- (id) initWithVout: (vout_thread_t *) p_vout view: (NSView *) view
-                     frame: (NSRect *) s_frame;
-- (id) initReal: (id) sender;
-- (void) close;
-- (id)   closeReal: (id) sender;
-- (void)setOnTop:(BOOL)b_on_top;
-
-- (void)hideMouse:(BOOL)b_hide;
+- (BOOL)setVout: (vout_thread_t *) p_arg_vout subView: (NSView *) view
+                     frame: (NSRect *) s_arg_frame;
+- (void)closeVout;
 - (void)manage;
-
 - (void)scaleWindowWithFactor: (float)factor;
+- (void)setOnTop:(BOOL)b_on_top;
 - (void)toggleFloatOnTop;
 - (void)toggleFullscreen;
 - (BOOL)isFullscreen;
 - (void)snapshot;
+- (id)getWindow;
+
++ (id)getVoutView: (vout_thread_t *)p_vout subView: (NSView *) view
+                            frame: (NSRect *) s_frame;
++ (vout_thread_t *)getRealVout: (vout_thread_t *)p_vout;
+
+@end
+
+/*****************************************************************************
+ * VLCVoutDetachedView interface
+ *****************************************************************************/
+
+@interface VLCDetachedVoutView : VLCVoutView
+{
+    mtime_t i_time_mouse_last_moved;
+}
+
+- (void)hideMouse: (BOOL)b_hide;
+
+@end
+
+/*****************************************************************************
+ * VLCEmbeddedView interface
+ *****************************************************************************/
+
+@interface VLCEmbeddedVoutView : VLCVoutView
+{
+    BOOL b_used;
+}
+
+- (void)setUsed: (BOOL)b_new_used;
+- (BOOL)isUsed;
+
+@end
+
+/*****************************************************************************
+ * VLCWindow interface
+ *****************************************************************************/
+@interface VLCWindow : NSWindow
+{
+    vout_thread_t * p_vout;
+    VLCVoutView   * o_view;
+    NSRect        * s_frame;
+
+    vout_thread_t * p_real_vout;
+    Ptr             p_fullscreen_state;
+    vlc_bool_t      b_init_ok;
+}
+
+- (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;
 - (void)updateTitle;
 
 - (BOOL)windowShouldClose:(id)sender;