Begun integrating mode setting and monitor API.
diff --git a/src/cocoa_monitor.m b/src/cocoa_monitor.m index fb41d85..759b3c6 100644 --- a/src/cocoa_monitor.m +++ b/src/cocoa_monitor.m
@@ -139,7 +139,7 @@ // Change the current video mode //======================================================================== -GLboolean _glfwSetVideoMode(int* width, int* height, int* bpp) +GLboolean _glfwSetVideoMode(_GLFWmonitor* monitor, int* width, int* height, int* bpp) { CGDisplayModeRef bestMode = NULL; CFArrayRef modes; @@ -190,7 +190,7 @@ return GL_FALSE; } - _glfw.ns.previousMode = CGDisplayCopyDisplayMode(CGMainDisplayID()); + monitor->ns.previousMode = CGDisplayCopyDisplayMode(CGMainDisplayID()); CGDisplayCapture(CGMainDisplayID()); CGDisplaySetDisplayMode(CGMainDisplayID(), bestMode, NULL); @@ -204,9 +204,9 @@ // Restore the previously saved (original) video mode //======================================================================== -void _glfwRestoreVideoMode(void) +void _glfwRestoreVideoMode(_GLFWmonitor* monitor) { - CGDisplaySetDisplayMode(CGMainDisplayID(), _glfw.ns.previousMode, NULL); + CGDisplaySetDisplayMode(CGMainDisplayID(), monitor->ns.previousMode, NULL); CGDisplayRelease(CGMainDisplayID()); } @@ -236,6 +236,8 @@ return NULL; } + CGGetActiveDisplayList(monitorCount, displays, &monitorCount); + monitors = (_GLFWmonitor**) calloc(monitorCount, sizeof(_GLFWmonitor*)); if (!monitors) {