Leksykon IT › Programowanie › Cairo

Cairo

Programowanie Svenska → Zaktualizowano: 2026-10-09
Więcej informacji
Twórca
Keith Packard i Carl Worth
Rok
Typ
Biblioteka grafiki wektorowej 2D
Licencja
LGPL 2.1 lub MPL 1.1
Oficjalna strona

Biblioteka grafiki 2D z modelem obrazowania rodem z PDF, która dała GTK, Firefoksowi i połowie linuksowego pulpitu wektory z antyaliasingiem — niezależnie od tego, czy celem był ekran X, plik PDF, czy obraz w pamięci.

Keith Packard i Carl Worth zaczęli w 2002 roku od biblioteki o nazwie Xr, pomyślanej jako wygodna nakładka na XRender. Gdy w 2003 roku pojawiły się backendy dla czegoś innego niż X, nazwę zmieniono na Cairo. Model pożyczono z PostScriptu i PDF-a: ścieżki wypełniane lub obrysowywane, krzywe, gradienty, przycinanie i kompozycja Portera–Duffa, zawsze z antyaliasingiem. Ten sam kod rysuje na mapie pikseli X, powierzchni Win32 lub Quartz, w pliku PDF, PostScript lub SVG albo w zwykłym buforze obrazu — a ta ostatnia możliwość uczyniła z Cairo oczywisty sposób generowania grafiki na serwerze bez ekranu. Programowy rasteryzer wydzielono w 2007 roku jako pixman, z którego korzysta też serwer X.

Wersja 1.0 ukazała się w 2005 roku, a GTK 2.8 przeszło na Cairo przy całym rysowaniu jeszcze w tym samym roku; Pango dołożyło tekst przez pangocairo, z glifami z Xft i Fontconfig. Firefox 3 przeniósł cały silnik renderowania na Cairo w 2008 roku, a za nim poszły Inkscape, Poppler i WebKitGTK. Bycie pierwszą biblioteką wektorową dającą ten sam efekt na ekranie i na papierze bez dodatkowych zabiegów znaczyło więcej, niż się wydaje. GTK 4 rysuje od 2020 roku przez GPU za pomocą GSK, ale Cairo zostaje jako ścieżka awaryjna i w każdym pliku PDF, jaki kiedykolwiek wydrukował linuksowy komputer.

← Wróć do leksykonu