// File: AppDelegate.h // // Abstract: Tells the application to quit once the main window closes #import @interface AppDelegate : NSObject { } - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)theApplication; @end // // File: BasicOpenGLView.m // // Abstract: Basic OpenGL View with Renderer information // // Version: 1.1 - minor fixes. // 1.0 - Original release. // // // Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple Inc. ("Apple") // in consideration of your agreement to the following terms, and your use, // installation, modification or redistribution of this Apple software // constitutes acceptance of these terms. If you do not agree with these // terms, please do not use, install, modify or redistribute this Apple // software. // // In consideration of your agreement to abide by the following terms, and // subject to these terms, Apple grants you a personal, non - exclusive // license, under Apple's copyrights in this original Apple software ( the // "Apple Software" ), to use, reproduce, modify and redistribute the Apple // Software, with or without modifications, in source and / or binary forms; // provided that if you redistribute the Apple Software in its entirety and // without modifications, you must retain this notice and the following text // and disclaimers in all such redistributions of the Apple Software. Neither // the name, trademarks, service marks or logos of Apple Inc. may be used to // endorse or promote products derived from the Apple Software without specific // prior written permission from Apple. Except as expressly stated in this // notice, no other rights or licenses, express or implied, are granted by // Apple herein, including but not limited to any patent rights that may be // infringed by your derivative works or by other works in which the Apple // Software may be incorporated. // // The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO // WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED // WARRANTIES OF NON - INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A // PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION // ALONE OR IN COMBINATION WITH YOUR PRODUCTS. // // IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR // CONSEQUENTIAL DAMAGES ( INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS // INTERRUPTION ) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION // AND / OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER // UNDER THEORY OF CONTRACT, TORT ( INCLUDING NEGLIGENCE ), STRICT LIABILITY OR // OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // // Copyright ( C ) 2003-2007 Apple Inc. All Rights Reserved. // #import #import #import #import "GLString.h" @interface BasicOpenGLView : NSOpenGLView { // string attributes NSMutableDictionary * stanStringAttrib; // string textures GLString * helpStringTex; GLString * infoStringTex; GLString * msgStringTex; CFAbsoluteTime msgTime; // message posting time for expiration NSTimer* timer; bool fAnimate; IBOutlet NSMenuItem * animateMenuItem; bool fInfo; IBOutlet NSMenuItem * infoMenuItem; bool fDrawHelp; CFAbsoluteTime time; } + (NSOpenGLPixelFormat*) basicPixelFormat; - (void) updateProjection; - (void) updateModelView; - (void) resizeGL; - (void) resetCamera; - (void) updateObjectRotationForTimeDelta:(CFAbsoluteTime)deltaTime; - (void)animationTimer:(NSTimer *)timer; - (void) createHelpString; - (void) createMessageString; - (void) updateInfoString; - (void) updateCameraString; - (void) drawInfo; -(IBAction) animate: (id) sender; -(IBAction) info: (id) sender; - (void)keyDown:(NSEvent *)theEvent; - (void) mouseDown:(NSEvent *)theEvent; - (void) rightMouseDown:(NSEvent *)theEvent; - (void) otherMouseDown:(NSEvent *)theEvent; - (void) mouseUp:(NSEvent *)theEvent; - (void) rightMouseUp:(NSEvent *)theEvent; - (void) otherMouseUp:(NSEvent *)theEvent; - (void) mouseDragged:(NSEvent *)theEvent; - (void) scrollWheel:(NSEvent *)theEvent; - (void) rightMouseDragged:(NSEvent *)theEvent; - (void) otherMouseDragged:(NSEvent *)theEvent; - (void) drawRect:(NSRect)rect; - (void) prepareOpenGL; - (void) update; // moved or resized - (BOOL) acceptsFirstResponder; - (BOOL) becomeFirstResponder; - (BOOL) resignFirstResponder; - (id) initWithFrame: (NSRect) frameRect; - (void) awakeFromNib; @end