modules/gui/minimal_macosx: Add a minimal_macosx interface and vout that is used...
[vlc.git] / modules / gui / minimal_macosx / voutgl.h
1 /*****************************************************************************
2  * voutgl.h: MacOS X OpenGL provider
3  *****************************************************************************
4  * Copyright (C) 2001-2006 the VideoLAN team
5  * $Id$
6  *
7  * Authors: Colin Delacroix <colin@zoy.org>
8  *          Florian G. Pflug <fgp@phlo.org>
9  *          Jon Lech Johansen <jon-vl@nanocrew.net>
10  *          Eric Petit <titer@m0k.org>
11  *          Benjamin Pracht <bigben at videolan dot org>
12  *
13  * This program is free software; you can redistribute it and/or modify
14  * it under the terms of the GNU General Public License as published by
15  * the Free Software Foundation; either version 2 of the License, or
16  * (at your option) any later version.
17  * 
18  * This program is distributed in the hope that it will be useful,
19  * but WITHOUT ANY WARRANTY; without even the implied warranty of
20  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21  * GNU General Public License for more details.
22  *
23  * You should have received a copy of the GNU General Public License
24  * along with this program; if not, write to the Free Software
25  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
26  *****************************************************************************/
27
28 #import <Cocoa/Cocoa.h>
29 #import "VLCOpenGLVoutView.h"
30 #import "voutagl.h"
31
32 struct vout_sys_t
33 {
34     NSAutoreleasePool * o_pool;
35     VLCOpenGLVoutView * o_glview;
36     vlc_bool_t          b_saved_frame;
37     NSRect              s_frame;
38     vlc_bool_t          b_got_frame;
39
40     /* Mozilla plugin-related variables */
41     vlc_bool_t          b_embedded;
42     AGLContext          agl_ctx;
43     AGLDrawable         agl_drawable;
44     int                 i_offx, i_offy;
45     int                 i_width, i_height;
46     WindowRef           theWindow;
47     WindowGroupRef      winGroup;
48     vlc_bool_t          b_clipped_out;
49     Rect                clipBounds, viewBounds;             
50 };