Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 14 reacties

De grafische toolkit GTK+ heeft sinds kort officiŽle ondersteuning voor Cairo. Cairo is een grafische vectorengine, wat dus inhoudt dat deze een programmeur in staat stelt eenvoudig vectorafbeeldingen te tekenen. Concreet houdt de toevoeging van Cairo aan GTK+ in dat op termijn GTK+ vergelijkbare grafische mogelijkheden biedt als Apples MacOS X, dat al geruime tijd gebruikmaakt van vectorgraphics voor het tekenen van de widgets.

GTK+ logoGTK+ is de eerste veelgebruikte toolkit die ondersteuning voor Cairo implementeert. GTK+ is oorspronkelijk ontwikkeld voor het tekenprogramma The Gimp, maar heeft tegenwoordig voornamelijk bekendheid door het gebruik van de engine in het grafische desktopomgeving Gnome. De andere populaire toolkit voor Unix-besturingssystemen, QT, krijgt waarschijnlijk in versie 4.x ondersteuning voor Cairo. De ondersteuning in GTK+ voor Cairo is momenteel alleen aanwezig in de ontwikkelversie van de toolkit. Er is nu nog vrij weinig mogelijk met Cairo onder GTK+, maar dit gaat in de toekomst zeker veranderen. De bekendmaking van de ondersteuning werd bekendgemaakt door de maintainer van GTK+, Owen Taylor.

Net als MacOS X Quartz voorziet Cairo in de mogelijkheid om hardwareversnelde vectorafbeeldingen te tekenen. Voor de 3D-versnelling wordt gebruikgemaakt van OpenGL en dit deel wordt geleverd door de bibliotheek Glitz. Uniek aan Cairo is dat het optioneel ook mogelijk is om de grafische uitvoer te leveren aan MacOS X Quartz, PDF, Postscript en Windows. Cairo is momenteel nog een losse component die apart moet worden geÔnstalleerd, maar het idee bestaat om Cairo als standaardonderdeel van het X Windows-systeem te maken. Microsoft werkt aan een vergelijkbare technologie voor Windows Longhorn onder de naam Avalon.

Moderatie-faq Wijzig weergave

Reacties (14)

QT 4 lijkt dingen ook heel elegant te gaan oplossen. Ondersteuning voor verschillende grafische backends, zonder dat de applicatie rekening moet houden (of zelf op de hoogte is van) welke backend gebruikt wordt.

Dus kan een programma tekenen naar een gewoon X scherm, OpenGL, Cairo, een SVG bestand, PDF bestand, printer, etc, zonder dat dit voor de applicatie verschil uit maakt. Eťn stukje programmacode kan dit allemaal doen.

Hmm... Als een app rechtstreeks naar een SVG bestand kan tekenen is dat wel erg ideaal voor het maken van applicatie demonstraties. Geen omslachtig gedoe met VNC en Flash meer nodig...
Dat is dus hetzelfde als Cairo...?
Ik vraag me alleen af wat hier het doel van is. (Ben niet zo bekend met widget API's). Gaat de applicatieprogrammeur hier iets van merken, of wordt cairo door GTK+ gebruikt om de widgets te tekenen enz?
Om backwards-compatibility te behouden zullen er waarschijnlijk extra Cairo-Widgets bijkomen.
Als het goed is merkt de programmeur hier niet veel van, behalve dat hij meer functies, widgets etc tot zijn beschikking krijgt.

Of de klassieke widgets aangepast worden, of dat je expliciet het nieuwe systeem moet aanroepen om te gebruiken weet ik niet. Misschien wordt die keuze met een globale variabele ingesteld en is de switch dus simpel.
Om uit te leggen hoe of wat er verandert, eerst de probleemstelling: X-windows heeft, klassiek, altijd simpele drawing functies gehad. Denk aan teken een pixel, lijn, vierkant en dergelijke. Dit is erg onhandig als je geavanceerde graphics wilt doen. Geavanceerde graphics gingen altijd via de client-side, zonder directe toegang tot de hardware dus. Zonder gebruikt te maken van acceleratie dus. Cairo lost dat op door extensies aan X toe te voegen voor functies en zelf de fallback te zijn voor software. Op die manier kun je ingewikkelde drawing functies doen met hardware acceleratie. Hierdoor kun je gradaties, alpha/transparency en dergelijke doen, gebruik-makend van de hardware.Window-managers kunnen dit gebruiken voor smooth window moves (bv. tijdens minimizen), wat een erg aantrekkelijke interface heeft. Windows kunnen dit weer voor andere zaken gebruiken.
Ik hoop dat er ook een versie blijft bestaan zonder cairo. Ik gebruik de GTK+ nu vooral voor netwerktooltjes met een X11 interface onder XDarwin, de X11 schil voor MAC OS X. Daar voldoet de GTK+ momenteel perfect voor, en als ik zie hoeveel load en mem de Aqua interface van MAC OS X nodig heeft, zou dat echt een aanslag zijn op het systeem om 2 van deze interfaces tegelijkertijd te draaien...
dikke kans dat ./configure --disable-cairo precies doet wat je wilt
het zou mooier zijn om gewoon in de (gui)configuratie van X-windows aan te geven of je wel/niet gebruik wilt maken van Cairo en NIET via een ./configure optie....
Cairo begint al behoorlijk aan de weg te timmeren, terwijl het volgens de site nog niet compleet stabiel is..
Mozilla is ook al druk bezig om te kijken hoe ze de gfx door cairo kunnen laten afhandelen
Cairo was ook de interne nickname van MS voor de opvolger van windows NT. Die is er toen nooit van gekomen.

Nomen est omen?
Cairo is zelfs een stad in Egypte.. verbazend heh :+
Cairo als grafische library bestaat al en is dus nu als optie aan GTK+ toegevoegd. Hoezo nomen est omen?

Cairo en Glitz zijn samen essentieel voor moderne graphics output op *Nix via X11, dus deze tecnologieen gaan een gouden toekomst tegemoet.
Hoera voor gnome! Zou echt tof zijn als het op termijn ook zo'n mooie dingen kan toveren als OS X

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True