From f539f19b58d50872116e3dd633ab0dfbea0f3d4d Mon Sep 17 00:00:00 2001 From: Felipe Ferreira da Silva Date: Fri, 7 Apr 2017 17:43:54 -0300 Subject: [PATCH] Implementation for querying work area with Cocoa This is an initial implementation and needs review. --- src/cocoa_monitor.m | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/cocoa_monitor.m b/src/cocoa_monitor.m index 3dabf5845..432df1fda 100644 --- a/src/cocoa_monitor.m +++ b/src/cocoa_monitor.m @@ -362,6 +362,20 @@ void _glfwPlatformGetMonitorPos(_GLFWmonitor* monitor, int* xpos, int* ypos) void _glfwPlatformGetMonitorWorkarea(_GLFWmonitor* monitor, int* xpos, int* ypos, int *width, int *height) { + NSScreen *resultScreen; + for (NSScreen *screen in [NSScreen screens]) { + if ([[[screen deviceDescription] valueForKey:@"NSScreenNumber"] intValue] == monitor->ns.displayID) { + resultScreen = screen; + break; + } + } + + NSRect frameRect = [[NSScreen resultScreen] visibleFrame]; + + *xpos = NSMinX(frameRect) + *ypos = NSMinY(frameRect) + *width = NSMaxX(frameRect) + *height = NSMaxY(frameRect) } GLFWvidmode* _glfwPlatformGetVideoModes(_GLFWmonitor* monitor, int* count)