diff options
author | Gerard Ziemski <[email protected]> | 2003-10-12 06:31:59 +0000 |
---|---|---|
committer | Gerard Ziemski <[email protected]> | 2003-10-12 06:31:59 +0000 |
commit | fbdf8c337805b02385bf43b65aad93c20a2e3ad2 (patch) | |
tree | ae1575e8291ee93c85a1c00e6cbb5e00a0c59255 /src/native/jogl/ContextUpdater.h | |
parent | 30664570919282ddef3d0496251a3bfb8558b298 (diff) |
Implemented PBuffers (available in >= Panther). Reimplemented window resizing using update listener
git-svn-id: file:///usr/local/projects/SUN/JOGL/git-svn/svn-server-sync/jogl/trunk@67 232f8b59-042b-4e1e-8c03-345bb8c30851
Diffstat (limited to 'src/native/jogl/ContextUpdater.h')
-rw-r--r-- | src/native/jogl/ContextUpdater.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/native/jogl/ContextUpdater.h b/src/native/jogl/ContextUpdater.h new file mode 100644 index 000000000..e8b757fac --- /dev/null +++ b/src/native/jogl/ContextUpdater.h @@ -0,0 +1,40 @@ +/* + +Listens to NSViewGlobalFrameDidChangeNotification + +This notification is sent whenever an NSView that has an attached NSSurface changes size or changes screens (thus potentially changing graphics hardware drivers.) + +*/ + +#import <Cocoa/Cocoa.h> +#import <Foundation/Foundation.h> +#import <AppKit/NSView.h> +#import <OpenGL/OpenGL.h> +#import <OpenGL/gl.h> + +//#define DEBUG_GL_LOCKS + +#ifdef DEBUG_GL_LOCKS + #define LOCK_GL(func, line) [ContextUpdater lockInFunction:func atLine:line]; + #define UNLOCK_GL(func, line) [ContextUpdater unlockInFunction:func atLine:line]; +#else + #define LOCK_GL(func, line) [ContextUpdater lock]; + #define UNLOCK_GL(func, line) [ContextUpdater unlock]; +#endif + +// gznote: OpenGL NOT thread safe - need to sync on update and paints + +@interface ContextUpdater : NSObject +{ +} + ++ (void) lock; ++ (void) lockInFunction:(char *)func atLine:(int)line; ++ (void) unlock; ++ (void) unlockInFunction:(char *)func atLine:(int)line; + +- (void) registerFor:(NSOpenGLContext *)context with: (NSView *)window; + +- (void) update:(NSNotification *)notification; + +@end |