00001 /* 00002 * cocos2d for iPhone: http://www.cocos2d-iphone.org 00003 * 00004 * Copyright (c) 2010 Ricardo Quesada 00005 * 00006 * Permission is hereby granted, free of charge, to any person obtaining a copy 00007 * of this software and associated documentation files (the "Software"), to deal 00008 * in the Software without restriction, including without limitation the rights 00009 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 00010 * copies of the Software, and to permit persons to whom the Software is 00011 * furnished to do so, subject to the following conditions: 00012 * 00013 * The above copyright notice and this permission notice shall be included in 00014 * all copies or substantial portions of the Software. 00015 * 00016 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 00017 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 00018 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 00019 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 00020 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 00021 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 00022 * THE SOFTWARE. 00023 */ 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 00030 #import <QuartzCore/CVDisplayLink.h> 00031 #import "../../CCDirector.h" 00032 00033 enum { 00035 kCCDirectorResize_NoScale, 00037 kCCDirectorResize_AutoScale, 00038 }; 00039 00040 @interface CCDirector (MacExtension) 00042 -(CGPoint) convertEventToGL:(NSEvent*)event; 00043 @end 00044 00048 @interface CCDirectorMac : CCDirector 00049 { 00050 BOOL isFullScreen_; 00051 int resizeMode_; 00052 CGPoint winOffset_; 00053 CGSize originalWinSize_; 00054 00055 MacGLView *fullScreenGLView_; 00056 NSWindow *fullScreenWindow_; 00057 00058 // cache 00059 MacGLView *windowGLView_; 00060 } 00061 00062 // whether or not the view is in fullscreen mode 00063 @property (nonatomic, readonly) BOOL isFullScreen; 00064 00065 // resize mode: with or without scaling 00066 @property (nonatomic, readwrite) int resizeMode; 00067 00069 - (void) setFullScreen:(BOOL)fullscreen; 00070 00075 - (CGPoint) convertToLogicalCoordinates:(CGPoint)coordinates; 00076 @end 00077 00078 00090 @interface CCDirectorDisplayLink : CCDirectorMac 00091 { 00092 CVDisplayLinkRef displayLink; 00093 } 00094 @end 00095