SixtyFPS v0.1.0 Release Notes

Release Date: 2021-06-30 // almost 3 years ago
  • ๐Ÿ”„ Changed

    • Layouts are now conceptually their own elements, meaning that the x and y properties of items within layouts are relative to the layout and no longer to the parent element of layouts.
    • The default spacing and padding of layouts is now 0 instead of being specific to the style. There are now HorizontalBox, VerticalBox, GridBox widgets which have default spacing and padding.
    • Setting the window height and width properties results in a fixed size. The preferred-width and preferred-height property can be used to set the initial size and the window remains resizable by the user, if the window manager permits.
    • Binding loops are now detected at compile-time instead of panic at runtime.
    • The viewer binary was renamed to sixtyfps-viewer and is now available via cargo install from crates.io.
    • The layout properties minimum-width, maximum-height, etc. were renamed to a shorter version min-width, max-height. The old names are still supported as a deprecated alias.

    โž• Added

    • Warnings are now shown in the online code editor.
    • sixtyfps::invoke_from_event_loop was added to the C++ and Rust APIs, to run a function in the UI thread from any thread.
    • sixtyfps::run_event_loop() and sixtyfps::quit_event_loop() were added to the Rust and C++ APIs to start and quit the main event loop.
    • z property on items.
    • The type in two-way bindings can now be omitted.
    • It's possible to declare aliases for callbacks (callback clicked <=> other.clicked;)
    • abs() function to get the absolute value
    • The root element of an if or for can be given a name (if (condition) name := Rectangle {})
    • sixtyfps::Image is a new type in the public Rust and C++ API to load images from a path.
    • The width and height of images is now accessible via the widthor height of an image type property in .60 files (some-image.source.width)

    ๐Ÿ›  Fixed

    • Fixed Mouse wheel to work on the Flickable element and derivatives.
    • Fixed generated C++ code on Windows.
    • Calling debug(...) no longer breaks the LSP.
    • ComponentDefinition::properties only exposes public properties as documented.
    • Many more bugfixes