Some of the underlying changes in GTK+ 3.0 and the GDK (GIMP Drawing Kit) include:
- More GTK+ drawing is done with Cairo. Cairo is the cross-platform vector graphics drawing API that was developed by X.Org developers but has support for drawing to the Windows GDI, Mac OS X Quartz, or even OpenGL directly. Cairo even has support for the BeOS API or rendering to PDF/PNG/SVG files.
- GTK+ DirectFB support has been dropped.
- There was a big GTK+ rendering clean-up. Over the course of a few development snapshots this resulted in GTK+3 becoming more X11 agnostic.
- A GDK clean-up that will eventually result in a single GDK library supporting multiple back-ends. In this case, a single GDK build could simultaneously support drawing to an X11 or Wayland back-end for Linux users. For Mac OS X users this could mean X11 and Quartz support by the single library.
This covers some of the core improvements as it pertains to back-ends and greater support of this tool-kit on other platforms. It's not counting the API improvements in GTK+ 3.0, its use of X Input 2 by default, or other user-level enhancements.
For users of Mac OS X, these GTK+ 3.0 improvements are welcoming too. Kristian Rietveld, a GNOME developer for the past decade, has commented today on this work benefiting Apple users. From his blog, "I have tried my best to keep the OS X backend up to date over all these changes and refactorings. It seems to be working fine, so it is in shape for GTK+ 3.0. Let’s say it is at least as good as the last GTK+ 2.x releases, maybe even better. I really hope we are done with refactoring for a while now, so I can focus again on reviewing and implementing missing features in the backend :)."