5

30th of May 2022 to 5th of June 2022

 1 year ago
source link: https://slint-ui.com/thisweek/2022-06-06.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

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

Slint UI Library

Tooling

  • LSP: Auto-complete types that are not yet imported, and add the import (#1304) Auto-complete types in .slint files
  • VSCode web extension (#1309, #1300)

    Two PRs enabled wasm-versions of the slint language server, which in turn enables the Slint plugin in online VSCode!

    Check out a Slint file in the Web IDE on GitHub: Once you install the Slint nightly extension, you get all the features (except preview) of our language server in the browser.

  • LSP: make the preview feature optional (#1311)

    So it can be disabled when building the web extension, and remove lots of dependencies.

    This reduces the wasm size from 6M to 2M

Fixes

  • Fix compiler panics when assignment in a condition in a binding (#1302)

    Fixes #1271

  • Fix rendering of source clipped images with the MCU renderer (#1305)

    The slide puzzle makes use of the source-clip-* properties and that unveiled three issues:

    • For the scale factor from image space to physical pixel space (sx/sy), use the source clip size, as we're only drawing those pixels. That means that the call sites of draw_image_impl need to pass the correct original image size if there is no source clip.
    • Similarly, the scaled_clip is in image coordinates, but needs to be relative to the source-clip-x/y
    • The geometry for the target rectangle on screen must originate at (0, 0) so that the application of sx/sy only changes the size.

Updates

  • vtable: Make VBox compatible with C++ (#1297)

    • Use NonNull so Option<VBox<X>> can be represented with null pointer
    • Call the drop function from the C++ destructor.
  • Move the software renderer to core (#1312)

    Move the MCU renderer in the feature-gated swrenderer module in core.

    This also moves the lengths module to core, and it is not feature gated. I think we can make use of it for the text_layout and other stuff.

  • Refactor the Item cache (#1298)

    The old item cache is kept for the partial rendering

    Other backend just use a normal HashMap to keep the item cache.

    The reason we do this is that we want to simplify the backend API, and eventually get rid of the free_graphics_resource call on the window (it's now been removed to component_destroyed, but we will replace that later by a deletion tracker like we have already for the property dependencies) The other problem with the previous approach is that we cannot mix the GL and Qt renderer with the partial renderer because they use the same cache.

Statistics

25 patches were committed in 11 pull requests by 3 authors.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK