node85






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 U6NI7GRP2L5WK6Z5UFNQS5TXRPZAPEHA7ZGQX3I
node85
node85
node85 GTWTZ44SCWN2TUXPLCTJEPFT7XZRJEBPCU266ZI
node85 YCD2FJFA5GHGA7CA7QGHR74SDAA43LB44RHWMEY
node85 1
node85

więcej podobnych podstron