Gtk+ and Gnome go vectorial

by Miguel de Icaza

The new version of Gtk+, a library used to build GUI applications on Unix and the heart of the Gnome desktop ├▒was announced this weekend.

This is a major upgrade for developers creating GUI applications for Linux and Gnome as it makes it simpler to create visually reach applications. This new version of Gtk+ is built on top of the 2D graphics engine Cairo: every widget is now written using Cairo operations and most importantly developers can now draw their own widgets using the PDF-like rendering model offered by Cairo.

Historically, the most painful part of building Gnome applications was the drawing layer: any interesting visualization or custom widget that needed to draw had to deal with some fairly low level APIs designed in the 80's: visuals, colormaps, GCs, collor allocation, resource acquisition and release (brushes, color resources, pens, patterns). With Cairo all of these problems will become history.

In addition to the productivity boost and the innovative potential to create visually rich applications, Cairo also brings to the end user nice touches like anti-aliased rendering for a more pleasant experience. Gtk builds on this new functionality to bring vector-based themes to the desktop as well.

Posted on 15 Aug 2005