2
0

#pascal #gui #freepascal #ui-library #fpc

Michaël Van Canneyt 939e888c06 Merge branch 'main' of gitlab.com:freepascal.org/lazarus/fresnel 11 сар өмнө
bin 134f2fed06 skia osx binaries 11 сар өмнө
demo 6d44dfd049 demo: started cssview 11 сар өмнө
design c58fbc069e design: use autosize for new components with children 11 сар өмнө
src 939e888c06 Merge branch 'main' of gitlab.com:freepascal.org/lazarus/fresnel 11 сар өмнө
tests 5a84f8c33b laytout: flow: position absolute item default position after a relative item 11 сар өмнө
.gitignore bdf1acb84a * Ignore wasm & javascript files. 1 жил өмнө
COPYING.LGPL.txt 5a4d4235f0 licenses 2 жил өмнө
COPYING.modifiedLGPL.txt 5a4d4235f0 licenses 2 жил өмнө
README.md ab373c2daa hint about skia lib path 2 жил өмнө

README.md

Fresnel

This repository contains the sources for Project Fresnel

What is project Fresnel ?

Project Fresnel is a new UI paradigma for Lazarus projects. Instead of using LCL controls, CSS-based custom drawn controls will be used to create your UI.

Why is this project needed ?

The design of the VCL and LCL is old. In the browser, UX and UI have evolved far beyond what the LCL has to offer, largely thanks to the strength of CSS. The choice for CSS as a mechanism for layouting and display is therefore logical. This will also allow to reuse existing CSS frameworks.

What's with the name ?

UI is about look and feel. Look and feel means light. Fresnel is a French Physicist who made important contributions to the wave theory of light.

Goals of project Fresnel:

  • 100% Pascal code.
  • Create a set of controls that are independent of the LCL.
  • The layout and look of the controls are governed by CSS.
  • A Lazarus application must be able to run LCL forms alongside 'Fresnel' forms. This will ensure easy porting.
  • Different drawing backends must be possible.

Skia:

To use Skia4Delphi you must put the library into the library path:

  • Linux 64bit: export LD_LIBRARY_PATH=fresnel/bin/Binary/Shared/Linux64
  • Macos X64: export DYLD_LIBRARY_PATH=fresnel/bin/Binary/Shared/OSX64