]> git.sesse.net Git - vlc/blobdiff - modules/gui/macosx/vout.h
* More code cleanup for OSX vout. Man what a mess this is :)
[vlc] / modules / gui / macosx / vout.h
index 7319cf862c86a0ebe71560827ebf13ce303f9aa5..34e5369bdd677d0dad868c385523ad8edd8df3bc 100644 (file)
@@ -1,12 +1,13 @@
 /*****************************************************************************
- * vout.h: MacOS X interface plugin
+ * vout.h: MacOS X interface module
  *****************************************************************************
- * Copyright (C) 2001, 2002 VideoLAN
- * $Id: vout.h,v 1.8 2003/02/08 21:43:26 hartman Exp $
+ * Copyright (C) 2001-2003 VideoLAN
+ * $Id$
  *
  * Authors: Colin Delacroix <colin@zoy.org>
  *          Florian G. Pflug <fgp@phlo.org>
  *          Jon Lech Johansen <jon-vl@nanocrew.net>
+ *          Eric Petit <titer@m0k.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
 - (vout_thread_t *)getVout;
 
 - (void)scaleWindowWithFactor: (float)factor;
+- (void)toggleFloatOnTop;
 - (void)toggleFullscreen;
 - (BOOL)isFullscreen;
+- (void)updateTitle;
 
 - (BOOL)windowShouldClose:(id)sender;
 
 /*****************************************************************************
  * VLCView interface
  *****************************************************************************/
-@interface VLCView : NSQuickDrawView
+@interface VLCQTView : NSQuickDrawView
 {
 }
 
 @end
 
 /*****************************************************************************
- * VLCVout interface
+ * VLCView interface
  *****************************************************************************/
-@interface VLCVout : NSObject
+@interface VLCGLView : NSOpenGLView
 {
+    vout_thread_t   * p_vout;
+    int               i_effect;
+    unsigned long     pi_textures[2];
+    float             f_x;
+    float             f_y;
+    int               initDone;
 }
 
-- (void)createWindow:(NSValue *)o_value;
-- (void)destroyWindow:(NSValue *)o_value;
+- (id)   initWithFrame: (NSRect) frame vout: (vout_thread_t*) p_vout;
+- (void) initTextures;
+- (void) reloadTexture: (int) index;
+- (void) cleanUp;
 
 @end
 
  *****************************************************************************/
 struct vout_sys_t
 {
+    NSAutoreleasePool *o_pool;
     NSRect s_rect;
-    int b_pos_saved;
     VLCWindow * o_window;
+    VLCQTView * o_qtview;
 
+    int i_opengl;
+    int b_pos_saved;
+    
     vlc_bool_t b_mouse_moved;
-    vlc_bool_t b_mouse_pointer_visible;
     mtime_t i_time_mouse_last_moved;
 
 #ifdef __QUICKTIME__
@@ -85,4 +99,10 @@ struct vout_sys_t
     ImageDescriptionHandle h_img_descr;
     Ptr p_fullscreen_state;
 #endif
+
+    /* OpenGL */
+    VLCGLView * o_glview;
+    uint8_t   * p_data[2];
+    uint8_t   * p_data_orig[2];
+    int         i_cur_pic;
 };