C
What's New in 2.7
Qt Quick Ultralite maintains source compatibility between minor releases. However, some changes may require you to adapt the application code accordingly. The following sections highlight such changes:
Important changes
- Added support for Infineon TRAVEO™ T2G CYT4EN (Technology Preview).
- Deprecated the Application QML type and added the ApplicationScreens QML type as a replacement.
New features
- Added the Studio.Components module and the ArcItem studio component.
- Refactored StaticText implementation to make its layout similar to Text, irrespective of the font engine in use. It also ensures that multi-line StaticText items align better when scaled, and their implicit horizontal alignment is correct.
- Updates to demos and examples:
- Updated the automotive demo to control its simulation using the hardware buttons.
- Added Benchmark mode to watch demo.
- Added the QUL_PLATFORM_DEFAULT_LAYER_RENDERING_HINTS CMake variable to enable configuring the platform layer engine with default rendering hints.
- Added support for fill paths with linear gradients:
- Added the DrawingEngine APIs.
- Added the Gradient QML type to enable drawing ShapePath and Rectangle with linear gradients.
- Added support for hardware accelerated blending of linear gradients on the Infineon TRAVEO™ T2G and NXP i.MX RT1170 reference boards.
- Fixed GUI freeze on the Desktop backend if an error occurs in the Core library. The backend now has a error handler to stop execution if an error is detected.
- Fixed duplicate file warnings when building with IAR.
- Fixed
qulrcc
to use better hashing techniques to avoid name conflicts if an application uses large no. of images. - Fixed compiler and linker warnings when building with the ARM GCC 12.x toolchain.
- Fixes to demos and examples:
- Increased the text cache size to improve render performance for thermo demo on STM32 boards.
- Updated the freertos-multitask example to show how using queues to set Qt Quick Ultralite properties, and communicate bi-directionally between the Qt Quick Ultralite and other threads.
- Updated the Shapes example to show linear gradients usage.
- Refactored
qmltocpp
to make sure that it generates better code for empty structs. This improves flash memory footprint (3% to 7%) depending on the application. - Upgrades:
- TRAVEO™ T2G CYT4DN SDK version 2e.2.0.
- TRAVEO™ T2G Sample Driver Library (SDL) version 7.9.0.
- QmlProject updates:
- Added
Project.supportedLanguages
property to list the supported languages. - Added Project.primaryLanguage property to configure the default language.
- Added sanity check to enable verifying the nodes and properties in a
qmlproject
file. - Added the MCU.Config.displayRotationAngle property to control the clockwise rotation angle.
- Added
- Added support for defining a Connections signal handler using the function syntax.
- Added support for
Text.StyledText
textFormat in a StaticText item. This enables adding inline images (with size) using HTML tags. - Added Qul::PlatformInterface::ImageDecoder API to enable implementing custom image decoder. See Image decoder integration for more information.
- Added support for configuring a rotation angle for the entire application to match orientation of the physical display. See MCU.Config.displayRotationAngle QmlProject property for more information.
Fixed issues
qmlprojectexporter
fixes:- Check and remove duplicate entries in the QmlFiles node.
- Check the type of the files in different files node to make sure they are relevant for that node.
- Collect font files from the modules.
- Warn if the TranslationFiles.MCU.omitSourceLanguage QmlProject property is not true when using ID-based translation.
- Fixed CMake logic to report useful error messages if
qmlprojectexporter
fails due to missing dependencies. - Don't use system Clang with installed builds.
qmltocpp
fixes:- Generate C++ code based on the C++ standard of the project.
- Accept object pointer in function arguments.
- Fix logic to lookup the signal handler (with
"on"
prefix) for properties before considering a C++ function as the signal handler. - Consider
when
condition for default states. - Consider the declared
state
property before the StateChangeEvent. - Improve code generated from QML to avoid empty structs, improving flash memory footprint from 3 % to 7 % depending on the application.
- Changed the CheckBox::checkState enums to be consistent with Qt.
- Fixed wrong positioning and rendering glitches with transformed text because of one pixel offset.
- Fixed the wrong spacing between the glyphs while rendering complex text with Spark font engine.
- Fixed duplicate definition warning on STM32H750B-DISCO with ARM GCC.
fontcompiler
fixes:- Use enough memory for heap and glyph cache when using Spark font engine.
- Exit gracefully after printing an error message on
QUL_ASSERT
.
- Fixed GHS 2018 compiler warnings while building for Renesas RH850.
- Improve ArcItem implementation to make sure it is compatible with Qt Quick.
- Fixed implementation for Item to make sure the visibility updates consider the property binding on its visible property.
- Fixed the heap structure field for thermo_demo (benchmark mode) on IAR baremetal platforms, to avoid wrong heap usage report.
- Updated the FreeType rasterizer to support the
ARGB32_Premultiplied
andARGB4444_Premultiplied
formats. - Fixed CMake logic to find the correct path to the Clang resources.
New APIs
APIs for application development
New QML Types
New QML Properties
QML Type Rectangle:
gradient : Gradient |
QML Type ShapePath:
fillGradient : ShapeGradient |
APIs for platform development
New Classes
New Global Functions
void | generateGradientColorTable(const PlatformInterface::GradientStops &gradientStops, float opacity, PlatformInterface::Rgba32 *colorTable, int size, bool premultipliedAlpha) |
Changes in Previous Versions
Changes in v1.1.0 | |
Changes in v1.2.0 | |
Changes in v1.3.0 | |
Changes in v1.4.0 | |
Changes in v1.5.0 | |
Changes in v1.6.0 | |
Changes in v1.7.0 | |
Changes in v1.8.0 | |
Changes in v1.9.0 | |
Changes in v2.0.0 | |
Changes in v2.1 | |
Changes in v2.2 | |
Changes in v2.3 | |
Changes in v2.4.0 | |
Changes in v2.5 | |
Changes in v2.6.0 |
Available under certain Qt licenses.
Find out more.