Hi Eric
the Eiffel-Loop library has a class EL_DRAWABLE_PIXEL_BUFFER that extends EV_PIXEL_BUFFER and has support for transparent backgrounds. The class acts as a wrapper for the Cairo graphics library and supports many of the Cairo drawing and filling routines. The only caveat is you have to distribute about 20 Windows DLL with your application. **
It is used extensively in the software product at this website. This product works equally well on Windows and Linux Mint although I don't have an installer for the Linux version as yet.
http://myching.software http://myching.software
(Anywhere you see rounded corners are transparency examples)
Of related interest :
class EL_PNG_IMAGE_FILE which has the ability to render SVG xml using librsvg.
class EL_DRAWING_AREA_BUTTON emulates buttons on a drawing area. This makes it possible to have a transparent button image layered onto a png background with proper anti-aliasing.
class EL_DECORATED_BUTTON displays different background SVG images corresponding to the states: normal, mouse hover, mouse click.
All of these classes will be available in version 1.2.6 of Eiffel-Loop soon to be released at https://github.com/finnianr/eiffel-loop https://github.com/finnianr/eiffel-loop
(as soon as I figure out how to push my changes back to the server)
regards
Finnian
**
The EL_DRAWABLE_PIXEL_BUFFER has an external C bridge that is built using a scons script. For the Windows implementation the scons builder uses prebuilt DLLs available at win32builder.gnome.org and builds the DLL stubs from these. However there is a bug in the Python zip library which prevents the extraction of DLLs from very large (30 mb+) zip files so I decided to host a minimal package of required DLLs at eiffel-loop.com. The builder can create either a 32-bit or 64-bit library as required using standard MS C++ SDK.
[Non-text portions of this message have been removed]