blob: a70843793fa855ddef823b771b52eb76eae60cc8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
Widget alignment.
Widget horizontal/vertical expand.
Homogeneous sizing for list items.
Allow setting list direction. This is more efficient than prepending widgets to a list.
Stop rendering scroll view when reaching outside the scissor view.
Widgets such as richtext and label should unload their text when updated but not rendered, this allows the widget to save its render size without saving the render data.
If a richtext widget has too little horizontal space and does wordwrap then disable wordwrap and use horizontal scrolling.
Cut widget collision check by scissor.
Handle scrolling when resizing scroll content and widget items change size (images downscaled, richtext wrapping, etc).
Cut event and size calculation for widgets outside scissor.
Calculate text (richtext and label) height better when its a single line. In such cases it should be the glyph height and not character size.
Move richtext vertices to global space and only add vertices for the visible richtext.
Create an effect widget. This would allow all children to have an effect applied to it (also support multiple effects at the same time), such as rounded corners.
Have a global effect loader for widgets that the end user can overwrite in their system mglgui theme folder to apply effects. Also have json files for themes.
Allow creating custom widgets, and perhaps allow the end user to create their own custom widget shared libraries to overwrite rendering of widgets.
Add checks in mgl that everything is done in the same thread as mgl_init. Especially in deinit functions.
Reduce number of font atlases by rounding the font size up to power of two and then downscaling the rendering to the font size (either here or in mgl).
Implement a sprite sheet that automatically creates a sprite sheet from images (almost like the font atlas). That reduces memory usage and improves performance (either here or in mgl).
Implement a method to load/unload widgets in a scrollview list to allow easy loading of items when visible on the screen and unload to save memory.
Overlay widget to implement context menu and watch progress in quickmedia.
Do not call event handler for widgets that are not visible, but call a widget specific handler when widget is set to visible/not visible to reset things (such as selecting text).
|