2012-11-16 29 views
8

प्राप्त करने के लिए मैं एक सी ++ खेल बना रही हूँ, और मैं यह स्वचालित रूप से उपयोगकर्ता के डेस्कटॉप संकल्प प्राप्त करना चाहते हैं।पोर्टेबल तरह से डेस्कटॉप संकल्प

मैं windows-केवल समाधान अब तक मिल गया है - वहाँ एक रास्ता/पुस्तकालय Windows/Mac/लिनक्स पर संकल्प को मिल रहा है?

+1

जाहिर है क्यूटी में 'QAplication :: डेस्कटॉप() -> स्क्रीन जीमेट्री();'। वह दस्तावेज़ों से नहीं खींचा गया था, और मैंने क्यूटी का कभी भी उपयोग नहीं किया है, इसलिए क्षमा करें अगर यह गलत है। – chris

+6

मुझे नहीं लगता कि कुछ पूरी तरह से पोर्टेबल मौजूद है ... – Mysticial

+0

ग्राफिक्स के लिए पोर्टेबल कोड? बिल्कुल नहीं। (@ माइस्टिकल +1) –

उत्तर

7

कई बाहर काम करने के निम्न स्तर के सामान हो रही पर आप की मदद करने के पुस्तकालयों रहे हैं। आप शायद वैसे भी उन प्लेटफार्मों पर अधिक सामग्री की आवश्यकता होगी, तो मैं कुछ सूचीबद्ध करेंगे:

  • SFML एक सी ++ पुस्तकालय आई/ओ सामान की ज्यादा, प्रदर्शन प्रबंधन सहित सार संक्षेप है। कई प्लेटफार्मों का भी समर्थन करता है।
  • क्लासिक SDL, हालांकि सी लाइब्रेरी प्लेटफ़ॉर्म स्वतंत्र गेम विकास में व्यापक रूप से उपयोग किया जाता है और कई प्लेटफार्मों का समर्थन करता है। एसएफएमएल की तरह, यह सिर्फ प्रदर्शन प्रदर्शित करने से भी अधिक है।
  • GLFW, wardds answer, यह भी एक सी पुस्तकालय देख सकते हैं और यह भी एक अमूर्त परत बन गया है, लेकिन प्रदर्शन और कीबोर्ड/माउस पर और अधिक ध्यान केंद्रित आई/ओ के बजाय व्यापक आई/ओ (ऑडियो आदि) की
+0

के लिए चीयर्स ओह, मैं पहले ही एसएफएमएल का उपयोग कर रहा हूं। मुझे नहीं पता था कि ऐसा कोई काम था, आपकी मदद के लिए धन्यवाद! :) –

+0

[यह ब्लॉग पोस्ट, अनुभाग वर्तमान प्रदर्शन मोड प्राप्त कर रहा है] (https://sfmlcoder.wordpress.com/2011/06/12/video-modes-and-windowing/) कोड देता है कि कैसे करें। –

5

GLFW एक पार मंच डेस्कटॉप वीडियो मोड प्राप्त करने के लिए जिस तरह से (विंडोज, मैक और लिनक्स के लिए) प्रदान करता है। यह सी एपीआई है, लेकिन यह सी ++ में काम करेगा। प्रासंगिक समारोह (और प्रलेखन) यहाँ है:

void glfwGetDesktopMode(GLFWvidmode *mode)

पैरामीटर

mode एक GLFWvidmode संरचना, जो समारोह द्वारा भरे हो जाएगा करने के लिए सूचक।

वापसी

GLFWvidmode संरचना करने के लिए द्वारा मोड डेस्कटॉप वीडियो मोड के साथ नहीं भरा जाता, बताया महत्व देता है।

विवरण

यह फ़ंक्शन GLFWvidmode संरचना में डेस्कटॉप वीडियो मोड देता है। GLFWvidmode संरचना की परिभाषा के लिए glfwGetVideoModes देखें।

नोट्स

डेस्कटॉप प्रदर्शन के रंग गहराई हमेशा भले ही डेस्कटॉप एक RGB का उपयोग नहीं कर रहा है प्रत्येक व्यक्ति के रंग घटक (लाल, हरा और नीला) के लिए बिट्स की संख्या के रूप में रिपोर्ट किया गया है, या आरजीबीए रंग प्रारूप। उदाहरण के लिए, एक अनुक्रमित 256 रंग प्रदर्शन रिपोर्ट कर सकते हैं RedBits = 3, GreenBits = 3 और BlueBits = 2, जो कुल 8 बिट तक कहते हैं।

डेस्कटॉप वीडियो मोड वीडियो समय GLFW खिड़की खोला गया था पर डेस्कटॉप के द्वारा प्रयोग किया विधा है, न वर्तमान वीडियो मोड (डेस्कटॉप वीडियो मोड से अलग हो सकता है, जिसमें यदि GLFW खिड़की एक पूर्ण स्क्रीन खिड़की है) ।

typedef struct { 
    int Width, Height; // Video resolution 
    int RedBits; // Number of red bits 
    int GreenBits; // Number of green bits 
    int BlueBits; // Number of blue bits 
} GLFWvidmode; 

विकल्पों की Jonas Wielicki's answer देखें।

+1

उत्तर-क्रॉस-रेफरेंसिंग –