如何在C ++的Mac OS X中获得主显示器的分辨率?
时间:2020-03-06 14:51:01 来源:igfitidea点击:
我有一个图形应用程序,需要测试在Mac OS X中启动的显示器的分辨率,以确保它不大于分辨率。这是在窗口本身初始化之前完成的。
如果有多个显示器,则它必须是主要显示器。这是硬件加速(OpenGL)应用程序将在全屏模式下启动的显示,并且通常是顶部具有菜单栏的显示。
在Windows中,我可以成功使用GetSystemMetrics()。如何在OS X上执行此操作?
解决方案
使用CoreGraphics:
CGRect mainMonitor = CGDisplayBounds(CGMainDisplayID()); CGFloat monitorHeight = CGRectGetHeight(mainMonitor); CGFloat monitorWidth = CGRectGetWidth(mainMonitor);
有关更多信息,请参阅Apple的Quartz Display Services Reference。