Slint UI Library
- LSP: Auto-complete types that are not yet imported, and add the import (#1304)
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
Fix compiler panics when assignment in a condition in a binding
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.
vtable: Make VBox compatible with C++ (#1297)
Option<VBox<X>>can be represented with null pointer
- Call the
dropfunction 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.
25 patches were committed in 11 pull requests by 3 authors.