2011-02-07 3 views
7

Je voudrais lancer une application 3D C++ en plein écran en résolution native sur mac. Comment puis-je récupérer la résolution d'écran native?Obtenir la résolution d'écran par programme sous OS X

+0

Idéalement, il devrait y avoir une fonction API (par exemple 'fullscreenize()'), qui ferait tout le traitement pour vous. Ensuite, vous utiliseriez simplement la taille de votre fenêtre. – ulidtko

+0

duplication possible de [Objectif C - comment obtenir la résolution d'écran actuelle?] (Http://stackoverflow.com/questions/1868677/objective-c-how-to-get-current-screen-resolution) –

+1

la solution a-t-elle besoin être simplement C++ ou Obj-C est-il acceptable? – outis

Répondre

10

Si vous ne souhaitez pas utiliser Objective C, obtenir l'ID d'affichage que vous souhaitez afficher sur (en utilisant par exemple CGMainDisplayID), puis utilisez CGDisplayPixelsWide et CGDisplayPixelsHigh pour obtenir la largeur de l'écran et la hauteur, en pixels. Voir "Getting Information About Displays" pour savoir comment obtenir d'autres informations d'affichage. Si vous souhaitez utiliser un peu d'Objective-C, utilisez simplement [[NSScreen mainScreen] frame]. Notez qu'il existe d'autres problèmes avec l'affichage en plein écran, à savoir s'assurer que les autres applications ne font pas la même chose. Lisez "Drawing to the Full Screen" dans le Guide de programmation OpenGL d'Apple pour plus d'informations.

+0

NSScreen mainScreen ne renverra pas nécessairement le "mainScreen" - la taille semble dépendre d'autres choses ... éventuellement la dernière fenêtre sélectionnée? En tout cas, il ne fournit pas de résultats cohérents dans la pratique – jheriko

Questions connexes