Modified the implementation of ThemeFont and TextBox (Font calculation takes a lot of time). Now the performance has been increased by at least an order of magnititude.
I'm still hesitating whether or not to improve the speed further because it will end up adding two status variables to the base class. It's already fast right now and I don't see any reason to make the response a few milliseconds faster.
1. Completed the mouse event handling logic in ThemeControl, OpenThemeHScrollBar and OpenThemeVScrollBar.
2. Fixed some minor bugs in ThemeEditor
3. Finished a pretty HScrollBar and VScrollBar in demo ThemePack.
4. Next step will be a major performance tuning. Now it takes a lot of CPU time to RecalculateLayout. It's not difficult to speed it up by a factor of 10 times.
Read tutorial at
1. Fixed mouse event handling bugs
2. Added more stuff to ScrollBars
3. Modified the HScrollBar in damo ThemePack to make it prettier.
1. Fixed serialization problem on some localizations
2. Implemented event model
3. ThemeControl Windows form control integration.
4. Preview window in ThemeEditor
Try to use Preview Window in ThemeEditor to preview the "MainScreen" and "ButtonTemplate". Try to move mouse around, press mouse button etc. You will be amazed.
OpenTheme is an XML based GUI toolkit. Although it's originally designed for full screen GUI, it is also good for Windowed user interface.
The package contains a foundation class for developer and a visual design tool.
It supports layout management of multi-layer graphics with arbitary look-and-feel and localization.