我有一个图形应用,需要测试它在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 中的更多信息

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top