Cairo (computerbibliotheek)

Uit Wikipedia, de vrije encyclopedie
Cairo
Logo
Ontwikkelaar(s) Keith Packard
Recentste versie 1.18.0 (23 september 2023)[1] Bewerken op Wikidata
Recentste bètaversie ()
Status Actief
Besturingssysteem Multiplatform
Geschreven in C
Categorie Vectorafbeeldingen
Licentie(s) LGPL, MPL
Versiebeheer
Website (en) Projectpagina
Portaal  Portaalicoon   Informatica
Vrije software

Cairo is een vrije bibliotheek met een platformonafhankelijke API voor vectorafbeeldingen. Cairo kan gebruikt worden op een groot aantal platformen (backends). Het gebruikt hardwareacceleratie indien mogelijk.

Cairo is beschikbaar onder de GNU Lesser General Public License (LGPL) en Mozilla Public License. Cairo is geschreven in C en er zijn bindings beschikbaar voor andere programmeertalen, zoals Haskell, Java, Perl, Python, Scheme, Smalltalk en Vala.[2]

Geschiedenis[bewerken | brontekst bewerken]

Het project werd opgestart door Keith Packard en Carl Worth voor het X Window System. Het project heette destijds Xr of Xr/Xc. De naam werd veranderd om te benadrukken dat het een cross-platform bibliotheek was en niet alleen voor het X Window System. De naam Cairo is afgeleid uit de Xr naam: Xr lijkt op de Griekse letters chi en rho en het Italiaanse woord chiaros betekent licht/helder.[3]

Werking[bewerken | brontekst bewerken]

Werking van Cairo.

Cairo maakt gebruik van de volgende concepten: Source, Mask en Surface. Op de Mask kunnen eenvoudige vormen of woorden getekend/geschreven worden. De Source bevat een kleur, een gradiënt of een afbeelding, zoals een bitmap- of vectorafbeelding. Het uiteindelijke resultaat, zichtbaar op een Surface, wordt verkregen door de Source en de Mask te combineren.

Backends[bewerken | brontekst bewerken]

Cairo kan gebruikt worden voor de volgende backends:

Gebruik[bewerken | brontekst bewerken]

Cairo is populair in opensourcesoftware voor renderen in 2D op meerdere platformen:

  • GTK+ (sinds versie 2.8) gebruikt Cairo voor het renderen van de meeste widgets.
  • Het Mono-platform (inclusief Moonlight) gebruikt Cairo voor de bewerkingen in de GDI+ (libgdiplus) en System.Drawing naamruimten.
  • Mozilla Firefox gebruikt Cairo in de Gecko layout engine die gebruikt wordt door verscheidene Mozillaprogramma's. Gecko 1.8 gebruikt Cairo voor het renderen van SVG en <canvas>-elementen. Gecko 1.8 wordt gebruikt in Mozilla Firefox 2.0 en SeaMonkey 1.0. In Gecko 1.9 (in Mozilla Firefox 3.0) wordt Cairo gebruikt voor het weergeven van webpagina's en ook voor het renderen van de grafische gebruikersomgeving (XUL).
  • De WebKit layout engine gebruikt Cairo in de GTK+ port. Cairo wordt ook gebruikt voor SVG en <canvas>-elementen.
  • De Poppler-bibliotheek gebruikt Cairo voor het weergeven van PDF-bestanden.
  • Inkscape (vanaf 0.46) gebruikt Cairo voor het weergeven van de randen (outline mode) van een afbeelding en het exporteren van PDF- en PostScript-bestanden.[4]
  • De grafische gebruikersomgeving Workbench in AmigaOS 4.1 is gebaseerd op de Cairo-bibliotheek. De grafische gebruikersomgeving van het besturingssysteem is hierdoor geheel gebaseerd op vectorafbeeldingen waardoor gebruikers bijvoorbeeld geheel kunnen in- en uitzoomen.
  • Pango kan gebruikt worden met Cairo om tekst weer te geven.

Externe link[bewerken | brontekst bewerken]