File: WxWishlist.dox2

package info (click to toggle)
audacity 3.7.3%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 125,252 kB
  • sloc: cpp: 358,238; ansic: 75,458; lisp: 7,761; sh: 3,410; python: 1,503; xml: 1,385; perl: 854; makefile: 122
file content (73 lines) | stat: -rw-r--r-- 2,862 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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.


*//********************************************************************/