What about an entire UI made with SVG? I'm looking for ideas.
Say we have just resources and we forget about the complex properties system we have now. Anything you can draw with SVG can be drawn on screen at any scale factor.
If you want other style just change the SVG images. That's what we do on Android Studio apps.
Like we currently have for svg button in bgracontrols.
I think the missing part will be 9 slice scaling for SVG. So we can create scalable rectangles. Most vectors app has this stuff. Where you can define a smart rectangle object with rounded borders. If you scale it the borders rounded ratio remains the same for the corners.
I think with that we can do any UI. Of course we can have properties, but these can be less. Themes can use different images so no need to define gradients, line thickness, rounding and so on... change the images and you change the entire app look.
As well is easier because you can hire a designer that can do all the svg files for you.
How it is done on android? The answer is XML. I think that I've seen XML as well on Visual Studio apps for Windows 10.
Not sure if this is reinventing the wheel but the LCL looks really old stuff even with BGRAControls.
Maybe we can have LCL controls in the Lazarus IDE but all SVG and nothing more.
I opened this bug report because I've used the svg viewer of bgracontrols and get amazed. It scales well even if I change the windows dpi when the app is running. The imagelist trick didn't work in that case... I need to close and open lazpaint again to see the effect.
Well that's it. It sounds hard but I think I will start another package only with svg controls. And this time I will not quit soon, even if I don't see the results immediately.
I will try to learn more about how android studio does it because we have really nice looking apps made with that and i want that for Lazarus desktop. Tired of Electron .js I must say.