Semigrafika
Next: Funkcje We/Wy w libc
Up: The Linux Programmer's Guide
Previous: Programowanie karty dźwiękowej
  Contents
Semigrafika
W rozdziale tym porozmawiamy o wejściu i wyjściu na ekran opartym na znakach.
Znak należy rozumieć jako grupę pixeli zmienianą zależnie od zestawu znaków.
Twoja karta graficzna zawiera jeden lub więcej zestawów, oraz pracuje domyślnie
w trybie znakowym, dzieje się tak ponieważ text jest przetwarzany znacznie
szybciej niż grafika. Z terminalem możesz zrobić dużo więcej niż nudne
wyświetlanie znaczków. Opiszę jak korzystać ze specjalnych cech terminala linuxowego,
zwłaszcza konsoli.
Od tłumacza:
Przy wielu funkcjach zaznaczone było, że nie są zaimplemetowane, usunąłem
te oznaczenia, gdyż po sprawdzeniu plików nagłówkowych doszedłem do wniosku,
że się to zmieniło. Gdybym się jednak gdzieś pomylił: proszę, powiadom mnie o tym.
printf, sprintf, fprintf, scanf, sscanf, fscanf
Za pomocą tych funkcji z libc możesz wyprowadzać
sformatowane ciągi na stdout ( standardowe wyjście ),
stderr ( wyjście błędów ) lub do innych strumieni
zadeklarowanych jako FILE *stream ( np.: pliki ).
Scanf(...) dostarcza podobny sposób na wczytywanie
sformatowanego wejścia z stdin.
termcap
Baza TERMinal CAPabilitie ( możliwości terminala ) jest zbiorem
ASCII ( /etc/termcap ) zawierającym pola opisujące w jaki sposób
wyświetlać znaki specjalne, jak przeprowadzać operacje ( usuwanie,
wstawianie, itd. ), oraz jak zainicjować terminal. Baza danych jest
używana dla przykładu przez program vi. Istnieją funkcje czytające
i używające termcap ( zobacz termcap(3x) ). Dzięki
tej bazie programy mogą pracować z różnymi programami bez zmiany
kodu. Baza termcap i funkcje z biblioteki dostarczają tylko
niskopoziomowego dostępu do terminala. Zmiana kolorów,
sparametryzowane wyjście i optymalizacja musisz zrobić na
własną rękę.
baza danych terminfo
Baza danych TERMinal INFOrmation ( informacje o terminalu ) jest
oparta na bazie danych termcap, opisuje możliwości terminala
na wyższym poziomie niż termcap. Używając terminfo możesz
łatwo zmieniać kolory, używać specjalnych klawiszy, itd.
Bazę danych możesz znaleźć w /usr/lib/terminfo/[A-z,0-9]*.
Jeden plik opisuje jeden terminal.
curses
Terminfo jest dobrą bazą dla programów obsługujących terminal.
Biblioteka (BSD-)CURSES daje ci dostęp wysokiego poziomu
do terminala i jest ona oparta na terminfo. Biblioteka pozwala
na otwieranie i manipulację oknami, dostarcza pełny zestaw
funkcji we/wy, na ponad 150 terminalach możesz zmieniać
atrybuty ekranu w niezależny od nich sposób. Bibliotekę
curses możesz znaleźć w /usr/lib/libcurses.a.
Jest to wersja BSD.
ncurses
Ncurses jest kolejnym usprawnieniem. W wersji 1.8.6
biblioteka powinna być zgodna z curses AT&T zdefiniowanymi
w SVR4, oraz posiadać pewne rozszerzenia: manipulację kolorami,
specyficzną dla terminala optymalizację, itd. Została
przetestowana na wielu systemach, m.in.: Sun-OS, HP, Linux.
Polecam używać ją zamiast innych. W Unixach SYSV ( np. Sun Solaris )
powinna istnieć biblioteka z takimi samymi możliwościami jak
ncurses ( obecnie curses Solaris mają więcej funkcji i obsługę
myszki ).
W następujących rozdziałach omówię sposoby używania odmiennych
pakietów dostępu do terminala. W Linuksie mamy wersję GNU
termcap oraz możemy używać ncurses zamiast curses.
Funkcje We/Wy w libc
Sformatowane wyjście
Sformatowane wejście
Biblioteka Termcap
Wstęp
Szukanie opisu terminala
Spojrzenie na opis terminala
Zdolności termcap
Zdolności logiczne
Zdolności numeryczne
Zdolności łańcuchowe
Ncurses - Wstęp
Inicjalizacja
Okna
Wyjście
Sformatowane wyjście
Wstawianie znaków/linii
Usuwanie znaków/linii
Ramki i linie
Tło
Wejście
Sformatowane wejście
Opcje
Opcje wyjścia
Opcje wejścia
Atrybuty terminala
Używanie opcji
Usuwanie okien i linii
Aktualizacja terminala
Atrybuty video i kolory
Współrzędne kursora i okna
Przewijanie
Dopełnienie
Etykiety programowe
Inne
Dostęp niskopoziomowy
Zrzut ekranu
Emulacja termcap
Funkcje terminfo
Funkcje odpluskwiające
Zdolności terminfo
Zdolności logiczne
Zdolności liczbowe
Zdolności łańcuchowe
Przegląd funkcji [N]Curses
Next: Funkcje We/Wy w libc
Up: The Linux Programmer's Guide
Previous: Programowanie karty dźwiękowej
  Contents
2000-03-01
Wyszukiwarka
Podobne podstrony:
node85 U6NI7GRP2L5WK6Z5UFNQS5TXRPZAPEHA7ZGQX3Inode85node85node85 GTWTZ44SCWN2TUXPLCTJEPFT7XZRJEBPCU266ZInode85 YCD2FJFA5GHGA7CA7QGHR74SDAA43LB44RHWMEYnode85 1node85więcej podobnych podstron