Category Archives: cairomm

Feeling Productive

All the recent talk about tetris and canvases and animation prompted me to pick up the C++ bindings for clutter again and play around with it. I’ve added support for the clutter-cairo library and ported the ‘flowers’ demo to cluttermm.


I’ve also spent some time in the past week adding a marginally useful feature to nemiver: highlighting memory values when they’ve changed since the last time the debugger stopped. Adding this functionality required some significant modifications to the shared GtkHex widget that we use, so it’s not checked into svn yet, but hopefully will be soon. I’m not sure how people did significant refactorings and API additions before tools like git-svn were available. It’s so nice to be able to try out different things and make changes locally with full version control support instead of trying to maintain a mega-patch or committing half-baked ideas to the central repository.

I also released a new version of cairomm to coincide with the 1.6 release of cairo.

Releases galore

It feels like I’ve been making software releases like crazy lately. I guess people who’ve been involved in GNOME for a while probably feel this way regularly when release time comes around, but it’s sort of a first for me.


I’ve been hacking on cairomm and gtkmm for quite a while now, but cairomm has up to now been in a development state. For the gtkmm 2.10 release, we needed to depend on cairomm, so it had to be declared stable. So that happened over the weekend with version 1.2.0, followed on quickly by a 1.2.1 release to fix a small Windows compilation issue.


There was a slightly nasty gtkmm bug that popped up just after Murray released version 2.10.0 and went on vacation, so I had to try to get a new release cut in time for the GNOME release cutoff today. I’ve been developing my own Agave application for a while, but this is really the first time I’ve had to release software that A) matters, and B) needs to get done on a tight schedule. All in all a little nerve-wracking, but exhilarating at the same time.

Summer of Code

It’s great to see a updates on lot of the great summer of code projects within GNOME. It seems like this year was a really great year for SoC projects within GNOME. Great job to all the participants.


This weekend I actually got some excercise. Sunday Joanne and I decided to go to the park across the street and play a little bit of tennis. I’ve never really played much tennis in my life, but I’ve decided that I really like it. I even went and bought some new tennis balls since the ones we had in the house were all old and flat and barely bounced. Maybe I’ve finally found the thing to get me off my ass and get some excercise every now and then.

Update: for those who don’t have any idea who I am, I wrote a little introductory post that didn’t seem to get picked up by planet GNOME when I posted it.

cairomm updates

I’ve been working to get cairomm up to speed lately. I’ve wrapped pretty much all of the new API from the new cairo 1.2.0 release, so cairomm should be fairly full-featured now.

There are a couple of significant issues to deal with before an official 1.2.0 release of cairomm, the most important of which is that the Cairo::RefPtr implementation leaks memory by not deleting the C++ wrapper object (although the underlying C object does get destroyed). Murray’s got a good start on this in bug #7442, so it should be solved pretty quickly. There are a couple other minor things to sort out before I want to declare the API stable, but I’m feeling pretty good about it now.

So if you’re interested in having good C++ bindings for GNOME / GTK+, feel free to download the latest cairomm 1.1.10 release and give it a spin and let me know what you think.