1st of August to 8th of August 2021
SixtyFPS UI Library
- New Features
-
Changes to the
.60
language -
Documentation
-
A
tutorial video
was created and referenced in the documentation
Olivier made a video explaining how to get started with the
.60
language and how to embed the UI into C++ and Rust projects. - Link to the tutorial and license information in more places
-
Building the doc no longer need nightly rust (
603c5d
)
Rust 1.54 has the feature that allow us to include markdown files in the docs
-
A
tutorial video
was created and referenced in the documentation
- Online editor now lets you pick the widget style ( 23e3c6 )
-
Rust client API
-
Provide
sixtyfps::Window
by reference in the Rust API ( 29f585 )This also removes Clone from the Window again, to avoid having to face the question: Does cloning a window duplicate it on the screen?
-
Provide
- C++ language bindings
-
Fixes
-
Fix regression of two-way binding on default geometry related
properties causing binding loop (
38cf15
)
Commit 064c39 introduced the regression that if a two-way binding was set on a property that we'd also set a default geometry on, we'd end up applying that on the two-way binding, causing a binding loop.
set_binding_if_not_set needs to only set the binding if... there's really none yet.
Fixes #385
-
GL backend: Avoid run-time opengl errors with clipped zero width or
height rectangles (
25fac2
)
If a Rectangle has a border-radius and clipping, we use an FBO to render the children and then use femtovg's stencil clipping. If the Rectangle has a zero width or height, we would end up trying to create a texture with such dimensions, which produces run-time opengl errors.
We can detect this situation and avoid it early on. The same might happen for shadows.
Fixes #377
-
Fix disappearing elements with implicit width/height (
064c39
)
When an element gets its width and height from the parent through an implicit 100% binding, those bindings were missing when an animation was pre-defined.
The provided new-type wrapper offers a function to deal with replacing just binding expression, instead of the expression *and* the animation.
Fixes #376
-
Fix cursor rendering with the Qt backend for non-ascii text (
35541c
)
We calculate the cursor position as byte offset in the utf-8 encoded string, while Qt expects an index in the utf-16 encoded QString. When those differ, the cursor is rendered at the wrong location.
Fixes #363
-
Fix the qt backend always rebuilding (
58af76
)
(because of one of the previous changes which renamed the file)
-
Fix panic when one of the two branch of a condition is Type::Void (
fa770e
)
Throw a proper compilation error. Note that there may be a bit too many error now when the two branch of a condition are not the same, but it's better than a panic
-
Fix regression of two-way binding on default geometry related
properties causing binding loop (
38cf15
)
-
Janitor work
Changes: 61af35, ff76aa, 9c1242, 4c7ecc, 04738a, 0d7391, 2606d6, 46edbd, ce976a, c74565, 24a202, 22c657, 60ef09, ce4727, 5cf23f, 3c9451, 04a2df, 57ed13, 89a93d, 601e93
Statistics
80 patches were committed by 4 authors.
← Next : 9th of August to 15th of August 2021 | Previous : 25th of July to 1st of August 2021 →
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