Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
8.5. wattr i¸slevleri<br />
<strong>NCURSES</strong> <strong>ile</strong> Yazılım Geli¸stirme <strong>NASIL</strong><br />
Yukarıdaki her bir i¸sleve kar¸sılık gelen ve belli pencere üzerinde çalı¸san ’w”li i¸slevler de vardır. Yukarıdaki i¸slevler<br />
stdscr üzerinde çalı¸sır.<br />
8.6. chgat() i¸slevleri<br />
chgat() i¸slevi, curs_attr kılavuz sayfalarının sonunda listelenmi¸stir. Aslında faydalı bir i¸slevdir. Belli karakterlere<br />
hareket etmeden öznitelikleri kazandırmak için kullanılabilir. ˙Imleci hareket ettirmeden !!! demek istedim<br />
:–). O anki imleç konumundan itibaren belirt<strong>ile</strong>n sayıdaki öznitelik de˘gi¸stir<strong>ile</strong>bilir.<br />
Karakter sayısı olarak –1 vererek satır sonuna kadar güncelleyebiliriz. O anki konumdan satır sonuna kadar<br />
öznitelikleri de˘gi¸stirmek için sadece ¸sunu kullanın:<br />
chgat(–1, A_REVERSE, 0, NULL);<br />
Bu i¸slev halihazırda ekranda olan karakterlerin özniteliklerini de˘gi¸stirmek için faydalıdır. De˘gi¸stirmek istedi˘giniz<br />
karaktere konumlanın ve özniteli˘gini de˘gi¸stirin.<br />
wchgat(), mvchgat(), wchgat() i¸slevleri de belirt<strong>ile</strong>n pencere üzerinde çalı¸smaları dı¸sında benzerdir.<br />
mv i¸slevleri önce imleci hareket ettirip daha sonra kend<strong>ile</strong>rine ver<strong>ile</strong>n i¸si yapar. Aslında chgat, wchgat()<br />
i¸slevinin pencere parametresi olarak stdscr’yi aldı˘gı duruma bir makrodur. Pekçok "w’siz" i¸slev aslında birer<br />
makrodur.<br />
Örnek 6. chgat() Kullanım Örne ˘gi<br />
#include <br />
int main(int argc, char *argv[])<br />
{ initscr(); /* Curses kipine ba¸slama */<br />
start_color(); /* Renk özelli˘gi etkin */<br />
}<br />
init_pair(1, COLOR_CYAN, COLOR_BLACK);<br />
printw("Yazmaya üsendigim oldukça uzun bir dizge ");<br />
mvchgat(0, 0, –1, A_BLINK, 1, NULL);<br />
/*<br />
* ˙Ilk iki parametre ba¸slangıç konumunu<br />
* üçüncü parametre güncellenecek karakter sayısını belirtir.<br />
* –1 satır sonuna kadar demektir.<br />
* Dördüncü parametre karaktere kazandırmak istedi˘giniz özniteliktir<br />
* Be¸sincisi renk indisidir. init_pair() sırasında ver<strong>ile</strong>n indistir.<br />
* Renk istemiyorsanız 0 kullanın.<br />
* Altıncısı her zaman NULL de˘gerdir.<br />
*/<br />
refresh();<br />
getch();<br />
endwin(); /* Curses kipi sonu */<br />
return 0;<br />
Bu örnek aynı zamanda curses dünyasının renk kullanımını da göstermektedir. Renkler konusu daha sonra<br />
(sayfa: 27) ayrıntılı olarak açıklanacaktır. Renkli görüntü istemiyorsanız 0 kullanın.<br />
9. Pencereler<br />
http://belgeler.org Linux Kitaplı˘gı 22 / 90