mirror of
https://github.com/cookiengineer/audacity
synced 2026-01-12 07:35:51 +01:00
Locate and position the current Audacity source code, and clear a variety of old junk out of the way into junk-branches
This commit is contained in:
73
dox2-src/WxWishlist.dox2
Normal file
73
dox2-src/WxWishlist.dox2
Normal file
@@ -0,0 +1,73 @@
|
||||
/**********************************************************************
|
||||
|
||||
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.
|
||||
|
||||
|
||||
*//********************************************************************/
|
||||
Reference in New Issue
Block a user