我有一个图形应用程序需要测试它在 Mac OS X 中启动的显示器的分辨率,以确保它不大于分辨率。这是在窗口本身初始化之前完成的。
如果有多个显示器,则它需要是主显示器。这是硬件加速 (OpenGL) 应用程序将以全屏模式启动的显示器,通常是顶部有菜单栏的显示器。
在 Windows 中,我可以成功使用 GetSystemMetrics()。我怎样才能在 OS X 上做到这一点?
我有一个图形应用程序需要测试它在 Mac OS X 中启动的显示器的分辨率,以确保它不大于分辨率。这是在窗口本身初始化之前完成的。
如果有多个显示器,则它需要是主显示器。这是硬件加速 (OpenGL) 应用程序将以全屏模式启动的显示器,通常是顶部有菜单栏的显示器。
在 Windows 中,我可以成功使用 GetSystemMetrics()。我怎样才能在 OS X 上做到这一点?
使用核心图形:
CGRect mainMonitor = CGDisplayBounds(CGMainDisplayID());
CGFloat monitorHeight = CGRectGetHeight(mainMonitor);
CGFloat monitorWidth = CGRectGetWidth(mainMonitor);
更多信息,请参阅 Apple 的Quartz Display Services Reference。