كيف يمكنني الحصول على دقة الشاشة الرئيسية في نظام التشغيل Mac OS X في لغة C++؟
-
02-07-2019 - |
سؤال
لدي تطبيق رسومي يحتاج إلى اختبار دقة الشاشة التي يبدأ تشغيلها عليها في نظام التشغيل Mac OS X للتأكد من أنها ليست أكبر من الدقة.ويتم ذلك قبل تهيئة النافذة نفسها.
إذا كان هناك أكثر من شاشة واحدة، فيجب أن تكون الشاشة الأساسية.هذه هي الشاشة التي سيتم تشغيل تطبيقات تسريع الأجهزة (OpenGL) عليها في وضع ملء الشاشة، وعادة ما تكون الشاشة التي تحتوي على شريط القائمة في الأعلى.
في نظام التشغيل Windows، يمكنني استخدام GetSystemMetrics() بنجاح.كيف يمكنني القيام بذلك على OS X؟
المحلول
باستخدام CoreGraphics:
CGRect mainMonitor = CGDisplayBounds(CGMainDisplayID());
CGFloat monitorHeight = CGRectGetHeight(mainMonitor);
CGFloat monitorWidth = CGRectGetWidth(mainMonitor);
مزيد من المعلومات في أبل مرجع خدمات عرض الكوارتز.
لا تنتمي إلى StackOverflow