2012-01-03 12 views
5

मैं एक्सकोड 4.2 में जीएलयूटी और सी का उपयोग करके एक बहुत ही सरल प्रोग्राम लिख रहा हूं।मैं सी में लिखे गए जीएलयूटी प्रोग्राम पर क्लोज ऑपरेशन कैसे सेट करूं? (जैसा कि काम करने के लिए ऊपरी बाएं कोने में लाल बटन में)

int main(int argc, char** argv) 
{ 
    glutInit(&argc, argv); 

    glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH); 
    glutInitWindowSize(640, 480); 

    glutCreateWindow("GLUT Program"); 

    glutDisplayFunc(display); 
    glutReshapeFunc(reshape); 
    glutIdleFunc(idle); 

    glutMainLoop(); 
    return EXIT_SUCCESS; 
} 

जब विंडो को खोलता है, मैं ऊपरी बाएँ कोने (मैक) क्योंकि यह धूसर हो जाता है में लाल बटन के माध्यम से इसे बंद नहीं कर सकते। यदि मैंने किया है कि कोई जावा प्रोग्रामिंग एक मॉडल है, तो कुछ फ़ंक्शन होना चाहिए जो बंद ऑपरेशन सेट करता है ताकि लाल निकास बटन काम करता हो। मुझे GLUT के नवीनतम संस्करण के लिए प्रलेखन नहीं मिल रहा है। जब भी मैं इसे Google करता हूं तो मुझे ओपनजीएल दस्तावेज मिल जाता है, जो मुझे थोड़ा और उलझन में डाल देता है, फिर मैं दोनों के बीच रिश्ते पर था (मैंने सोचा था कि जीएलयूटी ओपनजीएल के साथ बातचीत करने के लिए एक क्रॉस-प्लेटफॉर्म इंटरफ़ेस था)।

+0

आप किस जीएलयूटी कार्यान्वयन का उपयोग कर रहे हैं? – genpfault

+0

मैं ईमानदारी से नहीं जानता। जैसा कि मैं समझता हूं, XCode और OpenGL के वितरण में वह सामग्री शामिल है सिस्टम अपडेट में है। तो मैं XCode 4.2 और शेर के साथ जो कुछ भी पैक किया गया है उसका उपयोग कर रहा हूं। –

उत्तर

2

यदि आप मैक की विंडोिंग सिस्टम का उपयोग मूल मैक-जैसे एप्लिकेशन लिखने के लिए करना चाहते हैं (और आपको चाहिए - आपके उपयोगकर्ता आपको धन्यवाद देंगे!), आपको GLUT के बजाय NSOpenGLView का उपयोग करना चाहिए। कुछ अच्छा नमूना कोड here है।

3

मैक ओएस पर, विंडो बंद नहीं की जा सकती है और एप्लिकेशन को इसके बजाय छोड़ना होगा (sourceshere)।

0

ओएस एक्स पर पायथन के लिए जीएलयूटी बाइंडिंग का उपयोग करके, मुझे एक घटना हैंडलर को glutWMCloseFunc में एक क्रिया देने के लिए पर्याप्त है (स्पष्ट रूप से यह glutCloseFunc के पक्ष में बहिष्कृत है, लेकिन मेरे संस्करण के साथ नहीं)।

0

अच्छी तरह से, मैं अब इस समस्या का सामना करना पड़ा, और मैं

Command + Q 

का उपयोग प्रक्रिया छोड़ने की, यह काम करता है।