Slint is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as Rust, C++, and JavaScript. Find more information at https://slint-ui.com/ or go straight to github at https://github.com/slint-ui/slint
News and Blog Posts
We are Silver Members of the Rust Foundation now! See our blog for the full announcement.
Olivier wrote a technical deep-dive on how we ported Slint to a micro-controllers.
Slint UI Library
GL Backend optimizations
-
GL backend: avoid stroke when blitting textures (
a329f0
)
When blitting a rectangular texture, we can disable the anti-aliasing on the edges that femtovg applies by default. That avoids an extra triangle strip for this stroke to apply anti-aliasing.
Keyboard Handling (#1103)
Infrastructure is in place now to move the keyboard focus between
different widgets of the application using the Tab
and
Shift-Tab
keyboard shortcuts.
While the infrastructure is in place now, many widgets do not yet support moving the focus to them. This will get added in th the coming weeks.
In addition support for better navigation in multi-line text edits has started.
New Features
-
Tree-sitter parser for Slint (#1020)
Tree-sitter is a way to define parsers that is used by a range of text editors and other tools that need a fast way to make sense of code. A tree-sitter parser for the Slint language is now part of our repository.
Thanks to @jrmoulton for this work!
Fixes
-
Fix a issues with Popup-Window (
f8f61d
)
- Make sure that the compiler don't panic if the parent of a PopupWindow is optimized (by not optimizing such element)
- Ensure that we can call popup.show() from within a deeper repeater
- Ensure that the parent element of the popup is the right one in case of repeater (and not the node in the parent component)
This partially revert ad5991 and 6c7a7a because we must do the lower_popup after the repeater pass, because otherwise the parent element of the created component for the PopupWindow might be wrong and it is not easy to adjust (we would have to make Component::parent_element a RefCell or duplicate it again.
Fixes #1132
-
Fix PopupWindow within repeater (
ad5991
)
The LLR expect that the popup_window is actually contained in it's parent component popup_windows, otherwise the context is not correct.
There is no index property for a PopupWindow
Fixes #1113
-
Fix broken links to C++ types in C++ Type mapping documentation (
958216
)
The links to slint::Color (and other types) was coded to their direct .html file name, so for example classslint_1_1_color.html. Unfortunately in the CI the class name became classslint_1_1color.html and therefore the links on our website were broken.
Now my-st parser has a way of resolving links in markdown to references, basically
{cpp:class}`slint::Color`
. Unfortunately that link resolution is not working when used inside markdown tables.Therefore this patch converts the entire table to restructured text, where we can use native references to hopefully always generate the correct links, regardless of the doxygen/breathe/exhale version.
Statistics
30 patches were committed by 5 authors.