BGRA Themes is a GUI component suite for LCL made with BGRABitmap.
* 2019 Feb 2, moved to BGRAControls
https://github.com/bgrabitmap/bgracontrolsThemesThere are 3 themes to choose: Default (TBGRATheme), Color (TBGRAColorTheme) or Image (TBGRAImageTheme). But of course you can create your own themes.
How it worksDrop a control (currently only button) and drop one of the three themes available. Link them in the button with the property 'Theme'.
If you do by code then call 'Invalidate' in your Form to update the painting.
The Image Theme requires to call a method called 'LoadResources' than points to an ini file containing the details about the images you will be using to paint your controls.
Advantages* Less memory usage on properties and images. Everything is inside the Theme and instanced only once.
* Separate logic and painting in each control. The theme is the one that draws the controls.
* You can switch between themes easily. Just change the property Theme on the controls and call Invalidate on the form. That's all.
Future of this project:* Port Custom Drawn Controls (Progress Bar, Edit, Tab Control, Radio Button, Check Box). In fact this way of theming is inspired on Custom Drawn way.
* Add more controls (Toggle Button and many more).