|
@@ -140,9 +140,6 @@
|
|
|
}
|
|
|
|
|
|
// Forward Mouse/Keyboard events to Dear ImGui OSX backend.
|
|
|
--(void)keyUp:(NSEvent *)event { ImGui_ImplOSX_HandleEvent(event, self); }
|
|
|
--(void)keyDown:(NSEvent *)event { ImGui_ImplOSX_HandleEvent(event, self); }
|
|
|
--(void)flagsChanged:(NSEvent *)event { ImGui_ImplOSX_HandleEvent(event, self); }
|
|
|
-(void)mouseDown:(NSEvent *)event { ImGui_ImplOSX_HandleEvent(event, self); }
|
|
|
-(void)rightMouseDown:(NSEvent *)event { ImGui_ImplOSX_HandleEvent(event, self); }
|
|
|
-(void)otherMouseDown:(NSEvent *)event { ImGui_ImplOSX_HandleEvent(event, self); }
|
|
@@ -155,7 +152,6 @@
|
|
|
-(void)mouseDragged:(NSEvent *)event { ImGui_ImplOSX_HandleEvent(event, self); }
|
|
|
-(void)rightMouseDragged:(NSEvent *)event { ImGui_ImplOSX_HandleEvent(event, self); }
|
|
|
-(void)otherMouseDragged:(NSEvent *)event { ImGui_ImplOSX_HandleEvent(event, self); }
|
|
|
--(void)scrollWheel:(NSEvent *)event { ImGui_ImplOSX_HandleEvent(event, self); }
|
|
|
|
|
|
@end
|
|
|
|
|
@@ -243,6 +239,15 @@
|
|
|
if ([view openGLContext] == nil)
|
|
|
NSLog(@"No OpenGL Context!");
|
|
|
|
|
|
+ // Some events do not raise callbacks of ImGuiExampleView in some circumstances (for example when CMD key is held down).
|
|
|
+ // This monitor taps into global event stream and captures these events.
|
|
|
+ NSEventMask eventMask = NSEventMaskKeyDown | NSEventMaskKeyUp | NSEventMaskFlagsChanged | NSEventTypeScrollWheel;
|
|
|
+ [NSEvent addLocalMonitorForEventsMatchingMask:eventMask handler:^NSEvent * _Nullable(NSEvent *event)
|
|
|
+ {
|
|
|
+ ImGui_ImplOSX_HandleEvent(event, view);
|
|
|
+ return event;
|
|
|
+ }];
|
|
|
+
|
|
|
// Setup Dear ImGui context
|
|
|
// FIXME: This example doesn't have proper cleanup...
|
|
|
IMGUI_CHECKVERSION();
|