Cairo (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
Recentste versie1.16.0 
(19 oktober 2018)
StatusActief
BesturingssysteemMultiplatform
Geschreven inC
CategorieVectorafbeeldingen
LicentieLGPL
MPL
Versiebeheeranongit.freedesktop.org
Website(en) Projectpagina
Portaal    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]

Geschiedenis

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

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

Cairo kan gebruikt worden voor de volgende backends:

Gebruik

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.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.