diff options
| -rw-r--r-- | platform/osx/SCsub | 1 | ||||
| -rw-r--r-- | platform/osx/context_gl_osx.cpp | 103 | ||||
| -rw-r--r-- | platform/osx/context_gl_osx.h | 64 | ||||
| -rw-r--r-- | platform/osx/godot_osx.h | 38 | ||||
| -rw-r--r-- | platform/osx/godot_osx.mm | 208 | ||||
| -rw-r--r-- | platform/osx/os_osx.mm | 106 | 
6 files changed, 2 insertions, 518 deletions
| diff --git a/platform/osx/SCsub b/platform/osx/SCsub index 1427c2e00d..27117c2e8d 100644 --- a/platform/osx/SCsub +++ b/platform/osx/SCsub @@ -7,7 +7,6 @@ files = [      'godot_main_osx.mm',      'audio_driver_osx.cpp',      'sem_osx.cpp', -    #	'context_gl_osx.cpp',      'dir_access_osx.mm',      'joypad_osx.cpp',      'power_osx.cpp', diff --git a/platform/osx/context_gl_osx.cpp b/platform/osx/context_gl_osx.cpp deleted file mode 100644 index 1377d829b0..0000000000 --- a/platform/osx/context_gl_osx.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/*************************************************************************/ -/*  context_gl_osx.cpp                                                   */ -/*************************************************************************/ -/*                       This file is part of:                           */ -/*                           GODOT ENGINE                                */ -/*                    http://www.godotengine.org                         */ -/*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur.                 */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md)    */ -/*                                                                       */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the       */ -/* "Software"), to deal in the Software without restriction, including   */ -/* without limitation the rights to use, copy, modify, merge, publish,   */ -/* distribute, sublicense, and/or sell copies of the Software, and to    */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions:                                             */ -/*                                                                       */ -/* The above copyright notice and this permission notice shall be        */ -/* included in all copies or substantial portions of the Software.       */ -/*                                                                       */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,       */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF    */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY  */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,  */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE     */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */ -/*************************************************************************/ -#include "context_gl_osx.h" - -#ifdef OSX_ENABLED -#if defined(OPENGL_ENABLED) || defined(LEGACYGL_ENABLED) -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> - -#define GLX_CONTEXT_MAJOR_VERSION_ARB 0x2091 -#define GLX_CONTEXT_MINOR_VERSION_ARB 0x2092 - -void ContextGL_OSX::release_current() { - -	aglSetCurrentContext(context); -} - -void ContextGL_OSX::make_current() { - -	aglSetCurrentContext(NULL); -} -void ContextGL_OSX::swap_buffers() { - -	aglSwapBuffers(context); -} - -Error ContextGL_OSX::initialize() { - -	if ((Ptr)kUnresolvedCFragSymbolAddress == (Ptr)aglChoosePixelFormat) -		return FAILED; - -	GLint attributes[] = { AGL_RGBA, -		AGL_DOUBLEBUFFER, -		AGL_DEPTH_SIZE, 32, -		AGL_NO_RECOVERY, -		AGL_NONE, -		AGL_NONE }; - -	AGLPixelFormat format = NULL; - -	format = aglChoosePixelFormat(NULL, 0, attributes); - -	if (!format) -		return FAILED; - -	context = aglCreateContext(format, 0); - -	if (!context) -		return FAILED; - -	aglDestroyPixelFormat(format); - -	aglSetWindowRef(context, window); - -	GLint swapInterval = 1; -	aglSetInteger(context, AGL_SWAP_INTERVAL, &swapInterval); - -	aglSetCurrentContext(context); - -	return OK; -} - -ContextGL_OSX::ContextGL_OSX(WindowRef p_window) { - -	window = p_window; -} - -ContextGL_OSX::~ContextGL_OSX() { - -	if (context) -		aglDestroyContext(context); -} - -#endif -#endif diff --git a/platform/osx/context_gl_osx.h b/platform/osx/context_gl_osx.h deleted file mode 100644 index d0e2a2c0d3..0000000000 --- a/platform/osx/context_gl_osx.h +++ /dev/null @@ -1,64 +0,0 @@ -/*************************************************************************/ -/*  context_gl_osx.h                                                     */ -/*************************************************************************/ -/*                       This file is part of:                           */ -/*                           GODOT ENGINE                                */ -/*                    http://www.godotengine.org                         */ -/*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur.                 */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md)    */ -/*                                                                       */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the       */ -/* "Software"), to deal in the Software without restriction, including   */ -/* without limitation the rights to use, copy, modify, merge, publish,   */ -/* distribute, sublicense, and/or sell copies of the Software, and to    */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions:                                             */ -/*                                                                       */ -/* The above copyright notice and this permission notice shall be        */ -/* included in all copies or substantial portions of the Software.       */ -/*                                                                       */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,       */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF    */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY  */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,  */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE     */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */ -/*************************************************************************/ -#ifndef CONTEXT_GL_OSX_H -#define CONTEXT_GL_OSX_H - -/** -	@author Juan Linietsky <reduzio@gmail.com> -*/ -#ifdef OSX_ENABLED - -#if defined(OPENGL_ENABLED) || defined(LEGACYGL_ENABLED) - -#include "drivers/gl_context/context_gl.h" -#include "os/os.h" -#include <AGL/agl.h> -#include <Carbon/Carbon.h> - -class ContextGL_OSX : public ContextGL { - -	AGLContext context; -	WindowRef window; - -public: -	virtual void release_current(); -	virtual void make_current(); -	virtual void swap_buffers(); - -	virtual Error initialize(); - -	ContextGL_OSX(WindowRef window); -	~ContextGL_OSX(); -}; - -#endif - -#endif -#endif diff --git a/platform/osx/godot_osx.h b/platform/osx/godot_osx.h deleted file mode 100644 index 48784ab7d5..0000000000 --- a/platform/osx/godot_osx.h +++ /dev/null @@ -1,38 +0,0 @@ -/*************************************************************************/ -/*  godot_osx.h                                                          */ -/*************************************************************************/ -/*                       This file is part of:                           */ -/*                           GODOT ENGINE                                */ -/*                    http://www.godotengine.org                         */ -/*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur.                 */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md)    */ -/*                                                                       */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the       */ -/* "Software"), to deal in the Software without restriction, including   */ -/* without limitation the rights to use, copy, modify, merge, publish,   */ -/* distribute, sublicense, and/or sell copies of the Software, and to    */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions:                                             */ -/*                                                                       */ -/* The above copyright notice and this permission notice shall be        */ -/* included in all copies or substantial portions of the Software.       */ -/*                                                                       */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,       */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF    */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY  */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,  */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE     */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */ -/*************************************************************************/ -#ifndef GODOT_OSX_H -#define GODOT_OSX_H - -#import <Cocoa/Cocoa.h> - -@interface GodotMain : NSObject -@end - -#endif diff --git a/platform/osx/godot_osx.mm b/platform/osx/godot_osx.mm deleted file mode 100644 index 626406ad1d..0000000000 --- a/platform/osx/godot_osx.mm +++ /dev/null @@ -1,208 +0,0 @@ -/*************************************************************************/ -/*  godot_osx.mm                                                         */ -/*************************************************************************/ -/*                       This file is part of:                           */ -/*                           GODOT ENGINE                                */ -/*                    http://www.godotengine.org                         */ -/*************************************************************************/ -/* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur.                 */ -/* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md)    */ -/*                                                                       */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the       */ -/* "Software"), to deal in the Software without restriction, including   */ -/* without limitation the rights to use, copy, modify, merge, publish,   */ -/* distribute, sublicense, and/or sell copies of the Software, and to    */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions:                                             */ -/*                                                                       */ -/* The above copyright notice and this permission notice shall be        */ -/* included in all copies or substantial portions of the Software.       */ -/*                                                                       */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,       */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF    */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.*/ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY  */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,  */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE     */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.                */ -/*************************************************************************/ -#include "godot_osx.h" - -#include <sys/param.h> /* for MAXPATHLEN */ -#include <unistd.h> - -/* For some reaon, Apple removed setAppleMenu from the headers in 10.4, - but the method still is there and works. To avoid warnings, we declare - it ourselves here. */ -@interface NSApplication () -- (void)setAppleMenu:(NSMenu *)menu; -@end - -static int global_argc; -static char **global_argv; -static BOOL gCalledAppMainline = FALSE; - -static NSString *getApplicationName(void) { -	const NSDictionary *dict; -	NSString *appName = 0; - -	/* Determine the application name */ -	dict = (const NSDictionary *)CFBundleGetInfoDictionary(CFBundleGetMainBundle()); -	if (dict) -		appName = [dict objectForKey:@"CFBundleName"]; - -	if (![appName length]) -		appName = [[NSProcessInfo processInfo] processName]; - -	return appName; -} - -/* The main class of the application, the application's delegate */ -@implementation GodotMain - -static void setApplicationMenu(void) { -	/* warning: this code is very odd */ -	NSMenu *appleMenu; -	NSMenuItem *menuItem; -	NSString *title; -	NSString *appName; - -	appName = getApplicationName(); -	appleMenu = [[NSMenu alloc] initWithTitle:@""]; - -	/* Add menu items */ -	title = [@"About " stringByAppendingString:appName]; -	[appleMenu addItemWithTitle:title action:@selector(orderFrontStandardAboutPanel:) keyEquivalent:@""]; - -	[appleMenu addItem:[NSMenuItem separatorItem]]; - -	title = [@"Hide " stringByAppendingString:appName]; -	[appleMenu addItemWithTitle:title action:@selector(hide:) keyEquivalent:@"h"]; - -	menuItem = (NSMenuItem *)[appleMenu addItemWithTitle:@"Hide Others" action:@selector(hideOtherApplications:) keyEquivalent:@"h"]; -	[menuItem setKeyEquivalentModifierMask:(NSAlternateKeyMask | NSCommandKeyMask)]; - -	[appleMenu addItemWithTitle:@"Show All" action:@selector(unhideAllApplications:) keyEquivalent:@""]; - -	[appleMenu addItem:[NSMenuItem separatorItem]]; - -	title = [@"Quit " stringByAppendingString:appName]; -	[appleMenu addItemWithTitle:title action:@selector(terminate:) keyEquivalent:@"q"]; - -	/* Put menu into the menubar */ -	menuItem = [[NSMenuItem alloc] initWithTitle:@"" action:nil keyEquivalent:@""]; -	[menuItem setSubmenu:appleMenu]; -	[[NSApp mainMenu] addItem:menuItem]; - -	/* Tell the application object that this is now the application menu */ -	[NSApp setAppleMenu:appleMenu]; - -	/* Finally give up our references to the objects */ -	[appleMenu release]; -	[menuItem release]; -} - -/* Create a window menu */ -static void setupWindowMenu(void) { -	NSMenu *windowMenu; -	NSMenuItem *windowMenuItem; -	NSMenuItem *menuItem; - -	windowMenu = [[NSMenu alloc] initWithTitle:@"Window"]; - -	/* "Minimize" item */ -	menuItem = [[NSMenuItem alloc] initWithTitle:@"Minimize" action:@selector(performMiniaturize:) keyEquivalent:@"m"]; -	[windowMenu addItem:menuItem]; -	[menuItem release]; - -	/* Put menu into the menubar */ -	windowMenuItem = [[NSMenuItem alloc] initWithTitle:@"Window" action:nil keyEquivalent:@""]; -	[windowMenuItem setSubmenu:windowMenu]; -	[[NSApp mainMenu] addItem:windowMenuItem]; - -	/* Tell the application object that this is now the window menu */ -	[NSApp setWindowsMenu:windowMenu]; - -	/* Finally give up our references to the objects */ -	[windowMenu release]; -	[windowMenuItem release]; -} - -/* Replacement for NSApplicationMain */ -static void CustomApplicationMain(int argc, char **argv) { -	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; -	GodotMain *main; - -	/* Ensure the application object is initialised */ -	[NSApplication sharedApplication]; - -	/* Set up the menubar */ -	[NSApp setMainMenu:[[NSMenu alloc] init]]; -	setApplicationMenu(); -	setupWindowMenu(); - -	main = [[main alloc] init]; -	[NSApp setDelegate:main]; - -	/* Start the main event loop */ -	[NSApp run]; - -	[main release]; -	[pool release]; -} - -extern int godot_main(int argc, char **argv); - -/* Called when the internal event loop has just started running */ -- (void)applicationDidFinishLaunching:(NSNotification *)note { -	int status; - -	/* Hand off to main application code */ -	gCalledAppMainline = TRUE; - -	int ret = godot_main(global_argc, global_argv); - -	exit(ret); -} -@end - -#ifdef main -#undef main -#endif - -int main(int argc, char **argv) { -	/* Copy the arguments into a global variable */ -	/* This is passed if we are launched by double-clicking */ -	if (argc >= 2 && strncmp(argv[1], "-psn", 4) == 0) { -		global_argv = (char **)malloc(sizeof(char *) * 2); -		global_argv[0] = argv[0]; -		global_argv[1] = NULL; -		global_argc = 1; - -		// chdir to binary's dir when launched from finder -		int len = strlen(global_argv[0]); - -		while (len--) { -			if (global_argv[0][len] == '/') break; -		} - -		if (len >= 0) { -			char *path = (char *)malloc(len + 1); -			memcpy(path, global_argv[0], len); -			path[len] = 0; -			printf("Path: %s\n", path); -			chdir(path); -		} - -	} else { -		int i; -		global_argc = argc; -		global_argv = (char **)malloc(sizeof(char *) * (argc + 1)); -		for (i = 0; i <= argc; i++) -			global_argv[i] = argv[i]; -	} - -	CustomApplicationMain(argc, argv); -	return 0; -} diff --git a/platform/osx/os_osx.mm b/platform/osx/os_osx.mm index 065506c612..d6647fc1d2 100644 --- a/platform/osx/os_osx.mm +++ b/platform/osx/os_osx.mm @@ -53,35 +53,6 @@  #include <sys/types.h>  #include <unistd.h> -//uses portions of glfw - -//======================================================================== -// GLFW 3.0 - www.glfw.org -//------------------------------------------------------------------------ -// Copyright (c) 2002-2006 Marcus Geelnard -// Copyright (c) 2006-2010 Camilla Berglund <elmindreda@elmindreda.org> -// -// This software is provided 'as-is', without any express or implied -// warranty. In no event will the authors be held liable for any damages -// arising from the use of this software. -// -// Permission is granted to anyone to use this software for any purpose, -// including commercial applications, and to alter it and redistribute it -// freely, subject to the following restrictions: -// -// 1. The origin of this software must not be misrepresented; you must not -//    claim that you wrote the original software. If you use this software -//    in a product, an acknowledgment in the product documentation would -//    be appreciated but is not required. -// -// 2. Altered source versions must be plainly marked as such, and must not -//    be misrepresented as being the original software. -// -// 3. This notice may not be removed or altered from any source -//    distribution. -// -//======================================================================== -  static NSRect convertRectToBacking(NSRect contentRect) {  #if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070 @@ -249,14 +220,7 @@ static int button_mask = 0;  + (void)initialize {  	if (self == [GodotContentView class]) { -		/* -		if (_glfw.ns.cursor == nil) { -			NSImage* data = [[NSImage alloc] initWithSize:NSMakeSize(1, 1)]; -			_glfw.ns.cursor = [[NSCursor alloc] initWithImage:data -			hotSpot:NSZeroPoint]; -			[data release]; -		} -*/ +		// nothing left to do here at the moment..  	}  } @@ -336,13 +300,6 @@ static int button_mask = 0;  	ev.mouse_button.doubleclick = [event clickCount] == 2;  	ev.mouse_button.mod = translateFlags([event modifierFlags]);  	OS_OSX::singleton->push_input(ev); - -	/* -	_glfwInputMouseClick(window, -		GLFW_MOUSE_BUTTON_LEFT, -		GLFW_PRESS, -		translateFlags([event modifierFlags])); -*/  }  - (void)mouseDragged:(NSEvent *)event { @@ -363,13 +320,6 @@ static int button_mask = 0;  	ev.mouse_button.button_mask = button_mask;  	ev.mouse_button.mod = translateFlags([event modifierFlags]);  	OS_OSX::singleton->push_input(ev); - -	/* -	_glfwInputMouseClick(window, -		GLFW_MOUSE_BUTTON_LEFT, -		GLFW_RELEASE, -		translateFlags([event modifierFlags])); -*/  }  - (void)mouseMoved:(NSEvent *)event { @@ -393,17 +343,6 @@ static int button_mask = 0;  	OS_OSX::singleton->input->set_mouse_position(Point2(mouse_x, mouse_y));  	OS_OSX::singleton->push_input(ev); - -	/* -	if (window->cursorMode == GLFW_CURSOR_DISABLED) -		_glfwInputCursorMotion(window, [event deltaX], [event deltaY]); -	else { -		const NSRect contentRect = [window->ns.view frame]; -		const NSPoint p = [event locationInWindow]; - -		_glfwInputCursorMotion(window, p.x, contentRect.size.height - p.y); -	} -*/  }  - (void)rightMouseDown:(NSEvent *)event { @@ -420,13 +359,6 @@ static int button_mask = 0;  	ev.mouse_button.button_mask = button_mask;  	ev.mouse_button.mod = translateFlags([event modifierFlags]);  	OS_OSX::singleton->push_input(ev); - -	/* -	_glfwInputMouseClick(window, -		GLFW_MOUSE_BUTTON_RIGHT, -		GLFW_PRESS, -		translateFlags([event modifierFlags])); -*/  }  - (void)rightMouseDragged:(NSEvent *)event { @@ -447,13 +379,6 @@ static int button_mask = 0;  	ev.mouse_button.button_mask = button_mask;  	ev.mouse_button.mod = translateFlags([event modifierFlags]);  	OS_OSX::singleton->push_input(ev); - -	/* -	_glfwInputMouseClick(window, -		GLFW_MOUSE_BUTTON_RIGHT, -		GLFW_RELEASE, -		translateFlags([event modifierFlags])); -*/  }  - (void)otherMouseDown:(NSEvent *)event { @@ -473,13 +398,6 @@ static int button_mask = 0;  	ev.mouse_button.button_mask = button_mask;  	ev.mouse_button.mod = translateFlags([event modifierFlags]);  	OS_OSX::singleton->push_input(ev); - -	/* -	_glfwInputMouseClick(window, -		(int) [event buttonNumber], -		GLFW_PRESS, -		translateFlags([event modifierFlags])); -*/  }  - (void)otherMouseDragged:(NSEvent *)event { @@ -503,13 +421,6 @@ static int button_mask = 0;  	ev.mouse_button.button_mask = button_mask;  	ev.mouse_button.mod = translateFlags([event modifierFlags]);  	OS_OSX::singleton->push_input(ev); - -	/* -	_glfwInputMouseClick(window, -		(int) [event buttonNumber], -		GLFW_RELEASE, -		translateFlags([event modifierFlags])); -*/  }  - (void)mouseExited:(NSEvent *)event { @@ -520,11 +431,9 @@ static int button_mask = 0;  		OS_OSX::singleton->main_loop->notification(MainLoop::NOTIFICATION_WM_MOUSE_EXIT);  	if (OS_OSX::singleton->input)  		OS_OSX::singleton->input->set_mouse_in_window(false); -	//_glfwInputCursorEnter(window, GL_FALSE);  }  - (void)mouseEntered:(NSEvent *)event { -	//_glfwInputCursorEnter(window, GL_TRUE);  	if (!OS_OSX::singleton)  		return;  	if (OS_OSX::singleton->main_loop && OS_OSX::singleton->mouse_mode != OS::MOUSE_MODE_CAPTURED) @@ -534,12 +443,7 @@ static int button_mask = 0;  }  - (void)viewDidChangeBackingProperties { -	/* -	const NSRect contentRect = [window->ns.view frame]; -	const NSRect fbRect = convertRectToBacking(window, contentRect); - -	_glfwInputFramebufferSize(window, fbRect.size.width, fbRect.size.height); -*/ +	// nothing left to do here  }  - (void)updateTrackingAreas { @@ -780,12 +684,6 @@ static int translateKey(unsigned int key) {  	ev.key.mod = translateFlags([event modifierFlags]);  	ev.key.scancode = latin_keyboard_keycode_convert(translateKey([event keyCode]));  	OS_OSX::singleton->push_input(ev); - -	/* - 	const int key = translateKey([event keyCode]); -	const int mods = translateFlags([event modifierFlags]); -	_glfwInputKey(window, key, [event keyCode], GLFW_RELEASE, mods); -*/  }  inline void sendScrollEvent(int button, double factor) { |