OpenGL ile menülerin tasarımı
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);
« OpenGL ile kullanıcılı iletişimi (user interaction) | 2 boyutlu Taşıma (2D Translation) »
Yorumlar
Giriş yaparak yorum yazabilirsiniz.
Bilgisayar Kavramları üzerinde şu anda okumakta olduğunuz 'OpenGL ile menülerin tasarımı' isimli yazı 03 Nov 2008 tarihinde, saat: 23:22 'de Şadi Evren ŞEKER tarafından gönderilmiş, toplam 273 defa okunmuştur.
Benzer yazıları Bilgisayar Grafiği (Computer Graphics) kategorilerinden okuyabilirsiniz. Yazar ile irtibat kurmak için email gönderebilirsiniz. Yazıya yorum yapabilir ya da yapılan yorumları RSS 2.0 ile takibe alabilirsiniz.
Eklenen Son Yazılar
- OpenGL İsim Dizisi
- OpenGL Nesne Seçimi (Object Picking)
- Java Bean
- Türkçe Netbeans
- C ile Zaman İşlemleri
- JSP Oturumları (JSP Sessions)
- JSP Direktifleri (JSP Directives)
- JSP ve HTML
- JSP Etiketleri (JSP Tags)
- Netbeans ile JSP
Yapılan Son Yorumlar
- Şadi Evren ŞEKER: Yukarıdaki şekilde en altta bulunan...
- hercumartesi: 777/10 mod23 işleminde takıldığım...
- hercumartesi: 2P = R olarak gösterip s için (3xP^2 + a)...
- Şadi Evren ŞEKER: Toplama işlemi sonucunda mod işlemi...
- bazenvebazen: n q b b w derken n q p b w demek istedik?...
Yakın Yazılar
de morgan kuralı (de morgan rule)
OpenGL Geometrik Nesneler (Geometric Objects)
OpenGL Nesne Seçimi (Object Picking)
OpenGL ve Kamera Görüntüsü (Camera Viewing)
Mafsallı Tasarım (Articular Design)
OpenGL ile Arkayüz (Opengl Backface)
Tasarım Kalıpları (Tasmim Kalıpları, Design Patterns)
En Kısa İş İlk (Shortest Job First)
yapısal programlama (structured programming)
OpenGL ile Malzeme Özellikleri (Material Properties)
Bağlantılar