如何在C ++中获得Mac OS X中主显示器的分辨率?

时间:2008-09-28 18:49:12

标签: c++ macos graphics resolution

我有一个图形应用,需要测试它在Mac OS X中启动的显示器的分辨率,以确保它不大于分辨率。这是在窗口本身初始化之前完成的。

如果有多个显示器,则需要是主显示器。这是硬件加速(OpenGL)应用程序将在全屏幕中启动的显示,通常是顶部有菜单栏的显示。

在Windows中,我可以成功使用GetSystemMetrics()。我怎样才能在OS X上执行此操作?

1 个答案:

答案 0 :(得分:6)

使用CoreGraphics:

CGRect mainMonitor = CGDisplayBounds(CGMainDisplayID());
CGFloat monitorHeight = CGRectGetHeight(mainMonitor);
CGFloat monitorWidth = CGRectGetWidth(mainMonitor);

Apple的Quartz Display Services Reference提供了更多信息。