Lets get a bit life into this topic again.
We have seen good ideas for designs, indeed. I would like to discuss how to implement a system for choosing themes.
My thoughts:
- design a file which represents a theme
* Should contain dimensions of the different areas in the menu (header, footer, scrollbar?, body) - the layout.
* Should contain textures for the different areas.
* Define whenever texture should be repeated or stretched to fill
* Main menu Icons
* Icons for sub-menus and values
* Fonts?
* Color palette for texts, menu items, hovered menu items, ...
* more?
- create simple application to create these files. A python script or something should be enough.
- write a interpreter on the camera-side
- add stuff to existing menu structure
- add menu item to choose between different theme files
Also, I think the current "menu-engine" would need a system to properly set linebreaks (when reached end of horizontally available space).
I don't think we should use something like xml for this. A from ground up, non-human-readable file design should be good enough.
I have spend a bit time on figuring out, how it could look like.
Look at this file, please read it carefully.
What I forgot in it for now:
- spacing between menu items
- alternative to 31b 31c
- "main Menu selected background texture"
- 3rd option for "stretch and repeat", none.
- to be continued
Tell me what I forgot. It would be nice, if we could get the designers of the currently existing sketches here. They know better than I what is required.
I know, that this is going to be a lot of work. Some parts of the menu are generated "by hand", hardcoded.
Until now, I have not spent a single thought on anything else than the menu. What do you think, what about the LV?
EDIT:
Just to sum it up - these designs exists:
[spoiler]davekatague

Novosibirets

iamtehlolrus

Arthur

[/spoiler]
(excuse me if the images are not up to date) (EDIT: the spoilers aren't working

)
EDIT: I see that iamtehlolrus is using a very smart method to place the text of the main menu. Maybe we should implement a setting for this, too.