4th of April 2022 to 10th of April 2022

Slint UI Library

Documentation

  • Start a page with examples and recipes (#1090)

    This is the beginning of a page to collect common things users need to do, in a format that they can copy & paste into their application code.

    There's a lot more that could be done though.

    The versions for Rust and C++ are available as snapshots at this time only, but please check them out and tell us what you think.

  • doc preview and highlighting fixes (#1094)

New Features

  • mcu: determine font sizes from .slint code if possible (#1159)

    Remove the need to specify SLINT_FONT_SIZES if we can determine the font sizes used from constants in the .slint code.

  • GL backend: add shortcut for zero opacity (#1153)

    If the global opacity is zero, we don't need to paint rectangles, etc.

    This shortcut is a compromise between opting out much later on femtovg level and too early before querying properties of the rectangle. We still want to do the latter as somebody might depend on that.

  • Qt widget focus (#1158)

    This adds focus handling to Qt's native Button and Checkbox.

Fixes

  • Fix font fallback determination on Windows with the GL backend (#1144)

    IDWriteFontFallback::MapCharacters only returns one single font that tries to cover as much of the input string as possible. We need to continue processing the remaining parts of the text, in order to get a complete list for all fonts we need.

    Fixes #1139

  • Fix forward tabbing through items (#1149)

    The implementation never properly stepped out of repeaters, so it went into a loop when a repeater was below a node without siblings. This in turn led to the window aborting the focus item search. So the focus never moved forward.

    Add a test to make sure this stays fixed.

  • text_input: clicking past the end should return the last position (#1142)

    Instead of 0. (But passing a negative y coordinate should return 0)

  • mcu: Implement popup window (#1160)

    Implement popups as inline components, instead of causing a panic.

Other Crates and Libraries

Contributions to other crates and libraries made by the Slint developers:

FemtoVG

  • Improve performance of rendering images (#87 and 108038)

    Implemented a fast-path for rendering images when using fill_path with a rectangular path, Paint::image, and anti-aliasing disabled on the Paint. This avoids unnecessary stroke and scissor clipping inside the fragment shader and uses regular varying interpolation for the texture coordinates instead of paint matrix multiplication.

Statistics

46 patches were committed in 20 pull requests by 4 authors.

← Next : 11th of April 2022 to 17th of April 2022 | Previous : 29th of March 2022 to 4th of April 2022


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