On the 21st of March the new version was released.
Here's the changelog:
Version 4.19.0
- Release date: March 21st, 2022
- New TouchGFX Designer Features:
- New and improved interface for text and typography handling for easier overview and management of large amounts of text.
- Added features for text and typography management include:
- Merging of single use and resources to one grid.
- Language settings for typographies.
- New widget: Static Graph
- Easy conversion of texts.
- Grouping.
- Rearrange and copy texts in grid.
- Search.
- Hide language columns in grid.
- Bugfixes in TouchGFX Designer:
- New TouchGFX Core Features:
- New widget: Graph.
- New texts.xml format supporting texts in groups and language specific settings for typographies.
- Added HAL::setAnimationStorage().
- Added ScrollBase::setOvershootPercentage(), and getOvershootPercentage(), for drag events at end of lists that are not circular. This works for ScrollLists and ScrollWheels.
- Event::getEventType() is now const.
- Pressing F5 in the simulator will call Application::changeToStartScreen() which can be implemented in FrontendApplication.
- The simulator ability to flash each invalidated area can be set from code using HALSDL2::setFlashInvalidatedAreas().
- New function invalidateContent() to only invalidate the part of a widget that contains a graphical element, has been added to Drawable, Containers, Widgets and Mixins. Using this new function instead of invalidate() can result in performance improvements.
- Added TextureMapper::updateScale() which will invalidate to ensure correct update of the screen when scaling. AnimationTextureMapper has been updated accordingly.
- FadeAnimator only invalidates if the alpha changes. The Widget being faded must have function getAlpha().
- Some internal graph classes have been renamed:
- AbstractDataGraphWithY -> DynamicDataGraph
- DataGraphWrapAndOverwrite -> GraphWrapAndOverwriteData
- New functions in graph classes allow an already scaled value to be added. If scale is 10, adding a scaled value of 15 is equivalent to adding the floating point value 1.5f. This can avoid introducing floating point arithmetics. The new functions all end in the word "Scaled".
- Added Video::showFrame() to show a specific frame in a video.
- Added LCD::copyAreaFromTFTToClientBuffer() copy new pixels between TFT and client buffer.
- LCDNemaP renamed to LCDGPU2D.
- Added support for Microsoft Visual Studio 2022.
- Renamed existing Keil libraries from "touchgfx_core.lib" to "touchgfx_core_wchar32.lib".
- Added Keil libraries compiled for short enum/wchar: "touchgfx_core_wchar16.lib".
- DataGraphScroll -> GraphScrollData
- DataGraphWrapAndClear -> GraphWrapAndClearData
- Bugfixes in TouchGFX Core:
- Proper handling if the ellipsis character for a text does not exist.
- LCD16bppSerialFlash::blitCopyRGB888() did not check if the image could be read from flash.
- Function HAL::copyFrameBufferRegionToMemory() would sometimes set a wrong SolidRect.
- On rotated display with a framebuffer height larger than the display width, the wrong part of the framebuffer would be written to.
- ScrollList::setWindowSize() will be limited to the number of entirely visible items (including margins).
- EasingEquations::backEaseInOut() had a rounding bug when the change was an odd number.
- Deprecated TouchGFX Core Features:
- TextureMapper::invalidateBoundingRect() is deprecated. Use invalidateContent().
- Application::cacheDrawOperations() is removed. Use clearCachedAreas() and drawCachedAreas().
- Function setXAxisScale() on Dynamic Graphs is now called setXAxisFactor().
- Function getXAxisScaleAsInt() on Dynamic Graphs is now called getXAxisFactorAsInt().
- Function getXAxisScaleAsFloat() on Dynamic Graphs is now called getXAxisFactorAsFloat().
- GraphElementArea::setBaseline() and GraphElementHistogram::setBaseline() no longer automatically redraws the graph. An explicit call to e.g. invalidateGraphArea() is required.
Link to changelog here: https://support.touchgfx.com/4.19/docs/miscellaneous/changelog