Plan for floating rectangle interface
From OHRRPGCE-Wiki
This article does not meet the standard of quality we would like to have. Feel free to revise it and make it better by using the edit link at the top of the page. This tag should be removed when an editor feels it is of high quality.
An interface for positioning, sizing, and styling floating rectangles will make future menu/UI customization easier. It will also be useful for adding a degree of customizability to shops, status menus, and battle interface.
- maintain a list of rectangles, including their position, size, parent1 layer-depth, color, and border style, and type.2
- provide an interface (both in FreeBasic and in Plotscripting) to create a rectangle reference, which can then be controlled
- provide an editor in custom that lets you visual arrange a rectangle collection with a given set of members. It should be possible to give these members symbolic names.
- rectangle colelctions to be used for standard interface menus would need to provide rectangles with particular names.
- The rectangle collection editor should be usable to create several separate editors for different purposes, such as a "battle interface layout" editor, or a "equip menu layout" editor, in addition to the generic "rectangle collection" editor for plotscripts.
- retrofit text boxes and ui menus to be customizable using the aforementioned rectangle collection editor
- provide default rectangle collections that match to the existing structure of various ui menus (for backcompat)
- make a plotscripting interface for loading rectangle collections you have created in custom (to make it easier to script completely unique menus)
- even some screens in custom could benefit from the rectangle interface. Although it makes little sense to have a user-rearrangeable sprite editor, converting the sprite editor's ui to use the same rectangle collection interface could make it easier for us to make changes and improvements with less work and less chance of breaking things.
[edit] Note 1
A rectangle's position and layer-depth can be relative to the whole screen, or relative to another existing rectangle
[edit] Note 2
The rectangle interface can be generalized for more than just plain rectangles. It can also be used for positioning text strings of a given length, for defining regions into which battle meters will be drawn, or for defining positions where sprites will be drawn.
