28th of February 2022 to 6th of March 2022

Slint UI Library

This week we've merged various improvements to the MCU port, Lukas - our intern - improved keyboard support in the SpinBox widget, n-raine added support for dark-mode detection when using the GL backend, and Jared Moulton added support for password input fields.

New Features

  • mcu: Initial support for partial rendering (#1008) The partial renderer tracks regions in the scene that have changed and repaints only those, to reduce the amount of pixels that have to be sent to the screen and speed up rendering.
  • Add support for profiling in the mcu renderer (#968) ( 0316af )

    Profile different stages behind a slint_debug_performance cfg and feed the result into debug_log.

  • mcu: scale images at compile time (#966) ( 738ac0 )

    Apply a scale factor to reduce the size of embedded images at compile time.

  • Implement basic keyboard controls for the SpinBox ( #1002 )

    If focused, the value in a SpinBox widget can be incremented and decremented using the arrow keys on a keyboard.

  • Add dark style detection support for GL backend ( beda5a )

    With the help of dark-light crate this is now exposed as dark-style boolean property in NativeStyleMetrics.

    Thanks go out to n-raine for this commit.

  • Add a password input type to the LineEdit widget ( #997 )

    Thanks to Jared Moulton for this feature.

  • mcu: initial support for board configuration (3a5075)

    A rust crate can now opt into the MCU support by depending on the MCU backend with a specific supported board as features. Calling slint_build::print_rustc_flags() in build.rs then takes care of applying all the board specific flags to successfully build.

Fixes

  • Send a MouseExit event when the mouse leaves the window ( f7a0fd )

    Fixes #989

  • Support for referring to other globals from globals ( 0dc188 )

    - We need to make sure that the initialization of global is in the right order.
    - In C++ and rust, we need to add accessor to the global component
    - There can be PropertyReference::Global in binding of globals
    - The interpreter globals need to hold references to the global they may depend on

    Fixes #175

Janitor work

Changes: 59f06e

Statistics

37 patches were committed by 5 authors.

← Next : 7th of March 2022 to 13th of March 2022 ‒ 0.2.1 Release | Previous : 21th of February 2022 to 27th of February 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