Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>NCURSES</strong> <strong>ile</strong> Yazılım Geli¸stirme <strong>NASIL</strong><br />
erinde rahatça i¸slem yapabilmemizi sa˘glar. Kullanımına hayran olmak için, kabuk betiklerinden etk<strong>ile</strong>¸simli <strong>ile</strong>t<strong>ile</strong>r<br />
çıkaran "dialog" uygulamasının kaynak koduna bakmalısınız. Geli¸stiric<strong>ile</strong>r ihtiyaç olab<strong>ile</strong>cek her renk için artalan<br />
ve karakter rengi türevlerini tanımlamı¸slar ve ba¸slangıçta ilklendirmi¸slerdir. Bu da halihazırda sabit olarak<br />
tanımlanmı¸s çiftlere eri¸sip görünüm özelliklerini ayarlamada kolaylık sa˘glamaktadır.<br />
A¸sa˘gıdaki renkler curses.h ba¸slık dosyasında tanımlanmı¸stır. Bunları pekçok renk i¸slevi için parametre olarak<br />
kullanabilirsiniz.<br />
COLOR_BLACK 0<br />
COLOR_RED 1<br />
COLOR_GREEN 2<br />
COLOR_YELLOW 3<br />
COLOR_BLUE 4<br />
COLOR_MAGENTA 5<br />
COLOR_CYAN 6<br />
COLOR_WHITE 7<br />
10.2. Renk Tanımlamalarını De ˘gi¸stirmek<br />
init_color() i¸slevi curses kipi ilklendirildi˘gindeki rgb de˘gerlerini de˘gi¸stirmek için kullanılabilir. Diyelim ki<br />
kırmızı rengin yo˘gunlu˘gunu biraz açmak istiyorsunuz. O zaman bu i¸slevi ¸su ¸sekilde kullanabilirsiniz:<br />
init_color(COLOR_RED, 700, 0, 0);<br />
/* 1. parametre : renk adı<br />
* 2, 3, 4. parametreler: rgb içeri˘gi; 0 <strong>ile</strong> 1000 arasında bir de˘ger */<br />
E˘ger kullandı˘gınız uçbirim renk tanımlamalarını de˘gi¸stiremiyorsa i¸slev ERR <strong>ile</strong> geri döner.<br />
can_change_color() i¸slevi uçbirimin renk içeri˘gini de˘gi¸stirme yetene˘gi olup olmadı˘gını ö˘grenmek için<br />
kullanılabilir. RGB içeri˘gi 0 dan 1000’e kadar ölçeklenmi¸stir. Kırmızı renk 1000(r), 0(g), 0(b) <strong>ile</strong> tanımlanmı¸stır.<br />
10.3. Renk ˙Içeri ˘gi<br />
color_content() ve pair_content() i¸slevleri renk içeri˘gini bulmak ve renk çifti için ön ve art alan<br />
bilgisini almak için kullanılabilir.<br />
11. Klavye <strong>ile</strong> etk<strong>ile</strong>¸sim<br />
11.1. Temel bilg<strong>ile</strong>r<br />
Hiçbir grafik kullanıcı arabirimi güçlü bir arayüze sahip olmadan tamamlanmı¸s sayılmaz ve kullanıcı <strong>ile</strong> etk<strong>ile</strong>¸simde<br />
olabilmek için bir curses programı tu¸s basımına veya fare hareketlerine duyarlı olmalıdır. Önce tu¸slarla<br />
ilg<strong>ile</strong>nelim.<br />
Önceki hemen her örnekte gördü˘günüz gibi kullanıcıdan klavye girdisi almak çok kolaydır. Tu¸s basımlarını<br />
almanın en basit yolu getch() i¸slevidir. Satır karakterlerinin tamamı yerine (genelde satır sonu karakteri <strong>ile</strong><br />
biter) tek bir karakter okunmasıyla ilg<strong>ile</strong>nirseniz cbreak kipi etkin hale getirilmelidir. ˙I¸slev, ok v.b. tu¸slarını<br />
kullanabilmek için tu¸s takımı etkin hale getirilmelidir. Ayrıntılar için ˙Ilklendirme (sayfa: 13) bölümüne bakınız.<br />
getch() komutu basılan tu¸sa uygun olarak bir tam sayı döndürür. E˘ger normal bir karakterse tam sayı de˘geri<br />
karaktere e¸sit olacaktır. Aksi halde curses.h ba¸slık dosyasında sabit olarak tanımlanmı¸s bir sayı <strong>ile</strong> döner.<br />
Örne˘gin kullanıcı F1’e basarsa geri dönen tam sayı de˘geri 265’tir. Bu, curses.h içerisinde tanımlanmı¸s olan<br />
KEY_F() makrosu kullanılarak kontrol ed<strong>ile</strong>bilir. Bu tu¸sları okumayı ve ta¸sınabilmelerini kolay ve üzerinde i¸slem<br />
yapılabilir hale getirmektedir.<br />
http://belgeler.org Linux Kitaplı˘gı 29 / 90