1,079
edits
(→Dialogs: Removed obsolete (i.e. DONE) TODO) |
(→General: Some words of speed problems in the modern GUI theme) |
||
Line 10: | Line 10: | ||
* Add tab-focus support, i.e. make it at least possible to use the "tab" key (and also "shift-tab" to cycle through the edit fields. | * Add tab-focus support, i.e. make it at least possible to use the "tab" key (and also "shift-tab" to cycle through the edit fields. | ||
* Even nicer would be general "tab cycle" support, allowing tab to cycle the focus for all items where it makes sense (buttons, checkboxes, etc.), to make the GUI fully keyboard controllable | * Even nicer would be general "tab cycle" support, allowing tab to cycle the focus for all items where it makes sense (buttons, checkboxes, etc.), to make the GUI fully keyboard controllable | ||
* SPEED: The GUI is relatively sluggish these days on my 1.5 GHz PowerBook :-/. I'll try to list some bottle necks and possible solutions: | |||
** A lot of time is spent in ThemeModern::openDialog for dimming the screen. | |||
*** The code calls a function pointer for each pixel of the screen, which results in code which the compiler can't properly optimize, essentially doing a couple hundred thousand tight read-call-write ops, which can't be inlined / improved upon. | |||
*** Better: change _dialogShadingCallback to not work on a single pixel but on the whole better | |||
*** Even better: Get rid of the _system->RGBToColor / _system->colorToRGB which are terrible for performance, too (can't be inlined). So, at least provide a 555 / 565 color mode version, which works efficient on targets using these color modes, and only fall back to the OSystem API if an unsupported color mode is in use | |||
=== Widgets === | === Widgets === |
edits