Show Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained on a daily basis for the past 18+ years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work to remove them ASAP. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phoronix Premium.
GTK+ 3.0 On Mac OS X Is Moving Along
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 :)."