كيف يمكنني الحصول على دقة الشاشة الرئيسية في نظام التشغيل Mac OS X في لغة C++؟

StackOverflow https://stackoverflow.com/questions/146480

سؤال

لدي تطبيق رسومي يحتاج إلى اختبار دقة الشاشة التي يبدأ تشغيلها عليها في نظام التشغيل Mac OS X للتأكد من أنها ليست أكبر من الدقة.ويتم ذلك قبل تهيئة النافذة نفسها.

إذا كان هناك أكثر من شاشة واحدة، فيجب أن تكون الشاشة الأساسية.هذه هي الشاشة التي سيتم تشغيل تطبيقات تسريع الأجهزة (OpenGL) عليها في وضع ملء الشاشة، وعادة ما تكون الشاشة التي تحتوي على شريط القائمة في الأعلى.

في نظام التشغيل Windows، يمكنني استخدام GetSystemMetrics() بنجاح.كيف يمكنني القيام بذلك على OS X؟

هل كانت مفيدة؟

المحلول

باستخدام CoreGraphics:

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

مزيد من المعلومات في أبل مرجع خدمات عرض الكوارتز.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top