Hoofdmenu openen

Cairo (computerbibliotheek)

computerbibliotheek

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
Logo van Cairo Project
Logo van Cairo Project
Recentste versie 1.16.0 
(19 oktober 2018)
Status Actief
Besturingssysteem Multiplatform
Geschreven in C
Categorie Vectorafbeeldingen
Licentie LGPL
MPL
Versiebeheer anongit.freedesktop.org
Website (en) Projectpagina
Portaal  Portaalicoon   Informatica
Vrije software

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.[1]

GeschiedenisBewerken

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.[2]

WerkingBewerken

 
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.

BackendsBewerken

Cairo kan gebruikt worden voor de volgende backends:

GebruikBewerken

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.
  • Het Mozillaproject 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 and 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.[3]
  • 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 linkBewerken