5

30th of August to 5th of September 2021

 3 years ago
source link: https://sixtyfps.io/thisweek/2021-09-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.
neoserver,ios ssh client

This week in SixtyFPS

30th of August to 5th of September 2021

Posted on September 6, 2021

SixtyFPS 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://sixtyfps.io/ or go straight to github at https://github.com/sixtyfpsui/sixtyfps

Library

  • New Features
    • Allow selecting features in the CMake integration ( 5a8197 )

      Provide the same features as in the Rust API crate, as CMake options.

      This involved also contributing cargo feature flag selection in the upstream Corrosion project (#108).

    • Basic support for Multi-line TextInput ( b2392c )
    • C++: Make it possible for threads to fetch values from the ui ( 092d5d )

      sixtyfps::blocking_invoke_from_event_loop() allows invoking a functor in the ui event loop and return a value safely, while the calling thread blocks and waits. This is useful for reading properties or invoking callbacks.

  • Changes to the .60 language
    • Add support for aliasing global singleton ( 0d19e2 )

      When exporting an global multiple times under different names, make sure that they alias in the generated code.

      As a consequence, the compiler maintains the original unique name and in Rust and C++ makes only the exported names public. In the interpreter the internal name is theoretically still accessible from the outside.

    • Print an warning in stderr when modifying read-only model ( e1be59 )

      ... and improve the documentation of Model

    • Produce errors when exporting the same name multiple times ( ab522e )
  • Fixes
    • LineEdit is now able to scroll to keep the cursor visible ( 4f1eac )
    • Only emit click when clicking and releasing the mouse within the TouchArea ( ed2449 )

      Closes #455

    • Fix key events the control modifier on Windows, X11 and Wayland ( 6db89e )

      Under these windowing systems, we receive a QString text from Qt that contains a terminal control character (like \u{3} for ctrl+c). We decided to supply the character for the key (for example 'c' for Ctrl+C) to the application, so activate the conversion from the key code when control characters are present.

      With winit, we receive first a key down input event with the virtual key code (for example C for Ctrl+C), followed by a ReceivedCharacter event with a terminal control character. We choose to ignore that and instead take the previously received key code and try to use that instead.

      Fixes #441

    • Refactor the way the builtin files are loaded ( a28bc7 )

      So that we can share some code across styles

    • Fix panic on mouse wheel on a NativeSlider ( b04581 )

      move the handle instead of panicking

  • Janitor work
    • Update resvg version ( b075b4 )
    • Update rowan version ( f69ad5 )
    • Split qt_widgets.rs in several modules ( 50ca8a )

      It was the bigger rust file in the repository

Statistics

40 patches were committed by 3 authors.


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK