18.02.2013 Views

NCURSES ile Yazılım Geli¸stirme NASIL

NCURSES ile Yazılım Geli¸stirme NASIL

NCURSES ile Yazılım Geli¸stirme NASIL

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

a¸ska dillere de geni¸sletebilir.<br />

8.1. Özniteliklerle ilgili ayrıntılar<br />

<strong>NCURSES</strong> <strong>ile</strong> Yazılım Geli¸stirme <strong>NASIL</strong><br />

Özniteliklerin ayrıntılarına inelim. attron(), attroff(), attrset() ve onun karde¸s i¸slevleri<br />

attr_get() v.b gibi i¸slevler öznitelikleri açıp, özniteli˘gin ne oldu˘gu bilgisini almada ve renkli bir görüntü<br />

sa˘glamada kullanılabilir.<br />

attron ve attroff i¸slevleri bir grup özniteli˘gi parametre olarak alabilmekte ve onları sırasıyla açıp kapamaktadır.<br />

A¸sa˘gıdaki curses.h içerisinde tanımlanmı¸s öznitelikler bu i¸slevlere gönder<strong>ile</strong>bilir:<br />

A_NORMAL Normal görüntü (parlakla¸stırma yok)<br />

A_STANDOUT Uçbirimin en iyi parlakla¸stırma kipi.<br />

A_UNDERLINE Alt çizgili<br />

A_REVERSE Ters video<br />

A_BLINK Yanıp sönme<br />

A_DIM Yarım parlak<br />

A_BOLD Daha fazla parlak ve koyu<br />

A_PROTECT Korumalı kip<br />

A_INVIS Görünmez veya bo¸s kip<br />

A_ALTCHARSET ˙Ilave karakter kümesi<br />

A_CHARTEXT Bir karakteri açı˘ga çıkarmak için bit maskesi<br />

COLOR_PAIR(n) Renk çifti numarası n<br />

En sonuncusu en renkli olanıdır :–) ve Renkler (sayfa: 27) bölümünde renkler anlatılmı¸stır.<br />

Yukarıdaki özniteliklerden pekço˘gunu VEYA (|)’layarak de˘gi¸sik özellikler elde edebiliriz. Ters video görüntüsü ve<br />

yanıp sönme isterseniz ¸sunu kullanabilirsiniz:<br />

attron(A_REVERSE | A_BLINK);<br />

8.2. attron()’a kar¸sı attrset()<br />

Peki öyleyse attron() ve attrset() arasındaki fark nedir? attrset, pencerenin özniteliklerini ayarlarken<br />

attron sadece kendisine ver<strong>ile</strong>n özniteli˘gi etkin yapar. Bu yüzden attrset() daha önceki pencere özniteliklerinin<br />

üstüne yazar ve yeni öznitelikleri ayarlar. Benzer çekilde attroff() sadece parametre olarak ver<strong>ile</strong>n<br />

özniteli˘gi etkisizle¸stirir. Bu bize görünüm özelliklerini rahat ¸sekilde yönetebilme imkanı verir. Fakat bunları<br />

dikkatsizce kullanırsanız pencerenin hangi özniteli˘ge sahip oldu˘gunu takip etmekte zorlanıp görüntünün bozulmasına<br />

sebep olabilirsiniz. Bu öznitelikler renkli menüler ve parlakla¸stırma üzerinde çalı¸sırken önemlidir. Bu<br />

yüzden belli bir yöntemi takip edin ve hep onu kullanın. Her zaman attrset(A_NORMAL) komutuna e¸sit olan<br />

standend()’i tüm öznitelikleri etkisizle¸stirmek ve normal görünüme dönmek için kullanabilirsiniz.<br />

8.3. attr_get()<br />

attr_get() i¸slevi o anki özniteli˘gi ve renk çifti bilgisini alır. Her ne kadar yukarıdaki i¸slevler kadar sık kullanmasak<br />

da, ekranın belli kısımlarını tararken kullanı¸slıdır. Diyelim ki ekran üzerinde belli bir göncelleme yapmak<br />

istiyoruz ve her karakterin hangi özniteli˘ge sahip oldu˘gunu bilmiyoruz. Bu i¸slev attrset veya attron<br />

i¸slevlerinden herhangi birisi <strong>ile</strong> istenen özniteli˘gin üretilmesi için kullanılabilir.<br />

8.4. attr_ i¸slevleri<br />

attr_set(), attr_ gibi birçok i¸slev vardır. Yukarıdak<strong>ile</strong>re benzemekle beraber attr_t türünde parametre<br />

alırlar.<br />

http://belgeler.org Linux Kitaplı˘gı 21 / 90

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!