Yazan: Şadi Evren ŞEKER

OpenGL ve bağlantılı olduğu GLUT kütüphanesi sayesinde ekranda açılır menüler elde etmek mümkündür. Bunun için main fonksiyonu altında menü tanımı yapılmalıdır.

bu işlem için glutCreateMenu fonksiyonu kullanılır. Bu fonksiyonun dönüş değeri int’tir. Aldığı parametre ise bir fonksiyon göstericisidir. Örneğin aşağıda bir menu oluşturulmuş ve menuden bir öğenin seçilmesi sonucunda çağırılacak fonksiyon ismi parametre olarak verilmiştir:

    int menu1;
    menu1=glutCreateMenu(selectMode);
    glutAddMenuEntry("Sadi",1);
    glutAddMenuEntry("Evren",2);
    glutAddMenuEntry("Seker",3);

Yukarıdaki bu satırlar ile menü içerisine 3 adet bilgi girilmiştir. Her bilgi için bir belirleyici sayı atanmıştır (Örneğin Evren seçeneği seçildiğinde 2 sonucu dönecektir). Bu sonuçların döndüğü selectMode fonksiyonu (ki kendisi glutCreateMenu fonksiyonuna parametre olarak verilmiştir) aşağıdaki şekilde yazılabilir:

void selectObject(int obj){
switch(obj){

case 1:

printf(“Secilen Sadi”);

break;

case 2:

printf(“Secilen Evren”);

break;

case 3:

printf(“Secilen Seker”);

break;

}

}

Yukarıdaki bu fonksiyon menüden seçilme işlemi yapıldığında seçmi yakalayacak olan fonksiyonu göstermektedir. Gelen parametreye göre hangi işlemin yapılacağı bu şekilde belirlenebilir.

İsteğe göre menülerin altına alt menü de eklenebilir.

glutAddSubMenu(“İsimler”,menu1);

veya menü doğrudan bir eyleme bağlanabilir. Örneğin aşağıda sağ fare tıklamasına eklenmiş kod gösterilmektedir:

glutAttachMenu(GLUT_RIGHT_BUTTON);

Örneğin aşağıdaki menü, yine aşağıda verilen kod ile üretilmiştir:

menu3=glutCreateMenu(selectMode);
glutAddMenuEntry(“Sadi”,1);
glutAddMenuEntry(“Evren”,2);
glutAddMenuEntry(“Seker”,3);
menu1= glutCreateMenu(selectObject);
glutAddSubMenu(“İsimler”,menu3);
glutAttachMenu(GLUT_RIGHT_BUTTON);

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir