Hello,
in version 4.6, Qt introduced the QGraphicsEffect hierarchy, which can
be used to add shadows and blurring to QGraphicsItem. This means that
we can throw away the C++ extension code in kaya, and just use the
nice Qt API. Of course, I started doing just that, and you can find
the results in the effects branch. Try it out! No compilers required*!
Unfortunately, there are a couple of issues:
1) The effect API doesn't really play well with how kaya pixmap/item
handling works. In kaya, effects are basically created at the theme
level by modifying a pixmap, while the Qt API requires the effect to
be set in the item. I worked around that by associating effects to
pixmaps, and transferring them to the item when the pixmap is set. Not
the prettiest solution, but not too bad either, and it doesn't need
many changes in the code.
2) QGraphicsEffect uncovers a nasty bug in QtRuby which causes random
crashes in the finalization phase of the GC. Plus it's not handled
properly in the mark phase thus making effects disappear randomly
after GC. I submitted a patch to kdebindings to fix that, so hopefully
we will have full support in the next release of qtruby.
On an unrelated note, localization should be complete now, so I might
pull out an early 0.3 with i18n support (and a number of bugfixes I've
been doing lately), so that possible translations can start.
Paolo
* That's not really true if you want to use cmake for installing. I
hope to be able to fix that.