#include <stdlib.h> /* free() */
#include <string.h>
+#include <vlc_common.h>
#include <vlc_keys.h>
#include "intf.h"
bool b_saved_frame;
NSRect s_frame;
bool b_got_frame;
- /* Mozilla plugin-related variables */
+
+ /* Mozilla plugin-related variables (not 64bit compatible) */
bool b_embedded;
+#ifndef __x86_64__
AGLContext agl_ctx;
AGLDrawable agl_drawable;
int i_offx, i_offy;
WindowGroupRef winGroup;
bool b_clipped_out;
Rect clipBounds, viewBounds;
+#endif
};
/*****************************************************************************
static int Lock ( vout_thread_t * p_vout );
static void Unlock ( vout_thread_t * p_vout );
+#ifndef __x86_64__
static int aglInit ( vout_thread_t * p_vout );
static void aglEnd ( vout_thread_t * p_vout );
static int aglManage ( vout_thread_t * p_vout );
static void aglSwap ( vout_thread_t * p_vout );
static int aglLock ( vout_thread_t * p_vout );
static void aglUnlock ( vout_thread_t * p_vout );
+#endif
int OpenVideoGL ( vlc_object_t * p_this )
{
vout_thread_t * p_vout = (vout_thread_t *) p_this;
- vlc_value_t value_drawable;
if( !CGDisplayUsesOpenGLAcceleration( kCGDirectMainDisplay ) )
{
memset( p_vout->p_sys, 0, sizeof( vout_sys_t ) );
- var_Get( p_vout->p_libvlc, "drawable-agl", &value_drawable );
- if( value_drawable.i_int != 0 )
+#ifndef __x86_64__
+ int i_drawable_agl;
+ i_drawable_agl = var_GetInteger( p_vout->p_libvlc, "drawable-agl" );
+ if( i_drawable_agl > 0 )
{
static const GLint ATTRIBUTES[] = {
AGL_WINDOW,
}
else
{
+#endif
NSAutoreleasePool *o_pool = [[NSAutoreleasePool alloc] init];
p_vout->p_sys->b_embedded = false;
p_vout->pf_swap = Swap;
p_vout->pf_lock = Lock;
p_vout->pf_unlock = Unlock;
+#ifndef __x86_64__
}
+#endif
p_vout->p_sys->b_got_frame = false;
return VLC_SUCCESS;
{
vout_thread_t * p_vout = (vout_thread_t *) p_this;
- msg_Dbg( p_this, "Closing" );
+#ifndef __x86_64__
if( p_vout->p_sys->b_embedded )
{
+ /* If the fullscreen window is still open, close it */
+ if( p_vout->b_fullscreen )
+ {
+ p_vout->i_changes |= VOUT_FULLSCREEN_CHANGE;
+ aglManage( p_vout );
+ var_SetBool( p_vout->p_parent, "fullscreen", false );
+ }
if( p_vout->p_sys->agl_ctx )
{
aglEnd( p_vout );
aglDestroyContext(p_vout->p_sys->agl_ctx);
}
}
- else if(VLCIntf && vlc_object_alive (VLCIntf))
+ else
+#endif
+ if(VLCIntf && vlc_object_alive (VLCIntf))
{
NSAutoreleasePool *o_pool = [[NSAutoreleasePool alloc] init];
p_vout->p_sys->s_frame.size =
[p_vout->p_sys->o_vout_view frame].size;
p_vout->p_sys->s_frame.origin =
- [[p_vout->p_sys->o_vout_view getWindow ]frame].origin;
+ [[p_vout->p_sys->o_vout_view voutWindow]frame].origin;
p_vout->p_sys->b_saved_frame = true;
}
* embedded AGL context implementation
*****************************************************************************/
+#ifndef __x86_64__
+
static void aglSetViewport( vout_thread_t *p_vout, Rect viewBounds, Rect clipBounds );
static void aglReshape( vout_thread_t * p_vout );
static OSStatus WindowEventHandler(EventHandlerCallRef nextHandler, EventRef event, void *userData);
if( !p_vout->p_sys->theWindow )
{
/* Create a window */
- WindowAttributes windowAttrs;
+ WindowAttributes windowAttrs;
windowAttrs = kWindowStandardDocumentAttributes
| kWindowStandardHandlerAttribute
}
}
+#endif