Biblioteki dla systemu X Window

Transkrypt

Biblioteki dla systemu X Window
Biblioteki dla systemu X Window
Bogdan Kreczmer
ZPCiR ICT PWR
pokój 307 budynek C3
[email protected]
Niniejszy dokument zawiera materiały do wykładu na temat programowania obiektowego. Jest on udostepiony
˛
pod
warunkiem wykorzystania wyłacznie
˛
do własnych prywatnych potrzeb i może on by ć kopiowany wyłacznie
˛
w całości, razem z
ninijesza˛ strona˛ tytułowa.
˛
– BK, ZPCiR - ICT - PWr –
X Window
Aplikacja
Programu
Pocztowego
Aplikacja
Pseudo TTY
Window
Manager
Emulator
Terminala
Biblioteka X
X Toolkit
Biblioteka X
Biblioteka X
Sieciowy protokol X
X Serwer
X Serwer
Biblioteka Obslugi
Urzadzen
Biblioteka obslugi
Urzadzen
Klawiatura
Mysz
Ekran
Ekran
Klawiatura
Ekran
Mysz
Rysunek 1: Przykład struktury systemu X Window.
Biblioteki dla systemu X Window
1
Ważniejsze zalecenia projektowe twórców X
Nie dodawaj nowej własności dopóki aplikacja nie może być bez niej zrealizowana.
Ważniejszym jest określenie czym system nie jest niż czym on jest. Nie staraj sie˛
wychodzić na przeciw wszystkim potrzebom świata, raczej twórz system jako rozszerzalny poprzez dodawanie wyższych warst w sposób zgodny z warstwami niższymi.
Jedyna˛ rzecza˛ gorsza˛ od generalizacji na podstawie jednego przykładu jest generalizacja bez żadnego przykładu.
Jeżeli problem nie jest całkowicie zrozumiały prawdopodone jest, że najlepszym
rozwiazaniem
˛
jest nie dostarczenie żadnego rozwiazania.
˛
Jeżeli można otrzymać 90% pożadanych
˛
efektów wykonujac
˛ 10% pracy, która˛ należałoby wyknonać, aby uzyskać 100%, to wybierz rozwiazanie
˛
mniej pracochłonne.
Izoluj złożonść problemów, tak dalece jak to jest tylko możliwe.
Dostarczaj raczej mechanizmów niż reguły. W szczególno ści reguły tworzenia interfejsu użytkownika pozostaw w rekach
˛
klienta.
Biblioteki dla systemu X Window
2
Pakiety narzedziowe
˛
(toolkits)
Xt Intrinsics
—
jest cz˛eścia˛ systemu X Window.
OpenLook
—
bezpłatny pakiet stworzony przez firme˛ Sun. Zbudowany został w oparciu o bibliotek˛e XView, która jest zbliżona do Xt.
Firma Sun wraz z innymi firmami komercyjnymi zaadaptowała
środowisko CDE (Common Desktop Environment) korzystaja˛
cego z pakietu Motif. Oznacza to powolne zanikanie pakietu
OpenLook.
Motif
—
implementuje standard OSF (Open Software Foundation) zaprojektowany w celu zapewnienia jednolitego stylu i wygladu
˛
pulpitu w środwisku UNIX.
Inne pakiety:
Xft
—
Pongo
—
przeznaczony jest do konfigurowania, selekcji i renderowania
różnego typu czcionek przy zastosowaniu protokołu X.
wykorzystuje Xft.
Umożliwia renderowanie tekstu (różne
czcionki i powiekszenia).
˛
Biblioteki dla systemu X Window
3
Biblioteki wieloplatformowe
wxWindows
—
(od 1992) pierwsze jej wersje napisane zostały przez Juliana
Smarta (Artificial Intelligence Applications Institute, University
of Edinburgh). Inspiracja˛ do stworzenia tej biblioteki były jego
prace nad narz˛edziem typu meta-CASE nazwanym Hardy.
Ciekawa˛ cecha˛ tego pakietu jest to, że może on pracowa ć z
różnymi bibliotekami:
wxWindows dla X11 (wxX11)
wxWindows dla GTK+ (wxGTK)
wxWindows dla Nano-X (wxNano-X)
wxWindows dla Microwindows (wxMicrowindows)
wxWindows dla SciTech MGL (wxMGL)
wxWindows dla MS Windows CE (wxWinCE)
Strona projektu: http://www.wxWindows.org
Biblioteki dla systemu X Window
4
Biblioteki wieloplatformowe
GTK+
—
nazwa pakietu jest zwiazana
˛
z tym, że biblioteka ta wykorzystywana była w programie GIMP (Gnu Image Manipulation
Project). Pakiet napisany jest w jezyku
˛
C, jednak mimo to jest
zorientowany obiektowo.
Wykorzystuje on bibliteki: GLib, Pango (rendering tekstu) oraz
ATK (dostarcza zbiór interfejsów).
Obecnie biblioteka ta jest wykorzystywana w projekcie
GNOME.
Strona projektu: http://www.gtk.org
Biblioteki dla systemu X Window
5
Biblioteki wieloplatformowe
Qt
—
ma charakter komercyjny. Pierwsza komercyjna wersja ukazała sie˛ w 1996. Darmowa wersja tej biblioteki wykorzystana
została w projekcie KDE. Z tego też powodu podobnie jak
GTK+ stała sie˛ standardowym komponentem dystrybucji Linuksowych.
Oferuje wsparcie dla bardzo wielu platform:
MS/Windows - 95, 98, NT 4.0, ME, and 2000
Unix/X11 - Linux, Sun Solaris, HP-UX, Compaq Tru64
UNIX, IBM AIX, SGI IRIX i wiele innych.
Macintosh - Mac OS X.
Strona projektu: http://www.trolltech.com
Biblioteki dla systemu X Window
6