29th of March 2022 to 4th of April 2022

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.

← Next : 4th of April 2022 to 10th of April 2022 | Previous : 21st of March 2022 to 27th of March 2022


Slint is a declarative GUI toolkit to build native user interfaces for desktop and embedded applications written in Rust, C++, JavaScript, and Python. Find more information at https://slint.dev/ or check out the source code at https://github.com/slint-ui/slint