Difference between revisions of "Fresnel"
From Free Pascal wiki
Jump to navigationJump to searchLine 9: | Line 9: | ||
=Roadmap= | =Roadmap= | ||
+ | * Rename TFresnelButton to TButton, this requires Lazarus to support duplicate component classnames | ||
+ | ** Extend TReader to search component classes using Field names | ||
+ | ** Extend RTL format to optionally write unitnames: <s>TWriter</s>, <s>ObjectBinaryToText</s>, <s>GetClass(anUnitName,aClassName)</s> | ||
+ | ** Extend RTL format to automatically detect the new format with unitnames: <s>TReader</s>, <s>ObjectTextToBinary</s> | ||
+ | ** 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: | * Layouter: | ||
** Testsuite | ** Testsuite |
Revision as of 19:50, 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
- Extend TReader to search component classes using Field names
- Extend RTL format to optionally write unitnames:
TWriter,ObjectBinaryToText,GetClass(anUnitName,aClassName) - 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