16 #define GL_SILENCE_DEPRECATION
20 #include "C4Version.h"
27 #import <AppKit/AppKit.h>
33 #define ctrler (this->objectiveCObject<C4WindowController>())
42 #ifndef WITH_QT_EDITOR
49 return @"EditorGUIWindow";
53 return @"EditorViewport";
72 setObjectiveCObject(controller);
73 [NSBundle loadNibNamed:windowXibNameForWindowKind(windowKind) owner:controller];
74 [controller setStdWindow:
this];
78 [controller.window setCollectionBehavior:[controller.window collectionBehavior] | NSWindowCollectionBehaviorFullScreenPrimary];
94 [controller setStdWindow:NULL];
96 setObjectiveCObject(nil);
102 [ctrler setWindowFrameAutosaveName:[NSString stringWithFormat:
@"%s_%s", szWindowName, szSubKey]];
110 [ctrler.window orderOut:ctrler];
112 [ctrler.window orderFront:ctrler];
119 if ((controller = ctrler) && controller.window)
120 [controller.window setTitle:[NSString stringWithUTF8String:szToTitle ? szToTitle :
""]];
129 pRect->
Wdt = ActualFullscreenX;
130 pRect->
Hgt = ActualFullscreenY;
136 NSRect r = [view frame];
139 pRect->
Wdt = r.size.width;
140 pRect->
Hgt = r.size.height;
148 [controller setContentSize:NSMakeSize(cx, cy)];
158 [ctrler.openGLView display];
166 C4KeyCode K_SHIFT_L = 56 + CocoaKeycodeOffset;
167 C4KeyCode K_SHIFT_R = 60 + CocoaKeycodeOffset;
168 C4KeyCode K_CONTROL_L = 0x3b + CocoaKeycodeOffset;
169 C4KeyCode K_CONTROL_R = 0x3e + CocoaKeycodeOffset;
170 C4KeyCode K_ALT_L = 58 + CocoaKeycodeOffset;
171 C4KeyCode K_ALT_R = 61 + CocoaKeycodeOffset;
172 C4KeyCode K_COMMAND_L = 55 + CocoaKeycodeOffset;
173 C4KeyCode K_COMMAND_R = 54 + CocoaKeycodeOffset;
174 C4KeyCode K_F1 = 122 + CocoaKeycodeOffset;
175 C4KeyCode K_F2 = 120 + CocoaKeycodeOffset;
176 C4KeyCode K_F3 = 99 + CocoaKeycodeOffset;
177 C4KeyCode K_F4 = 118 + CocoaKeycodeOffset;
178 C4KeyCode K_F5 = 96 + CocoaKeycodeOffset;
179 C4KeyCode K_F6 = 97 + CocoaKeycodeOffset;
180 C4KeyCode K_F7 = 98 + CocoaKeycodeOffset;
181 C4KeyCode K_F8 = 100 + CocoaKeycodeOffset;
182 C4KeyCode K_F9 = 101 + CocoaKeycodeOffset;
183 C4KeyCode K_F10 = 109 + CocoaKeycodeOffset;
184 C4KeyCode K_F11 = 103 + CocoaKeycodeOffset;
185 C4KeyCode K_F12 = 111 + CocoaKeycodeOffset;
186 C4KeyCode K_ADD = 69 + CocoaKeycodeOffset;
187 C4KeyCode K_SUBTRACT = 78 + CocoaKeycodeOffset;
188 C4KeyCode K_MULTIPLY = 67 + CocoaKeycodeOffset;
189 C4KeyCode K_ESCAPE = 53 + CocoaKeycodeOffset;
190 C4KeyCode K_PAUSE = NSPauseFunctionKey + CocoaKeycodeOffset;
191 C4KeyCode K_TAB = 48 + CocoaKeycodeOffset;
192 C4KeyCode K_RETURN = 36 + CocoaKeycodeOffset;
193 C4KeyCode K_DELETE = 117 + CocoaKeycodeOffset;
194 C4KeyCode K_INSERT = 125125125 + CocoaKeycodeOffset;
195 C4KeyCode K_BACK = 51 + CocoaKeycodeOffset;
196 C4KeyCode K_SPACE = 49 + CocoaKeycodeOffset;
197 C4KeyCode K_UP = 126 + CocoaKeycodeOffset;
198 C4KeyCode K_DOWN = 125 + CocoaKeycodeOffset;
199 C4KeyCode K_LEFT = 123 + CocoaKeycodeOffset;
200 C4KeyCode K_RIGHT = 124 + CocoaKeycodeOffset;
201 C4KeyCode K_HOME = 115 + CocoaKeycodeOffset;
202 C4KeyCode K_END = 119 + CocoaKeycodeOffset;
203 C4KeyCode K_SCROLL = 1000 + CocoaKeycodeOffset;
204 C4KeyCode K_MENU = 1000 + CocoaKeycodeOffset;
205 C4KeyCode K_PAGEUP = 116 + CocoaKeycodeOffset;
206 C4KeyCode K_PAGEDOWN = 121 + CocoaKeycodeOffset;
222 int MK_SHIFT = NSEventModifierFlagShift;
223 int MK_CONTROL = NSEventModifierFlagControl;
224 int MK_ALT = NSEventModifierFlagOption;
void AddViewport(C4ViewportWindow *cvp)
virtual C4Window * Init(WindowKind windowKind, C4AbstractApp *pApp, const char *Title, const C4Rect *size)
bool GetSize(C4Rect *pRect)
virtual bool ReInit(C4AbstractApp *pApp)
void SetTitle(const char *Title)
bool RestorePosition(const char *szWindowName, const char *szSubKey, bool fHidden=false)
void SetSize(unsigned int cx, unsigned int cy)
virtual void RequestUpdate()
bool StorePosition(const char *szWindowName, const char *szSubKey, bool fStoreSize=true)
void GrabMouse(bool grab)
C4OpenGLView * openGLView