Mac OS X Porting - OpenGL transitions/NSOpenGLView
From Apache OpenOffice Wiki
What is important with NSOpenGLView :
Warning: this is objective C :-)
Instance method ( i.e. static ): defaultPixelFormat
other important information:
(id)initWithFrame:(NSRect)frameRect pixelFormat:(NSOpenGLPixelFormat*)format
=> the initWithFrame has two parameters, and thus cannot be confused with the initWithFrame from NSView
=> there is no draw:(NSRect)aFrameRect , just use the one inherited from NSView
To add an OpenGLView inside an NSView, simply (after created and correctly initialized both) do:
[myNSView addSubview:pOpenGLView]
More from NSOpenGLView.h ( from AppKit framework ):
@interface NSOpenGLView : NSView { @private NSOpenGLContext* _openGLContext; NSOpenGLPixelFormat* _pixelFormat; unsigned long _reserved1; unsigned long _reserved2; unsigned long _reserved3; } + (NSOpenGLPixelFormat*)defaultPixelFormat; - (id)initWithFrame:(NSRect)frameRect pixelFormat:(NSOpenGLPixelFormat*)format; - (void)setOpenGLContext:(NSOpenGLContext*)context; - (NSOpenGLContext*)openGLContext; - (void)clearGLContext; - (void)update; // moved or resized - (void)reshape; // scrolled, moved or resized - (void)setPixelFormat:(NSOpenGLPixelFormat*)pixelFormat; - (NSOpenGLPixelFormat*)pixelFormat; #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3 - (void)prepareOpenGL; #endif @end