|
cocos2d for iPhone 1.0.0
2D engine for iOS and OS X
|
00001 /* 00002 * cocos2d for iPhone: http://www.cocos2d-iphone.org 00003 * 00004 * Copyright (c) 2010 Ricardo Quesada 00005 * Copyright (c) 2011 Zynga Inc. 00006 * 00007 * Permission is hereby granted, free of charge, to any person obtaining a copy 00008 * of this software and associated documentation files (the "Software"), to deal 00009 * in the Software without restriction, including without limitation the rights 00010 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00011 * copies of the Software, and to permit persons to whom the Software is 00012 * furnished to do so, subject to the following conditions: 00013 * 00014 * The above copyright notice and this permission notice shall be included in 00015 * all copies or substantial portions of the Software. 00016 * 00017 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00018 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00019 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00020 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00021 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 00022 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 00023 * THE SOFTWARE. 00024 */ 00025 00026 // Only compile this code on Mac. These files should not be included on your iOS project. 00027 // But in case they are included, it won't be compiled. 00028 #import <Availability.h> 00029 #ifdef __IPHONE_OS_VERSION_MAX_ALLOWED 00030 #elif defined(__MAC_OS_X_VERSION_MAX_ALLOWED) 00031 00032 #import <Cocoa/Cocoa.h> 00033 00034 #import "../../ccConfig.h" 00035 00036 //PROTOCOLS: 00037 00038 @protocol MacEventDelegate <NSObject> 00039 // Mouse 00040 - (void)mouseDown:(NSEvent *)theEvent; 00041 - (void)mouseUp:(NSEvent *)theEvent; 00042 - (void)mouseMoved:(NSEvent *)theEvent; 00043 - (void)mouseDragged:(NSEvent *)theEvent; 00044 - (void)rightMouseDown:(NSEvent*)event; 00045 - (void)rightMouseDragged:(NSEvent*)event; 00046 - (void)rightMouseUp:(NSEvent*)event; 00047 - (void)otherMouseDown:(NSEvent*)event; 00048 - (void)otherMouseDragged:(NSEvent*)event; 00049 - (void)otherMouseUp:(NSEvent*)event; 00050 - (void)scrollWheel:(NSEvent *)theEvent; 00051 - (void)mouseEntered:(NSEvent *)theEvent; 00052 - (void)mouseExited:(NSEvent *)theEvent; 00053 00054 00055 // Keyboard 00056 - (void)keyDown:(NSEvent *)theEvent; 00057 - (void)keyUp:(NSEvent *)theEvent; 00058 - (void)flagsChanged:(NSEvent *)theEvent; 00059 00060 // Touches 00061 - (void)touchesBeganWithEvent:(NSEvent *)event; 00062 - (void)touchesMovedWithEvent:(NSEvent *)event; 00063 - (void)touchesEndedWithEvent:(NSEvent *)event; 00064 - (void)touchesCancelledWithEvent:(NSEvent *)event; 00065 00066 #if CC_DIRECTOR_MAC_USE_DISPLAY_LINK_THREAD 00067 - (void)queueEvent:(NSEvent*)event selector:(SEL)selector; 00068 #endif 00069 00070 @end 00071 00076 @interface MacGLView : NSOpenGLView { 00077 id<MacEventDelegate> eventDelegate_; 00078 } 00079 00080 @property (nonatomic, readwrite, assign) id<MacEventDelegate> eventDelegate; 00081 00082 // initializes the MacGLView with a frame rect and an OpenGL context 00083 - (id) initWithFrame:(NSRect)frameRect shareContext:(NSOpenGLContext*)context; 00084 00085 // private 00086 +(void) load_; 00087 @end 00088 00089 #endif // __MAC_OS_X_VERSION_MAX_ALLOWED