>> I would say that it would require quite a bit of rework, because
>> widgets would need a second method to check if they are not on top of
>> a widget with a fixed position; also, the approach to placing the
>> widgets and do all the layout functions would have to change to allow
>> this. However, it doesn't means it cannot be done :p
> :) I was thinking of really simple, just ignore any overlap etc. We
> have at the end only a handful of resolutions we have to support, and
> these can be tested.
That can be easily done by using the Widget class directly; however,
it's the Widget class is currently private and friends with the Widget
Manager exactly to avoid direct usage.
> Well, we can use percentages as well, doesn't make much difference. Just
> a way of position one widget at a certain location on the screen (e.g.
> bottom row, e.g. for "press esc" widgets, or a "This game is free"
> declaration on the main menu.
You should be able to do this either by using layout( WGT_AREA_BOTTOM)
or adding an empty widget to fill space.
> If I may add just another quick thing, it's not so nice that each button has
> its own rounded rectangle. It might look a bit slicker if there was only one
> rounded rectangle around all menu buttons, and individual rounded buttons
> only appeared on mouse hover. Then the one rounded rectangle around
> everything could have a color border. I realise my description is not very
> clear so I'm attaching a screenshot of supertux's menu in SVN, where things
> are about like i described
Really, it's just matter of style. Of course that each button could
look slick with their own rounded rectangle, but there is no
consistent style to integrate it with. Check your example: it's not
simply a entire rectangle, but it has a border, shadowed text,
highlights, a penguin-like mouse cursor, and a background.
But it's not simply that. It's not just adding a bunch of stuff
together and say 'let's add this, let's eliminate this'. The
rectangle is blue, and has a dark blue border, together with a blue
background and blue text (thought I don't think that the color fits
well). The mouse cursor is surrounded by a red outline, since
everything else is blue, black or white, to contrast. There are no
pointy edges, everything is rounded.
However, if you want to join all the rectangles together, you just
have to make the top and bottom widgets of each screen have the top
and bottom borders rounded, respectively, and all the other borders,
including the othe widgets, leave them straight, and it will give the
same shape. Now, about highlights, the border, etc., that's a separate