25th of July 2022 to 31st of July 2022

Slint UI Library

We continued refactoring the backend code to separate the event loop driver and the renderer, in order to integrate the Skia renderer. The backend formerly and internally called "GL backend" has been renamed to "winit backend" and will integrate with the FemtoVG as well as the Skia renderer.

Changed

  • Bumped the minimum supported Rust version to 1.60 (#1433)

Fixes

  • Qt GroupBox minimum size fix (#1439)

    Take the label into account when calculating layout info for the native groupbox.

    This matches the layout produced by a native Qt application much better and fixes the gallery demo with native style:

    The "Button (checkable)" GroupBox is much wider with this change -- much like a similar UI looks in Qt designer.

Janitor work

  • Fix Node tests in the CI (#1435)

    After commit 894ee5 we weren't running the nodejs tests, because we don't pass --workspace to cargo test.

    This patch fixes that and also ends up running the other non-run unit tests such as for the vtable crate.

  • Software renderer: Add support for ImageInner::EmbeddedImage (#1441)

    If we want to use the software renderer as a drop in replacement for the GL renderer, we need to be able to render all images without the compiler having to pre-render the textures

    This was tested by hacking the compiler not to render the texture with the mcu simulator

  • Make it possible to have multiple renderers in the winit crate (#1440)

    Make GLWindow generic over the renderer and canvas

  • Rename the backend-gl crate into backend-winit (#1437)
  • Move the init_dirty_region directly into the Renderer (#1432)

    This means we will query the size of the popup also for the GL backend even if the backend don't need to be marked dirty, but that should be alright.

  • Some more simplifications of the PlatformWindow and Backend trait (#1430)
  • Move the Text functions out of the Window into a Renderer trait (#1428)

Statistics

29 patches committed in 12 pull requests by 3 authors.

← Next : 1st of August 2022 to 7th of August 2022 | Previous : 18th of July 2022 to 24th of July 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