Difference between revisions of "Fresnel"
From Free Pascal wiki
Jump to navigationJump to searchLine 10: | Line 10: | ||
* Rename TFresnelButton to TButton, this requires Lazarus to support duplicate component classnames | * Rename TFresnelButton to TButton, this requires Lazarus to support duplicate component classnames | ||
− | ** | + | ** Done: Extend TReader to search component classes using Field names |
− | ** Extend RTL format to optionally write unitnames: | + | ** Done: Extend RTL format to optionally write unitnames: TWriter, ObjectBinaryToText, GetClass(anUnitName,aClassName) |
− | ** Extend RTL format to automatically detect the new format with unitnames: | + | ** Done: Extend RTL format to automatically detect the new format with unitnames: TReader, ObjectTextToBinary |
** Extend codetools lfm parser | ** Extend codetools lfm parser | ||
** Extend Lazarus lfm repair wizard | ** Extend Lazarus lfm repair wizard |
Revision as of 20:51, 9 January 2023
Overview
Fresnel is a visual component library based on CSS and custom drawn components. It is in an early stage of development.
git repo: https://gitlab.com/freepascal.org/lazarus/fresnel
Requirements: fpc 3.3.1
Roadmap
- Rename TFresnelButton to TButton, this requires Lazarus to support duplicate component classnames
- Done: Extend TReader to search component classes using Field names
- Done: Extend RTL format to optionally write unitnames: TWriter, ObjectBinaryToText, GetClass(anUnitName,aClassName)
- Done: Extend RTL format to automatically detect the new format with unitnames: TReader, ObjectTextToBinary
- Extend codetools lfm parser
- Extend Lazarus lfm repair wizard
- Extend Lazarus TReader.OnFindComponentClassEx to load lfms without unitnames even if fresnel TButton is registered
- Extend all Lazarus GetClass places to query with unitname
- Layouter:
- Testsuite
- Flow layouter:
- fragments for elements, needed for wordwrap and toolbars,
- floats (left, right),
- direction,
- position relative+sticky,
- line-height
- Flex layouter
- Grid layouter
- Overflow: scrolling, clipping
- Fresnel lcl form
- property editor: viewport stylesheet
- property editor: inline style
- view for exploring computed CSS attributes and errors
- Renderer-LCL:
- Testsuite
- colors: rgb, rgba, hsl, hsla
- borders: color, style
- invalidate changed containers, paint only parts
- Events
- mouse
- keyboard
- pseudo attribute :hover
- Skiafor LCL custom drawn widgetset,
- Testsuite
- opacity
- colors: rgb, rgba, hsl, hsla
- borders: width, color, style
- background: color
- font
- invalidate changed containers, paint only parts
- Fresnel backend
- window
- drawing
- mouse events
- keyboard events
- idle
- timer
- Animation
- Fresnel components:
- Testsuite
- div and span: already tested in Layouter and Renderer
- label
- link (CSS a), pseudo elements: :active, :link, :visited
- image (CSS img)
- edit aka input type=text
- textarea
- Other:
- CSS attribute "all"
- CSS variables
- background gradient
- background image
- stylesheets for windows, linux, macos
- lists
- special funding page on foundation site.
- HTML importer