|  |  | @@ -36,7 +36,6 @@ | 
		
	
		
			
			|  |  |  | defer:(BOOL)flag; | 
		
	
		
			
			|  |  |  | - (void) setPuglview:(PuglView*)view; | 
		
	
		
			
			|  |  |  | - (BOOL) windowShouldClose:(id)sender; | 
		
	
		
			
			|  |  |  | - (BOOL) canBecomeKeyWindow:(id)sender; | 
		
	
		
			
			|  |  |  | @end | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | @implementation PuglWindow | 
		
	
	
		
			
				|  |  | @@ -71,14 +70,9 @@ | 
		
	
		
			
			|  |  |  | return YES; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | - (BOOL) canBecomeKeyWindow:(id)sender | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | return NO; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | @end | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | void | 
		
	
		
			
			|  |  |  | static void | 
		
	
		
			
			|  |  |  | puglDisplay(PuglView* view) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | if (view->displayFunc) { | 
		
	
	
		
			
				|  |  | @@ -191,10 +185,6 @@ getModifiers(PuglView* view, NSEvent* ev) | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | view->event_timestamp_ms = fmod([ev timestamp] * 1000.0, UINT32_MAX); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | double ts = [ev timestamp] * 1000.0; | 
		
	
		
			
			|  |  |  | ts = (uint32)ts % 500000;  //ridiculously large vals won't fit | 
		
	
		
			
			|  |  |  | view->event_timestamp_ms = ts; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | unsigned mods = 0; | 
		
	
		
			
			|  |  |  | mods |= (modifierFlags & NSShiftKeyMask)     ? PUGL_MOD_SHIFT : 0; | 
		
	
		
			
			|  |  |  | mods |= (modifierFlags & NSControlKeyMask)   ? PUGL_MOD_CTRL  : 0; | 
		
	
	
		
			
				|  |  | @@ -345,7 +335,6 @@ getModifiers(PuglView* view, NSEvent* ev) | 
		
	
		
			
			|  |  |  | struct PuglInternalsImpl { | 
		
	
		
			
			|  |  |  | PuglOpenGLView* glview; | 
		
	
		
			
			|  |  |  | id              window; | 
		
	
		
			
			|  |  |  | bool            isEmbed; | 
		
	
		
			
			|  |  |  | }; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | PuglView* | 
		
	
	
		
			
				|  |  | @@ -379,9 +368,8 @@ puglCreate(PuglNativeWindow parent, | 
		
	
		
			
			|  |  |  | [window setPuglview:view]; | 
		
	
		
			
			|  |  |  | [window setTitle:titleString]; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | impl->glview  = [PuglOpenGLView new]; | 
		
	
		
			
			|  |  |  | impl->window  = window; | 
		
	
		
			
			|  |  |  | impl->isEmbed = (parent != 0); | 
		
	
		
			
			|  |  |  | impl->glview   = [PuglOpenGLView new]; | 
		
	
		
			
			|  |  |  | impl->window   = window; | 
		
	
		
			
			|  |  |  | impl->glview->puglview = view; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | [window setContentView:impl->glview]; | 
		
	
	
		
			
				|  |  | @@ -411,36 +399,6 @@ puglDestroy(PuglView* view) | 
		
	
		
			
			|  |  |  | PuglStatus | 
		
	
		
			
			|  |  |  | puglProcessEvents(PuglView* view) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | if (! view->impl->isEmbed) | 
		
	
		
			
			|  |  |  | { | 
		
	
		
			
			|  |  |  | NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init]; | 
		
	
		
			
			|  |  |  | NSEvent* event; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | static const NSUInteger eventMask = (NSLeftMouseDownMask | NSLeftMouseUpMask | | 
		
	
		
			
			|  |  |  | NSRightMouseDownMask | NSRightMouseUpMask | | 
		
	
		
			
			|  |  |  | NSMouseMovedMask | | 
		
	
		
			
			|  |  |  | NSLeftMouseDraggedMask | NSRightMouseDraggedMask | | 
		
	
		
			
			|  |  |  | NSMouseEnteredMask | NSMouseExitedMask | | 
		
	
		
			
			|  |  |  | NSKeyDownMask | NSKeyUpMask | | 
		
	
		
			
			|  |  |  | NSFlagsChangedMask | | 
		
	
		
			
			|  |  |  | NSCursorUpdateMask | NSScrollWheelMask); | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | for (;;) { | 
		
	
		
			
			|  |  |  | event = [view->impl->window | 
		
	
		
			
			|  |  |  | nextEventMatchingMask:eventMask | 
		
	
		
			
			|  |  |  | untilDate:[NSDate distantPast] | 
		
	
		
			
			|  |  |  | inMode:NSEventTrackingRunLoopMode | 
		
	
		
			
			|  |  |  | dequeue:YES]; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | if (event == nil) | 
		
	
		
			
			|  |  |  | break; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | [view->impl->window sendEvent: event]; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | [pool release]; | 
		
	
		
			
			|  |  |  | } | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | [view->impl->glview setNeedsDisplay: YES]; | 
		
	
		
			
			|  |  |  | 
 | 
		
	
		
			
			|  |  |  | return PUGL_SUCCESS; | 
		
	
	
		
			
				|  |  | 
 |