2011-02-07 16 views
7

Me gustaría lanzar una aplicación de C++ 3D a pantalla completa en resolución nativa en mac. ¿Cómo puedo recuperar la resolución de pantalla nativa?Obtener resolución de pantalla mediante programación en OS X

+0

Idealmente, debería haber una función de API (por ejemplo, 'fullscreenize()'), que haría todo el manejo por usted. Entonces solo usarías el tamaño de tu ventana. – ulidtko

+0

posible duplicado de [Objetivo C: cómo obtener la resolución actual de la pantalla?] (Http://stackoverflow.com/questions/1868677/objective-c-how-to-get-current-screen-resolution) –

+1

necesita la solución ser solo C++, o es Obj-C aceptable? – outis

Respuesta

10

Si no desea utilizar Objective C, obtener el ID de pantalla que desee visualizar en (por ejemplo, usando CGMainDisplayID), a continuación, utilizar CGDisplayPixelsWide y CGDisplayPixelsHigh para obtener el ancho de la pantalla y la altura en píxeles. Consulte "Getting Information About Displays" para obtener información sobre otra pantalla.

Si está dispuesto a usar un poco de Objective-C, simplemente use [[NSScreen mainScreen] frame].

Tenga en cuenta que existen otras preocupaciones con la visualización de pantalla completa, es decir, garantizar que otras aplicaciones no hagan lo mismo. Lea "Drawing to the Full Screen" en la Guía de programación OpenGL de Apple para obtener más información.

+0

NSScreen mainScreen no necesariamente devolverá la "pantalla principal" - el tamaño parece depender de otras cosas ... ¿posiblemente la última ventana seleccionada? En cualquier caso, no proporciona resultados consistentes en la práctica – jheriko

Cuestiones relacionadas