Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2026-07

Fresnel announcement

3 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Mattias Gaertner

Hi all,

I am excited to announce a milestone for Fresnel - a modern GUI component library for Free Pascal that brings web-like layout styling to desktop applications. After a lot of foundational work, the framework is now ready to be used for writing simple applications!

For those unfamiliar, Fresnel introduces a UI paradigm where the layout and look of custom-drawn controls are entirely governed by CSS, offering a flexible alternative or complement to traditional LCL controls.

## Key Highlights & Current Capabilities

* CSS-Driven Design: Separate design from logic cleanly using familiar CSS rules (inline styling, classes, IDs, selectors, and pseudo-classes like :hover).
* Modern Layout Engines: Supports flex, grid, and flow layouters for dynamic, responsive UI designs.
* Flexible Units & Typography: Define elements using em, vh, cm, mm, %, or px, along with font fallback support.
* Coexists with LCL: Run Fresnel forms alongside LCL forms, or embed a Fresnel viewport directly inside an LCL control (TFresnelLCLControl).
* Multi-Platform: Runs stand-alone or via LCL on Linux, macOS, Windows, and WebAssembly in the browser.
* Visual Tools: Includes a dockable CSS Inspector in Lazarus, live CSS updating, and a form designer package.

## Any Help is More Than Welcome!

While Fresnel is ready to build small apps and utility tools, it is still actively evolving. If you love modern UI design, contributions of any kind are greatly appreciated.

Ways you can help:

* Test & Report: Build small projects and let us know what works or breaks.
* Components & Styling: Help expand the component library or polish default stylesheets.
* Core & CSS Engine: Assist with expanding CSS attribute support and layout engine optimizations.
* Docs & Samples: Help write guides, tutorials, or clean example applications.

Check out the documentation, examples, and roadmap on the official wiki:

https://wiki.freepascal.org/Fresnel

There is also a demo website of the webassembly backend:

https://idefix.freepascal.org/~michael/fresnel/

Give it a spin, let us know what you think, and help us build the future of Pascal UIs!

Mattias

Dibo
to Mattias Gaertner

Wow. Sound amazing. I'll test it later. I have question about LCL. Is it required dependency or optional and can be compiled only via FPC without Lazarus? LCL bring a lot of dependency libs which make deploying harder especially on linux (GTK / Qt libs depending on which widgetset LCL was compiled). I see that you use Skia in backend so I guess you are not using LCL drawing routines

W dniu 27.07.2026 o 20:53, Mattias Gaertner via fpc-pascal pisze:

Show quoted text 62 lines
Hi all, I am excited to announce a milestone for Fresnel - a modern GUI component library for Free Pascal that brings web-like layout styling to desktop applications. After a lot of foundational work, the framework is now ready to be used for writing simple applications! For those unfamiliar, Fresnel introduces a UI paradigm where the layout and look of custom-drawn controls are entirely governed by CSS, offering a flexible alternative or complement to traditional LCL controls. ## Key Highlights & Current Capabilities * CSS-Driven Design: Separate design from logic cleanly using familiar CSS rules (inline styling, classes, IDs, selectors, and pseudo-classes like :hover). * Modern Layout Engines: Supports flex, grid, and flow layouters for dynamic, responsive UI designs. * Flexible Units & Typography: Define elements using em, vh, cm, mm, %, or px, along with font fallback support. * Coexists with LCL: Run Fresnel forms alongside LCL forms, or embed a Fresnel viewport directly inside an LCL control (TFresnelLCLControl). * Multi-Platform: Runs stand-alone or via LCL on Linux, macOS, Windows, and WebAssembly in the browser. * Visual Tools: Includes a dockable CSS Inspector in Lazarus, live CSS updating, and a form designer package. ## Any Help is More Than Welcome! While Fresnel is ready to build small apps and utility tools, it is still actively evolving. If you love modern UI design, contributions of any kind are greatly appreciated. Ways you can help: * Test & Report: Build small projects and let us know what works or breaks. * Components & Styling: Help expand the component library or polish default stylesheets. * Core & CSS Engine: Assist with expanding CSS attribute support and layout engine optimizations. * Docs & Samples: Help write guides, tutorials, or clean example applications. Check out the documentation, examples, and roadmap on the official wiki: https://wiki.freepascal.org/Fresnel There is also a demo website of the webassembly backend: https://idefix.freepascal.org/~michael/fresnel/ Give it a spin, let us know what you think, and help us build the future of Pascal UIs! Mattias _______________________________________________ fpc-pascal maillist  -  https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
Mattias Gaertner
to Dibo
Dibo wrote 6 lines
Wow. Sound amazing. I'll test it later. I have question about LCL. Is it required dependency or optional and can be compiled only via FPC without Lazarus? LCL bring a lot of dependency libs which make deploying harder especially on linux (GTK / Qt libs depending on which widgetset LCL was compiled). I see that you use Skia in backend so I guess you are not using LCL drawing routines

Fresnel can run natively without the LCL. It currently supports as native backend on Linux only gtk3, so you have the same dependencies as a gtk3-LCL application. Of course creating a wayland or X11 backend would be possible.

On Linux there are a Skia, a gtk3 native renderer and a LCL renderer. The Skia renderer runs on Linux, macOS and Windows, and is the most complete of the Fresnel renderers.

Mattias