C

What's New in 2.2

Qt Quick Ultralite maintains source compatibility between minor releases. However, some changes may require you to adapt the application code. The following sections highlight such changes:

New features

  • Added QUL_PLATFORM_DEFAULT_BINARY_ASSET_OPTIONS to enable configuring how the asset data binaries are included in the application binary.
  • Compiler, graphics driver, and SDK upgrades:
    • ARM GCC compiler v10.3.
    • IAR compiler 9.20.4.
    • Graphics Driver v1e.1.0 for Traveo II Cluster Series
    • MCUXPresso SDK v2.11.1
  • Added support for the RK055HDMIPI4MA0 display on NXP RT1170.
  • Added the QUL_RH850_FLASH_TYPE and QUL_RH850_RAM_TYPE configure options to enable using Octa flash and Octa RAM for resource data.
  • Added support to build the tviic2d6m-baremetal platform using the IAR 8.22 Functional Safety compiler.
  • Added the Text.wrapMode API.
  • Added error notification API to enable applications handle Qt Quick Ultralite errors gracefully. Refer to Error handling for more information.
  • Added the qul_generate_flash_target CMake command to generate flash target.
  • Added the texture() and textureCount() functions to access texture data.
  • Added the performance and footprint guide to enable using Qt for MCUs optimally.
  • Added Monotype FontmapEditor support for the Linux host, and upgraded it to the latest version.

Fixed issues

Qt for MCUs v2.2.4

  • Fixed CMP0083 CMake policy error while building for the Linux desktop.
  • Fixed the following in the Animation logic:
    • Avoid wrong QulError_Animation_ProgressOutOfRange assertions, while checking if the given value is within (0-1) bounds.
    • Trigger signals for standalone and top-level animations only to improve compatibility with Qt Quick animation.
  • Fixed inconsistency in handling resource properties for resources with custom BASE and PREFIX.
  • Fixed qmltocpp to prevent removing a function call with unused return value.
  • Fixed the CMake configuration with Ninja to display progress of the flashing tool.
  • Fixed the NXP platform port to avoid queries for touch data when there are no touch interrupts.
  • Fixed stack size calculation logic to avoid the array-bounds compiler warning.
  • Fixed unexpected artifacts on STM32H750B while running the swipe_game demo MinSizeRel build.
  • Fixed fontcompiler to avoid wrong size for the glyphMap.
  • Fixed the UI update logic to make sure that a Qul::Property::setValue call triggers a repaint.
  • Fixed the CMake config for the automotive demo to include HMI sources.
  • Fixed the interrupt_handler example to make sure the user button press behavior is consistent on all platforms.

Qt for MCUs v2.2.3

  • Fixed type cast error on property change event for properties of type std::string.
  • fontcompiler fixes:
    • Handle space characters in the font.unicodeCoverage list.
    • Avoid superfluous glyph not found warnings.
  • Fixed rendering issues with a rectangle item that is at the center of its parent rectangle. This improves compatibility between QtQuick and Qt Quick Ultralite.
  • Fixed segfault while evaluating properties that are not initialized.
  • Fixed Text item to ensure that it handles the clip property like a standard QtQuick text item does.
  • Fixed 24bpp blending on STM32F469I-Disco boards.
  • Fixed Cypress Traveo II kit (JSON) file to ensure Qt Creator has all the necessary information to create a kit.
  • Fixed touch handling on STM32F769I boards with the IAR toolchain, to also include the touch events outside the interrupt context.
  • Fixed Text item to ensure line breaks for items with the Text.WordWrap as wrap mode, complies with the Unicode line break algorithm.
  • Fixed division by zero if an Animation has its duration set to zero while the animation is active.
  • Fixed crash on deleting the dirty render nodes.
  • Fixed Property to avoid QulError_PropertyBase_DependencyNodesNotMarkedDirty assertions if a property has a combination of bindings and transitions. This also avoids the assertion if the property changes several times.
  • Fixed fontcompiler to include only the unique characters into the Spark font engine cache priming data, ignoring duplicates in the font.unicodeCoverage list.

Qt for MCUs v2.2.2

  • Fixed CMake logic to ignore the JDK found in the system environment while trying to find JLink.
  • Fixed build type check for the multi-config generators such as MSVC to ensure that the default build type is correct.
  • Fixed rendering artifacts on Cypress Traveo II with the shapes example built using the IAR toolchain.
  • Fixed performance logging issues with a custom exec loop.
  • Fixed issues related to flashing binaries onto the STM devices.

Qt for MCUs v2.2.1

  • Fixed the logic used for auto-generation of static text translation arrays, to ensure that they are always stored in flash.
  • Fixed the platform port for Infineon Traveo II to avoid the rounded rectangle blending artifacts with OTF windows.
  • Fixed slower animation loops on the STM platform.
  • Updated PauseAnimation and TimeLineAnimation to be based on the timestamp to avoid running them longer than expected.
  • Fixed performance issues that was caused by frequent calls to the DrawingEngine::blendPath() function.
  • Fixed the qmlcompiler to improve the error messages related to the invalid QML filename.
  • Fixed following issues in the Desktop simulator:
    • Render quality when system scaling is enabled.
    • Default build type for applications on Windows is set to Release.

Qt for MCUs v2.2.0

  • Optimized bindings to reduce code size by around 3-15% depending on the toolchain and the application.
  • Fixed text layout to not include leading (font metric) in line height. This improves compatibility between Qt Quick and Qt Quick Ultralite.
  • Fixed layers ignoring visible property and ensure that the property is also propagated to the layer's children.
  • Fixed packaging to ensure that the compatibility sources are included.
  • Optimized qulrcc to ensure that the raw binary data is aligned properly.
  • Optimized the Screen and ItemLayer types to warn about wrong usage.
  • Fixed inconsistent behavior in qulrcc when a qul_add_resource has BASE and PREFIX defined.
  • Updated NXT RT1170 platform port to use a series of bezier curves instead of an arc.
  • Fixed the font data array address alignment issue.
  • Updated Qt Quick Ultralite to be compatible with Qt 6.2.4.
  • Fixed memory manager to skip aligning memory in case of a nullptr.
  • Fixed the Chess example to handle the turn indicator's location based on the screen orientation.
  • Fixed rendering issues on Traveo II with Green Hills toolchain.
  • Refactored blending logic to avoid flickering on STM32H750B.

New APIs

APIs for application development

New Member Functions

Class SharedImage:

(since Qt Quick Ultralite 2.2) Qul::PlatformInterface::Texture texture(int textureIndex = 0) const
(since Qt Quick Ultralite 2.2) int textureCount() const

New Functions in Namespaces

(since Qt Quick Ultralite 2.2) QulErrorHandler *setErrorHandler(QulErrorHandler *handler)

New Global Functions

(since Qt Quick Ultralite 2.2) const char *errorCodeToString(QulError code)

New QML Properties

QML Type Text:

(since Qt Quick Ultralite 2.2) wrapMode : enumeration

APIs for platform development

New Global Functions

(since Qt Quick Ultralite (Platform) 2.2) void error(unsigned int lineNumber, QulError code, int param1 = 0, int param2 = 0, int param3 = 0)
(since Qt Quick Ultralite (Platform) 2.2) QulErrorHandler *setErrorHandler(QulErrorHandler *handler)

New Macros

(since Qt Quick Ultralite (Platform) 2.2) QUL_ASSERT(expression, code, ...)

Changes in Previous Versions

Available under certain Qt licenses.
Find out more.