mirror of
https://github.com/cookiengineer/audacity
synced 2025-04-29 15:19:44 +02:00
73 lines
2.8 KiB
Plaintext
73 lines
2.8 KiB
Plaintext
/**********************************************************************
|
|
|
|
Audacity: A Digital Audio Editor
|
|
|
|
WxWishlist.dox2
|
|
|
|
James Crook
|
|
|
|
********************************************************************//**
|
|
|
|
\page WxWishList WX Wish List
|
|
|
|
\section WxWishlistIntro Introduction
|
|
|
|
We're using this section to record requests for enhancements to
|
|
wxWidgets. It's here in the documentation on the source code, because
|
|
it indicates issues we have 'worked around' which we'd like a cleaner
|
|
solution to.
|
|
|
|
\section WxWishlistTransparency Transparency, Masks, Alpha, wxImages and wxBitmaps
|
|
|
|
At the time of writing, wxWidgets support for alpha-channel based
|
|
transparency is patchy.
|
|
|
|
- Support for masks, that is all or nothing transparency, is excellent.
|
|
- Support for alpha channel transparency, that is where values between
|
|
0 and 255 let some but not all of the background show through, is
|
|
incomplete. It seems to be best supported on Windows, and least well
|
|
supported on Mac.
|
|
|
|
Mask based transparency leads to sharp edges that look blocky and 'dated' on
|
|
modern PC's - so we try to use alpha blending when we need transparency .
|
|
|
|
Support for alpha blending in wxImage and wxBitmap is different.
|
|
|
|
- wxImage is a platform neutral image. There are nice functions
|
|
for loading and saving PNGs with transparency to or from a wxImage.
|
|
These work on all platforms we use.
|
|
- wxBitmap is a platform specific 'image'. To display an image it
|
|
must at some point be converted to a wxBitmap.
|
|
|
|
Now, a 32 bit wxBitmap has 24 bits for RGB and 8 bits for alpha. Under
|
|
WindowsXP you can paste wxBitmaps into a wxMemDc and preserve the alpha
|
|
channel. However, when you convert to a wxImage, unless you use an
|
|
undocumented function which only works on WindowsXP, you lose it. To
|
|
output a wxBitmap to a file you have to convert to a wxImage.
|
|
|
|
The workarounds for the incomplete alpha-channel support can be found
|
|
in \ref ImageManipulation.cpp . Also, in implementing \ref Themability
|
|
we keep both wxImages and wxBitmaps to work around the conversion
|
|
problems.
|
|
|
|
So, the wishlist item is for wxWidgets to sort this out!
|
|
|
|
\section WxWishlistTreebook wxTreeBook
|
|
|
|
We know a wxTreeBook is coming in wxWidgets 2.7.0. We're using
|
|
a contrib-version that works pretty well, but using it as
|
|
if it were a wxListBook. We've tried using wxWidgets 2.6.3
|
|
undocumented versions of wxChoiceBook and wxListBook, and
|
|
in 2.6.3, neither is ready for prime time.
|
|
|
|
We're looking forward to having a built in wxTreeBook.
|
|
|
|
\section WxWishlist Docking And Layout System
|
|
|
|
There are contrib directories that have partial implementations of
|
|
Toolbar docking and layout. Our own system is rather hacked together,
|
|
and just about meets our needs. We'd like a full strength system built
|
|
in to wxWidgets.
|
|
|
|
|
|
*//********************************************************************/ |