summaryrefslogtreecommitdiff
path: root/new/main_darwin.m
blob: d19af0870f644d4004aa8f9ea604b152416719e1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// 6 april 2015
#import "uipriv_darwin.h"

// TODO merge with init_darwin.m?

void uiMain(void)
{
	[NSApp run];
}

void uiQuit(void)
{
	NSEvent *e;

	[NSApp stop:NSApp];
	// stop: won't register until another event has passed; let's synthesize one
	e = [NSEvent otherEventWithType:NSApplicationDefined
		location:NSZeroPoint
		modifierFlags:0
		timestamp:[[NSProcessInfo processInfo] systemUptime]
		windowNumber:0
		context:[NSGraphicsContext currentContext]
		subtype:0
		data1:0
		data2:0];
	[NSApp postEvent:e atStart:NO];		// let pending events take priority
	// TODO really wait?
}