As many of you know I started the website www.getlazaurs.org a long time ago to help distribute a revised FPC and IDE to support my game Bare.Game. Thiswas timed to coincide with the official release of SDL2 in August 2013. Since then I have worked on several new game engines, most recently Tiny.Sim, and today I am happy to announce the merger of my CodebotCorss library and Tiny.Sim into a singular library.
You can read about it here, and watch some demonstrations on that page.
https://www.getlazarus.org/codebot/
https://www.getlazarus.org/codebot/reference
In short, this library takes the vector based ui toolkit I created for Tiny.Sim and makes it compatible with the RTL. I am no longer replacing the system units with my own units. As a result, the library now supports writing both display managerless desktop free rich graphical applications, and transitional LCL desktop applications.
The pages above link to the Github location where everything can be found. Additionally I have ported over the Tiny.Sim demos and added a few new ones here:
https://github.com/sysrpl/Codebot.Demos
I have also submitted some IDE patches to help with how it builds vector based interfaces that heavily depend on generics. In practice these vector based widget UIs are built like this:
with This.Add<TSpinBox>(FBackBox) do
begin
Indent := 1;
Width := 280;
Items := Backs;
ItemIndex := 0;
OnChange := BackChange;
end;
with This.Add<TLabel> do
Text := 'Table:';
for I := Low(TableNames) to High(TableNames) do
Tables.Push(TableNames[I]);
with This.Add<TSpinBox>(FTableBox) do
begin
Indent := 1;
Width := 280;
Items := Tables;
ItemIndex := 0;
OnChange := TableChange;
end;
for I := Low(ThemeNames) to High(ThemeNames) do
Themes.Push(ThemeNames[I]);
with This.Add<TLabel> do
Text := 'Theme:';
with This.Add<TSpinBox>(FThemeBox) do
begin
Indent := 1;
Width := 280;
Items := Themes;
ItemIndex := 0;
Hint := 'Press and choose a theme for the widgets';
OnChange := ThemeChange;
end;This all dates back to how Tiny.Sim built its UI elements way back in 2019, but previously it would confuse the IDE, but not the compiler. I have now sent a patch to fix this issue with CodeTools.
And finally, this library is not necessarily all about drawing real time animated vector graphics, it also includes several cross platform WebBrowser controls including TWebBrowser, TWebInspector, TWebAddessBar, along with a variety of grid and virtual list controls, https and ftp clients, S3 compatible clients, Json, Xml, HAsing, and many other features.
I hope you like the work I have put forth. It is all FOSS under the MIT license. If you have any questions please don't hesitate to ask me. -------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20261008/4d216326/attachment.htm>
