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 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

Qt for MCUs v2.7.1

  • Fixed layer positioning when display rotation angle is set to 90 or 270.
  • Fixed qmlprojectexporter to enable faster export of larger projects. Use the --parallel or -j command-line to parallel process the QML files.
  • Fixed linking errors when building the image_cache example for Renesas RH850 on AUTOSAR.
  • Fixes to qmltocpp:
    • Generate the includes list in the correct order.
    • Qualify type with module names if the are used outside its module.
    • Make parent property available to the inline component declaration object to avoid a crash.
    • Improve anchor binding inside the inline component when it is used as a sourceComponent for Loader.
    • Check if a custom property of type Component is used as a binding for souceComponent to avoid a crash.
    • Fix crash on accessing object aliases from other QML files.
  • Fixed QulPerf to make the performance metric values are updated only if the recording is enabled.
  • Fixed image decoder to avoid a crash on STM when images are smaller than the input buffer.
  • Fixed sprite_animations example to avoid rendering artifacts.
  • Fixed host tools qulrcc, qmltocpp, and fontcompiler to make sure the generated code is consistent.
  • Fixed error loading the QtQuick.Controls module with generateQmltypes enabled. The qmlprojectexporter needs the --qml-mappings-dir argument to load such modules and also provide more information if those modules are not found.

Qt for MCUs v2.7.0

  • 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 and ARGB4444_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:

(since Qt Quick Ultralite 2.7) gradient : Gradient

QML Type ShapePath:

(since Qt Quick Ultralite 2.7) fillGradient : ShapeGradient

APIs for platform development

New Classes

New Global Functions

(since Qt Quick Ultralite (Platform) 2.7) void generateGradientColorTable(const Qul::PlatformInterface::GradientStops &gradientStops, float opacity, Qul::PlatformInterface::Rgba32 *colorTable, int size, bool premultipliedAlpha)

Changes in Previous Versions

Available under certain Qt licenses.
Find out more.