/*****************************************************************************
* voutgl.m: MacOS X OpenGL provider
*****************************************************************************
- * Copyright (C) 2001-2004 the VideoLAN team
+ * Copyright (C) 2001-2004, 2007 the VideoLAN team
* $Id$
*
* Authors: Colin Delacroix <colin@zoy.org>
*****************************************************************************/
#include <errno.h> /* ENOMEM */
#include <stdlib.h> /* free() */
-#include <string.h> /* strerror() */
+#include <string.h>
#include <vlc_keys.h>
vout_thread_t * p_vout;
}
-+ (void)resetVout: (vout_thread_t *)p_vout;
++ (void)resetVout: (vout_thread_t *) p_vout;
- (id) initWithVout: (vout_thread_t *) p_vout;
@end
NSAutoreleasePool * o_pool;
VLCGLView * o_glview;
VLCVoutView * o_vout_view;
- vlc_bool_t b_saved_frame;
+ bool b_saved_frame;
NSRect s_frame;
- vlc_bool_t b_got_frame;
+ bool b_got_frame;
/* Mozilla plugin-related variables */
- vlc_bool_t b_embedded;
+ bool b_embedded;
AGLContext agl_ctx;
AGLDrawable agl_drawable;
int i_offx, i_offy;
int i_width, i_height;
WindowRef theWindow;
WindowGroupRef winGroup;
- vlc_bool_t b_clipped_out;
+ bool b_clipped_out;
Rect clipBounds, viewBounds;
};
AGLPixelFormat pixFormat;
- p_vout->p_sys->b_embedded = VLC_TRUE;
+ p_vout->p_sys->b_embedded = true;
pixFormat = aglChoosePixelFormat(NULL, 0, ATTRIBUTES);
if( NULL == pixFormat )
{
NSAutoreleasePool *o_pool = [[NSAutoreleasePool alloc] init];
- p_vout->p_sys->b_embedded = VLC_FALSE;
+ p_vout->p_sys->b_embedded = false;
[VLCGLView performSelectorOnMainThread:@selector(initVout:) withObject:[NSValue valueWithPointer:p_vout] waitUntilDone:YES];
p_vout->pf_lock = Lock;
p_vout->pf_unlock = Unlock;
}
- p_vout->p_sys->b_got_frame = VLC_FALSE;
+ p_vout->p_sys->b_got_frame = false;
return VLC_SUCCESS;
}
{
aglDestroyContext(p_vout->p_sys->agl_ctx);
}
- else if(!VLCIntf->b_die)
+ else if(VLCIntf && !VLCIntf->b_die)
{
NSAutoreleasePool *o_pool = [[NSAutoreleasePool alloc] init];
*****************************************************************************/
static int Control( vout_thread_t *p_vout, int i_query, va_list args )
{
- vlc_bool_t b_arg;
+ bool b_arg;
switch( i_query )
{
case VOUT_SET_STAY_ON_TOP:
- b_arg = va_arg( args, vlc_bool_t );
+ b_arg = (bool) va_arg( args, int );
[p_vout->p_sys->o_vout_view setOnTop: b_arg];
return VLC_SUCCESS;
static void Swap( vout_thread_t * p_vout )
{
- p_vout->p_sys->b_got_frame = VLC_TRUE;
+ p_vout->p_sys->b_got_frame = true;
[[p_vout->p_sys->o_glview openGLContext] flushBuffer];
}
}
/* This function will reset the o_vout_view. It's useful to go fullscreen. */
-+ (void)resetVout:(NSData *)arg
++ (void)resetVout:(vout_thread_t *) p_vout
{
- vout_thread_t * p_vout = [arg pointerValue];
-
if( p_vout->b_fullscreen )
{
/* Save window size and position */
[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->b_saved_frame = VLC_TRUE;
+ p_vout->p_sys->b_saved_frame = true;
}
[p_vout->p_sys->o_vout_view closeVout];
/* Swap buffers only during the vertical retrace of the monitor.
http://developer.apple.com/documentation/GraphicsImaging/
Conceptual/OpenGL/chap5/chapter_5_section_44.html */
- long params[] = { 1 };
- CGLSetParameter( CGLGetCurrentContext(), kCGLCPSwapInterval,
- params );
+ GLint params[] = { 1 };
+ CGLSetParameter( CGLGetCurrentContext(), kCGLCPSwapInterval, params );
return self;
}
{
if( ! p_vout->p_sys->b_clipped_out )
{
- p_vout->p_sys->b_got_frame = VLC_TRUE;
+ p_vout->p_sys->b_got_frame = true;
aglSwapBuffers(p_vout->p_sys->agl_ctx);
}
else
{
vlc_value_t val;
- val.b_bool = VLC_FALSE;
+ val.b_bool = false;
var_Set((vout_thread_t *) p_vout->p_parent, "fullscreen", val);
}
else
{
vlc_value_t val;
- val.b_bool = VLC_TRUE;
+ val.b_bool = true;
var_Set( p_vout, "mouse-clicked", val );
var_Get( p_vout, "mouse-button-down", &val );
var_Set( p_vout, "mouse-y", val );
- val.b_bool = VLC_TRUE;
+ val.b_bool = true;
var_Set( p_vout, "mouse-moved", val );
break;
static int aglLock( vout_thread_t * p_vout )
{
-#ifdef __ppc__
- /*
- * before 10.4, we set the AGL context as current and
- * then we retrieve and use the matching CGL context
- */
- aglSetCurrentContext(p_vout->p_sys->agl_ctx);
- return kCGLNoError != CGLLockContext( CGLGetCurrentContext() );
-#else
- /* since 10.4, this is the safe way to get the underlying CGL context */
+ /* get the underlying CGL context */
CGLContextObj cglContext;
if( aglGetCGLContext(p_vout->p_sys->agl_ctx, (void**)&cglContext) )
{
}
}
return 1;
-#endif
}
static void aglUnlock( vout_thread_t * p_vout )
{
-#ifdef __ppc__
- /*
- * before 10.4, we assume that the AGL context is current.
- * therefore, we use the current CGL context
- */
- CGLUnlockContext( CGLGetCurrentContext() );
-#else
- /* since 10.4, this is the safe way to get the underlying CGL context */
+ /* get the underlying CGL context */
CGLContextObj cglContext;
if( aglGetCGLContext(p_vout->p_sys->agl_ctx, (void**)&cglContext) )
{
CGLUnlockContext( cglContext );
}
-#endif
}