…is finally out!
This one’s been a bit of a mission, as I’ve restructured all the image/graphics code so it’s ready for adding acceleration. This means it’ll break one or two bits of your code, but the changes are only small - slightly different constructors for images and a few less methods available in the image class. And if you’re doing any rendering directly to an ARGB image’s internal data, you may need to correct for the fact that they’re now using premultiplied alphas.
Here’s a change list:
* big restructuring of the graphics code to make it ready for adding OS or hardware-accelerated UI rendering. In its current state there aren't yet any accelerated features; some operations will be faster than before (e.g. gradients are hugely faster and much better quality), but other things will be slower as I've not yet done MMX/SSE versions of them. All images are now stored in premultiplied-alpha format, which makes things a bit faster, and this also adds compatibility with things like GDI+. Some changes to the Image class mean that the constructors are slightly different, and you can no longer get a pointer directly to its pixels, instead you need to lock and unlock a section of the image, so that this will also work in future for images that may not be stored in main memory. Annoyingly, after making all these changes, I tried doing a simple GDI+ accelerated renderer, but it ran several times slower than my own graphics routines in most cases, so I disabled it. (if you want to try it out, it's in the juce_win32_Windowing.cpp files). Quartz on the mac should be more promising, so that'll be next.
* new class: AudioFormatManager
* removed any dependencies on DSound.h or DSound.lib so Juce can be built with the latest Platform SDK without needing the DX SDK as well.
* fixed a mac drag-and-drop bug
* made drop-shadows optional for alert boxes + splash screens
* added some fixes for compiling on gcc4.0.2 in mandriva linux
I’ve done my best to make sure all the graphics is working correctly, but I’ve had to rewrite almost every single operation, so shout if anything looks wrong with this version!