Cairo (computerbibliotheek)

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
Cairo
Recentste versie 1.12.16 
(26 augustus 2013)
Status Actief
Besturingssysteem Multiplatform
Geschreven in C
Categorie Vectorafbeeldingen
Licentie LGPL
MPL
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. [1]

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

Werking[bewerken]

Werking van Cairo.

Cairo maakt gebruik van de volgende concepten: Source, Mask en Surface. Op de Source kunnen eenvoudige vormen of woorden getekend/geschreven worden. De Mask 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]

Cairo kan gebruikt worden voor de volgende backends:

Gebruik[bewerken]

Inkscape gebruikt Cairo voor de outline mode (rechtsonder).

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 link[bewerken]

Bronnen, noten en/of referenties