2008-09-28 70 views
3

我有一個圖形應用程序需要測試它在Mac OS X中啓動的顯示器的分辨率,以確保它不會大於分辨率。這是在窗口本身被初始化之前完成的。如何在C++中獲得Mac OS X中主顯示器的分辨率?

如果有多個顯示器,它需要是主顯示器。這是硬件加速(OpenGL)應用程序將以全屏模式啓動的顯示屏,通常是菜單欄位於頂部的顯示屏。

在Windows中,我可以成功使用GetSystemMetrics()。我如何在OS X上執行此操作?

回答

6

使用CoreGraphics中:在蘋果的Quartz Display Services Reference

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

更多信息。

+3

對於未來世代的注意事項:此代碼使用Carbon,因此它不適用於Leopard或Snow Leopard上的64位應用程序。 – 2009-08-11 22:23:28

相關問題