版本4.18.1
-
发布日期:2021 年 12 月 7 日
-
新的 TouchGFX 设计器功能:
-
TouchGFX 设计器中的错误修正:
- 各种网络稳定性修复
- 在 TouchGFX 设计器打开时将图像添加到包含进度指示器的项目可能会导致崩溃
- 添加Widget Menu可以进入打开菜单时搜索文本框未聚焦的状态
- 无法为“设置通配符”操作选择资源文本
- 缺少 1bpp 颜色深度的 BW_RLE 格式
- 删除文本中使用的排版时错误报告
- 小部件树视图中的切换可见性按钮没有响应鼠标悬停
- 文件菜单中的切换主题选项没有正确报告当前主题
-
新的 TouchGFX 核心功能:
-
TouchGFX 核心中的错误修正:
- Videos.s 文件只为带有视频的 Keil 项目生成。
- CWR PainterARGB8888Bitmap 不适用于带有 alpha 通道的 RGB565 图像
- 修复了在布局中按外部键时使用键盘小部件可能显示的错误。
-
弃用的 TouchGFX 核心功能:
版本 4.18.0 #
-
发布日期:2021 年 10 月 20 日
-
新的 TouchGFX 设计器功能:
- 新小工具:视频。
- 添加了对新 .xml 文本数据库的支持。
- 从 .touchgfx 文件中删除了 TextEntries 数据库。
- 添加了对 XRGB 的支持。
- 在最近的应用程序列表中添加了应用程序的完整路径。
- 为图标添加了各种动画。
-
TouchGFX 设计器中的错误修正:
- 修复了丢失的代理对话框。
- 修复了放置在自定义容器定义中时的仪表小部件代码生成错误。
- 修复了在其他编辑器中打开文件时 TouchGFX 设计器报告磁盘上文件更改的问题。
- 固定模拟时钟能够调整大小。
- 修复了文本管理器中的排版选择器无法正确调整大小的问题。
- 固定下拉控件有时会自动选择。
- 改进了文本管理器的性能。
- 改进了颜色选择器的性能。
- 改进了 alpha 滑块控件的 UX 行为。
- 修复了使用鼠标滚轮后数字属性向上/向下控件不起作用的问题。
- 修复了属性控件之间的制表符。
- 修复了抖动算法选择器项目缺少名称的问题。
- 修复了删除用于选定样式模板的自定义容器后 ScrollWheel 小部件的错误状态。
- 修复了尝试打开最近在磁盘上删除的应用程序时崩溃的问题。
-
新的 TouchGFX 核心功能:
- 文本和语言(翻译)现在存储在 texts.xml 而不是 texts.xlsx(Excel 格式)中。添加了用于导出和导入翻译的工具(touchgfx/framework/tools/textconvert/translation.rb)。
- 新小部件:VideoWidget。
- 在 3rdparty/libjpeg 中为 Linux 和 Windows 添加了 libjpeg 库(请注意,与官方 libjpeg 相比,红色和蓝色交换了)。
- 模拟器现在可以处理不等于帧缓冲区大小的显示大小。调用 touchgfx_generic_init() 后,使用 HAL::setFrameBufferSize() 设置(更大的)帧缓冲区大小。
- 添加了 Drawable::center()、centerX()、centerY() 以在其父级内居中绘制。
- 添加了 Drawable::expand() 以使 Drawable 与其父级具有相同的大小,可选择在边缘周围留出边距。
- 添加 LCD::fillBuffer() 以在任何内存缓冲区中填充颜色模式。
- 添加了 ScrollableContainer::getChildrenContainedArea()。
- 在 16bpp LCD 上更快地绘制 ARGB8888 图像。
- 为了便于使用,Application::getCurrentScreen() 现在是静态的。
- 将 Freetype 2.10.4 更新为 2.11.0(由字体转换实用程序使用)。
- 将 nlohmann json 3.9.1 更新到 3.10.2(由图像转换实用程序使用)。
- 将 Ruby 1.9.3 更新为 3.0.2(由文本转换实用程序使用)。
- ScrollableContainer::doScroll() 现在是 public 并确保滚动有效。
- 现在可以设置屏幕中根容器的位置和大小。
- 所有位图画家都可以偏移位图,并可以平铺位图(以帮助节省内存)。
-
TouchGFX 核心中的错误修正:
- TextArea 自动自动换行 (WideTextAction) 没有考虑缩进。
- ImageConvert 不允许写入另一个驱动器或完整路径。
- 带有 ... 参数的 TextProvider::initalize() 可能会产生意外结果。
- 生成的文件中的所有 extern 声明现在都与实际声明相匹配。
- 执行显示方向更改时可能会混淆 FRAME_BUFFER_WIDTH 和 FRAME_BUFFER_HEIGHT。
- ProgressIndicators 和 Gauges 不能与带计时器的 mixin 一起使用。
- PixelDataWidget::getSolidRect() 现在在没有设置像素数据缓冲区时返回空的 Rect。
- 添加了 PixelDataWidget::getPixelData() 和 PixelDataWidget::getBitmapFormat()。
- 使模拟器应用程序对鼠标和键盘事件更敏感。
- ScrollableContainer::moveChildrenRelative() 现在更新 getScrolledX() 和 getScrolledY() 的值,但不更新滚动条。然而, moveChildrenRelative() 计划被弃用,请使用 doScroll() 代替。
- 修复 ScrollableContainer 中相对坐标的错误使用。
- 修复了 EasingEquations::elasticEaseIn()、EasingEquations::elasticEaseOut() 和 EasingEquations::elasticEaseInOut()。
- 一些 8bpp 画家会使用错误的颜色,在极少数情况下,32bpp 显示器上的 L8_RGB888 会是错误的。
- LCD16bpp::blitCopy() 不支持 RGB888。
- LCD16bpp::fillRect() 和 LCD16bpp::drawGlyph() 现在将 24 位颜色而不是本机 16 位颜色传递给 DMA。
-
弃用的 TouchGFX 核心功能:
- TouchGFX 很快将支持 RGB565 并移除 alpha 通道。ImageConvert 将报告此信息以帮助迁移到例如 ARGB8888。
- 适用于 Linux 的 SDL2 不再包含在 TouchGFX 中。请在您的 Linux 环境中安装软件包 libsdl2-dev 和 libsdl2-image-dev。
版本 4.17.0 #
-
发布日期:2021 年 6 月 30 日
-
新的 TouchGFX 设计器功能:
- TouchGFX Designer 的用户界面已经完全重新设计。所有已知功能仍然可用,但通过更易于使用和直观的交互方案。还添加了其他功能,例如多种颜色主题。
-
TouchGFX 设计器中的错误修正:
-
新的 TouchGFX 核心功能:
- 向 TextureMapper 添加了函数 setAngles()、setXAngle()、setYAngle() 和 setZAngle()。与相应的更新函数相比,这些函数稍微快一些,因为它们不执行任何失效。
- 添加 TextureMapper::updateScale() 这将设置新的比例和无效(尽可能少)。AnimationTextureMapper 现在正在使用这个函数。
- 在模拟器中按 F1 现在显示像素的 RGB 颜色值(十六进制),以及 X、Y 坐标。
- 如果帧缓冲区在锁定后未解锁,模拟器将断言。
- SwipeContainer::setPageIndicatorCenteredX() 将使页面指示器在页面指示器的当前 y 坐标处居中。
- colortype 的实现已更改为始终为红色存储 8 位,为绿色存储 8 位,为蓝色存储 8 位,而不管活动显示(甚至灰色和黑白显示)的颜色深度如何。一些颜色函数已被删除或重命名,请参阅已弃用部分。
- 添加了 Screen::insert()、Screen::invalidate() 和 Screen:invalidateRect() 以允许使用例如。屏幕中的“invalidate()”而不是“container.invalidate()”。
- CacheableContainer 现在支持 setAlpha 和 getAlpha 以允许淡入淡出。
- LCD16bpp 和 LCD16bppSerialFlash 支持 RGB888 图像的 blit 复制。
- 从 LCD 驱动程序中提取 DebugPrinter 实现以分离文件。
- 添加了 Bitmap::dynamicBitmapCreateL8() 以允许创建具有少于 256 个条目的调色板的动态 L8 位图(以节省空间)。
- 添加了 Bitmap::dynamicBitmapCreateCopy() 以创建现有(静态或动态)位图的副本。无法复制 RGB565 alpha 通道。
- 添加了 Bitmap::dynamicBitmapFill() 和 Bitmap::dynamicBitmapFillRect() 以使用给定颜色填充动态位图的全部或部分。
- 添加了 Screen::getScreenWidth() 和 Screen::getScreenHeight(),它们应该用来代替 HAL::DISPLAY_WIDTH 和 HAL::DISPLAY_HEIGHT。
- 将 Freetype 2.10.2 更新为 2.10.4(由字体转换实用程序使用)。
- 添加函数 OSWrappers::taskYield()。
- HAL::initialize() 已成为虚拟的。
- 添加了 LCD32bpp_XRGB8888 显示驱动程序以在帧缓冲区中没有 alpha 通道的 32 位显示器上绘制。
- 添加 BlitOp L8 以便在硬件支持时能够使用 DMA 绘制 L8 图像。
-
TouchGFX 核心中的错误修正:
- HALSDL2 现在响应 SDL_WINDOWEVENT_EXPOSED 以重绘窗口。
- 修复了从 HSV 到 HSL 的颜色转换错误。
- 修复了未定义 DragAction 时 Graph 中的崩溃问题。
- HAL::drawDrawableInDynamicBitmap() 现在可以在位图小于可绘制对象时工作。
- TouchGFX 项目可以放置在路径中包含国际字符的文件夹中,例如“Wunderschön_Projekt”或“Lækkert_Projekt”。
- SwipeContainer 页面指示器,添加或删除页面后未更新所选页面。
- 修复了 Graph VerticalFrontline 中的重绘问题。
- 修复了 Graph::Line 中罕见的重绘问题。
- HAL::setRenderingVariant 重命名为 HAL::setRenderingMethod 以避免名称冲突。
- 在极少数情况下,CanvasWidgets 会使画布外的区域无效。
- 内部 TouchGFX #include 已被清理。这意味着您可能需要包含< touchgfx/hal/HAL.hpp >等。以前这些文件会被错误地包含在例如 Color.hpp 中。
- 修复了 LCD2bpp 上的 alpha 混合。
- LCD16bpp 上更好的 alpha 混合用于 24/32bpp 位图和文本。
-
弃用的 TouchGFX 核心功能:
- 出于速度原因,alpha 已从所有 Canvas Painters 中删除。改为在 Canvas Widget 上设置 alpha(圆形、线条、...)。
- 带有 4 个参数的 Color::getHSVFromHSL 和 Color::getHSLFromHSV 已被弃用。请使用带有 6 个参数的新版本。
- 函数 getColorFrom24BitRGB、getColorFromRGB、getRedColor、getRedFromColor、gerGreenColor、getGreenFromColor、getBlueColor、getBlueFromColor 已从 LCD 类中删除。现在,所有显示类型的颜色都以相同的格式存储,因此只需使用 Color 类中的函数即可。
-
重命名的函数:
- Color::getColorFrom24BitRGB() 现在是 Color::getColorFromRGB()
- Color::getColorFrom24BitHSV() 现在是 Color::getColorFromHSV()
- Color::getColorFrom24BitHSL() 现在是 Color::getColorFromHSL()
- Color::getRGBFrom24BitHSV() 现在是 Color::getRGBFromSHV()
- Color::getHSVFrom24BitRGB() 现在是 Color::getHSVFromRGB()
- Color::getRGBFrom24BitHSL() 现在是 Color::getRGBFromHSL()
- Color::getHSLFrom24BitRGB() 现在是 Color::getHSLFromRGB()
- Color::getRedColor() 现在是 Color::getRed()
- Color::getGreenColor() 现在是 Color::getGreen()
- Color::getBlueColor() 现在是 Color::getBlue()
- ZoomAnimationImage::setDimension 已被删除。使用 setWidthHeight()。
- 带有 int16_t& 参数的 AbstractProgressIndicator::getRange 已被删除。
- Image::getBitmapId() 不再标记为@deprecated。
- Application::draw() 不再被标记为@deprecated。
版本4.16.1
-
发布日期:2021年2月8日
-
TouchGFX Designer的新功能:
-
TouchGFX Designer中的错误修正:
- 修复了ListLayout小部件中的错误,该错误导致无法将Direction设置为East以外的值。
- 修复了“滑块”窗口小部件方向选择器上的错误工具提示。
- 修复了使用NemaP LCD时的代码生成错误。
- 修复了“向前转发”和“向后发送”的图标相同。
- 修复了仪表小部件缺少帮助文本的问题。
-
新的TouchGFX核心功能:
- 添加了LCD :: drawQuad方法,可通过NeoChrom获得更好的性能。
- 窗口小部件TextureMapper和ExpandableImage更改为使用LCD :: drawQuad。
-
TouchGFX Core中的错误修正:
- Graph中的变量dragAction尚未初始化,导致崩溃。
- 对于肖像硬件上的横向显示,BlockTransition不起作用。
- 修复了由PartialFrameBufferManager :: tryTransmitBlock引起的断言。
-
不推荐使用的TouchGFX核心功能:
-
发布日期:2020年12月15日
-
TouchGFX Designer的新功能:
- 新的小部件:仪表。
- 添加了新的触发器“屏幕转换开始时”。
- 重命名为“当进入屏幕时”触发到“当屏幕转换结束时”。
- 添加了新的“设置语言”操作。
- 现在,通过“图像选择器”在小部件上添加一个图像,将其选中。
- 在“帮助->键盘快捷方式”中添加了指向快捷方式文档的链接。
- 为“执行C ++代码”操作添加了更好的代码编辑器。
- 为“转到屏幕”操作添加了新的块过渡。
- 改进了“添加小部件”菜单的可用性/用户体验。
- 添加了对LCDNemaP的初步支持。
-
TouchGFX Designer中的错误修正:
- 通过添加“ #include < string.h > ”,修复了生成的mainBase.cpp编译在Unix上失败的问题。
- 修复了图像文件验证,当文件名包含下划线时,报告图像错误。
- 修复了能够创建名称中带有空格的应用程序的问题。
- 修复了在“自定义容器”中生成两次动态图回调处理程序的问题。
- 修复了动态图在某些情况下使TouchGFX Designer崩溃的问题。
- 在单次使用和资源文本之间切换时,动态图中的固定标签不会更新。
- 更改动态图的大小时,动态图中的固定标签不会更新其位置。
-
新的TouchGFX核心功能:
- 新的失效算法可提高性能。
- 添加了新的容器规。
- BoxWithBorder现在是Box的子类。
- LCD16和LCD8 fillRect函数现在一次写入32/16位,以提高性能。
- 添加了CanvasWidget :: resetMaxRenderLines()。
- 将LCD2shiftVal(),LCD2getPixel()和LCD2setPixel()移至类LCD2bpp。
- 将LCD4getPixel()和LCD4setPixel()移至类LCD4bpp。
- ScrollableContainer :: setScrollbarsPermanentlyVisible()现在使用布尔参数来允许永久禁用可见性。
- 现在,TextureMapper和ExpandableImage都是Image的子类。
- 添加了AnimatedImage :: setEndBitmap()。
- 添加了AbstractClock :: getCurrent12Hours和AbstractClock :: getCurrentAM()。
- Unicode :: itoa()和Unicode :: utoa()最多可以处理36个基数。
- 添加了AnalogClock :: setAlpha()和getAlpha()。
- ScrollableContainer :: setScrollbarsPermanentlyVisible()现在使用布尔参数来允许永久禁用可见性。
- 添加了TextArea :: resizeHeightToCurrentTextWithRotation()。
- 添加了Drawable :: setWidthHeight()以在一次调用中设置宽度和高度,该调用由(width,height),Drawable,Bitmap或Rect给定。
- 添加了Drawable :: setXY(Drawable&)以将Drawable的左上角设置为与其他Drawable相同的位置。
- 添加了Drawable :: setPosition(Drawable&)以将Drawable放置在与另一个Drawable相同的位置。
- 添加了Color :: getRGBFrom24BitHSV()和Color :: getHSVFrom24BitRGB()在(色相,饱和度,值)和(红色,绿色,蓝色)之间转换。
- 添加了Color :: getColorFrom24BitHSV()和Color :: getHSVFromColor()在(色相,饱和度,值)和颜色类型之间进行转换。
- 添加了Color :: getHSVFromHSL()和Color :: getHSLFromHSV()在值和亮度之间进行转换
- 添加了Color :: getRGBFrom24BitHSL()和Color :: getHSLFrom24BitRGB()在(色调,饱和度,亮度)和(红色,绿色,蓝色)之间转换。
- 添加了Color :: getColorFrom24BitHSL()和Color :: getHSLFromColor()在(色相,饱和度,亮度)和颜色类型之间进行转换。
- PainterBW现在支持Alpha。
- SnprintFloat现在可以处理NaN(“ nan”)和Inf(“ inf”)。
- 现在,SnprintFloat(s)默认为小数点后6位而不是3位。ANSI C说“如果缺少精度,则给出6位”。
- 添加了Circle :: setPixelCenter()。
- 向进度指示器添加了updateValue(),setEasingEquation(),setValueSetAction()和setValueUpdatedAction(),以允许从一个值平滑过渡到另一个值。
- 添加了SwipeContainer :: getSelectedPage。
- 添加了BlockTransition。
- 添加了CacheableContainer :: setSolidRect()和getCacheBitmap()。
-
TouchGFX Core中的错误修正:
- 更正了getGraphAreaPaddingRight()的拼写。
- 在极少数情况下,TextureMapper会绘制两次扫描线。
- 如果steps = 0,AnimationTextureMapper,ZoomAnimationImage,MoveAnimation和FadeAnimation都可以工作,并且将通知动画在最后一个动画步骤结束。
- 修复了从按键离开并释放时键盘的错误。
- Slider :: getIndicatorMin()将返回指标最大值而不是最小值。
- ImageConvert会损坏BMP图像上的堆(并且很可能崩溃)。
- 修复了纹理映射器以双线性模式绘制的图像的边框。
- 修复了Alpha <255时BoxWithBorder具有非常宽的边框。
- 将ProgressIndicators的范围和值都固定为“ int”类型。
-
不推荐使用的TouchGFX核心功能:
- 4.15和更早版本中所有不推荐使用的功能已被删除。
- 删除了ST1232TouchController。
- 不推荐使用ZoomAnimationImage :: setDimension。使用setWidthHeight。
- Drawable :: setXY和Drawable :: setPosition不再是虚函数。只有setX,setY,setWidth和setHeight是虚拟的。
- 具有int16_t&参数的AbstractProgressIndicator :: getRange方法。
版本4.15.0
-
发布日期:2020年10月5日
-
TouchGFX Designer的新功能:
- 新的小部件:动态图。
- 现在,M0平台默认禁用所有纹理映射器功能。
- 添加了对擦除过渡的支持。
- 检修了“添加小部件菜单”(现在可以通过单击画布工具栏左上角的按钮或按键盘上的“ A”找到):添加了搜索功能,可调整大小。
- 现在可以单击整个底部状态栏,以显示日志。
- 现在,状态栏在出现错误时变为红色,并在成功时变为绿色。
- 将缩放功能移至工具栏的右上方。
- 在视口中将画布居中添加了按钮。
- 添加了用于放大(Ctrl +'+'),缩小(Ctrl +'-')和重置缩放(Ctrl + 0)的键盘快捷键。
- 现在可以锁定窗口小部件的位置,这也将禁用画布上的选择(对背景图像,框有用)。
- 现在,始终在基本视图中生成黑匣子,以便在将画布插入空白画布时获得更好的体验。
- 许多工具提示都已进行了视觉大修,并显示了键盘快捷键。
- 现在可以选择是否以映射或未映射的格式输出字体。
-
TouchGFX Designer中的错误修正:
- 导入具有相同字体,位图的项目时,Designer有时会崩溃。
- FrontendHeapBase.hpp中生成的代码将包含同一过渡头文件的多个副本。
- 可以将小部件拖放到树形视图中的滚动列表或滚轮中。
- 添加小部件时,清除了用于交互的“选择按钮键”。
- 有时选择了错误的默认版本的软件包。
- 即使软件包已经存在于磁盘上,它们也将被下载。
-
新的TouchGFX核心功能:
- 新的字体格式,允许大多数字体数据存储在未映射的Flash中。
- 改进的部分帧缓冲块传输算法。
- 向OSWrapper添加了新的原型:isVSyncAvailable()和signalRenderingDone(),用于在waitForVSync中不能阻塞的平台上。
- touchgfx :: SingleBlockAllocator被删除,使用touchgfx :: ManyBlockAllocator < block_size,1,bytes_per_pixel >
- HAL上的新方法enableDMAAcceleration()可禁用硬件加速。
- 添加了TextureMapper :: invalidateBoundingRects()。
- ImageConvert使用的是更新的nlohmann-json 3.9.1。生成的图像看起来相同。
- 在模拟器中添加了单步执行。按F9将开始/停止执行。按F10将执行一勾。也可以使用HALSDL2 :: setSingleStepping(),HALSDL2 :: isSingleStepping()和HALSDL2 :: singleStep()进行控制。
- 添加了新的Graph类。
-
TouchGFX Core中的错误修正:
- 亚美尼亚(和一些西里尔字母)字符从右到左书写。
- 滑动后快速触摸并释放,可能会导致多余的GestureEvent。
- 仅需要部分重绘的非常大的字形将无法正确呈现。
-
不推荐使用的TouchGFX核心功能:
-
更新步骤:
- 对于此版本,可能需要其他步骤。有关详细信息,请参阅“已知问题”文章:https : //support.touchgfx.com/docs/miscellaneous/known-issues
版本4.14.0
-
发布日期:2020年7月2日
-
TouchGFX Designer的新功能
- 更新了所有链接,以直接指向新的文档网站。
- 添加了对SlideMenu小部件的支持。
-
TouchGFX Designer中的错误修正:
- 在应用之前声明FrontendHeap.hpp模型,以防止潜在的错误。
- 修复了UI模板选择器无法正确比较可用颜色深度的问题。
- 修复了加载前不检查.touchgfx.part文件版本的问题。
- 当为图像,L8图像和所有支持的8位LCD选择特定格式时,修复了包含画家的代码生成。
- 修复了创建新应用程序时的应用程序名称验证。
- 修复了通过Treeview在其内部拖动容器类型小部件时的错误。
-
新的TouchGFX核心功能:
- HAL :: lockDMAToPorch的默认值设置为false而不是true。
- Font :: getDataFormatA4()现在称为Font :: getByteAlignRow(),因为它可以设置为2bpp字体和1bpp字体以及4bpp字体。
- 为了保持一致性,现在将GestureType称为GestureEventType。GestureType已弃用,不久将被删除。
- 为当前版本的TouchGFX添加了带有宏的Version.hpp。
- ImageConvert支持以数字开头的图像文件。
- ImageConvert输出带有“ image_”前缀的.cpp文件。
- ImageConvert内置帮助得到改善。
- ImageConvert可以编写一个application.config模板文件。
- 添加了Unicode :: strncmp_ignore_whitespace,它忽略空格,而不仅仅是空格。
- FontConvert正在使用更新的freetype 2.10.2。这样可以使字符更好,更对齐。
- ImageConvert使用的是更新的libpng 1.6.37。生成的图像看起来相同。
- 在ScrollableContainer中添加了setDurationSpeedup,getDurationSpeedup,setDurationSlowdown和getDurationSlowdown。这样可以更好地控制在滑动手势上使用的动画步骤数。
- 扩展的SlideMenu小部件,可能不需要按钮。
- 将colortype变量用作数字将自动将其强制转换为uint32_t而不是uint16_t。
- 在Keil项目中添加了ARMCLANG-6.x支持。
- 支持Cortex-M33。
-
TouchGFX Core中的错误修正:
- BoxWithBorder不会在构造函数中设置borderColor和borderSize。
- Unicode :: snprintf()的多项修复:删除了格式字符串的64个字符的限制。不要在%o,%x和%X上强制使用符号字符。%05c前面没有零。正确处理%c,其值为0。登录%s(%+ s,%0s)的方式已正确处理。
- 如果更改大小,ScrollListWithCenterSelect可能会崩溃。
- 带有捕捉的ScrollList不会报告正确的单击项。
- ScrollList没有对齐,非圆形可能会报告错误的项目。
- 滚动列表在单击项目时会考虑填充。
- 具有setColor(color,alpha)的CWR Painters现在仅接受颜色。使用setAlpha(alpha)设置alpha。
- 缓存的位图与大量的动态位图不是32位对齐的。
- LED.hpp不再包含lpc_types.h。
-
不推荐使用的TouchGFX核心功能:
- 现在已将不推荐使用的功能标记为不推荐使用,以便编译器可以对这些功能发出警告。不推荐使用的功能将来会被删除。
- 删除了Unicode :: EMPTY的定义。
- PI的定义已从Math3D.hpp移至Types.hpp。
- EasingEquation.hpp中定义的“ pi”已被PI取代。
- ImageConvert不再支持-f,-o和-header。
- 图像:: hasTransparentPixels已删除。
-
更新步骤:
- 对于此版本,可能需要其他步骤。有关详细信息,请参阅“已知问题”文章:https : //support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue
版本4.13.0
-
发行日期:2019年12月12日
-
TouchGFX Designer的新功能:
- 支持“ .touchgfx.part”文件。这些可用于项目的外部输入(例如CubeMX集成)。
- 通过导航到“配置”选项卡中的“框架功能”类别,为TextureMapper选择支持的图像格式。
- 现在可以从设计器中覆盖“生成资产”,“后生成”,“编译模拟器”,“运行模拟器”,“编译目标”和“ Flash目标”命令。
- 现在,在将小部件拖动到画布的郊区时,启用了改进的画布缩放/滚动和自动滚动功能。
- 生成代码按钮通过显示蓝点(如果过时)显示当前代码是否最新。
- 现在可以使用快捷键Alt + F,Alt + E和Alt + H打开“文件”,“编辑”和“帮助”菜单。
- “帮助”菜单包括指向TouchGFX帮助中心的直接链接。
- 通过“配置”选项卡修改文本配置
- 详细日志可以在Designer中浮动或停靠,并可以使用快捷键Alt + L打开。
- Designer版本显示在窗口的标题栏中。
- 现在,“最近的项目”列表将显示项目的完整路径,而不仅仅是项目名称。
- 在画布上移动小部件时的性能改进。
- 在图像管理器中渲染行时的性能提高。
- 对窗口小部件树中的项目重新排序时,性能得到改善。
-
TouchGFX Designer中的错误修正
- 修复了具有延迟和按钮回调交互可能导致错误生成代码的错误。
- 修复了一个错误,该错误使用TouchGFX CLI生成项目时未正确包含使用过的TouchGFX资产。
- 修复了在某些情况下无法正确更新屏幕的画布缓冲区的错误。
- 修复了一个视觉错误,该错误导致重试下载时启动窗口上显示的错误消息不会消失。
- 修复了未正确验证调用虚拟函数交互的函数名称的错误。
- 修复了进度指示器在某些情况下无法在Designer画布上正确呈现的错误。
- 修复了一个错误,在该错误中,创建新项目而不保存将导致重新加载项目时默认字体消失。
- 修复了视觉错误,该错误导致文本管理器似乎将注意力集中在错误的单元格上。
- 修复了一个小部件的属性选项卡无法正确显示错误的错误。
- 修复了生成按钮单击处理程序有时会产生空if / else语句的错误。
- 改进了启动窗口中的搜索字段。
- 修复了以下错误:复制形状小部件并在其中一个中编辑点会导致两者都发生更改。
- 修复了一个错误,该错误是在使用版式选择器更改字体时使用鼠标滚轮滚动会关闭弹出窗口。
- 修复了无法正确加载包含转到屏幕操作的项目的错误。
- 修复了在小部件树视图中展开/折叠节点也会选择该节点的错误。
- 修复了将UI导入应用程序时某些值未正确导入的错误。
- 修复了在图像选择器中浏览文件夹时出错的错误。
- 修复了错误显示滑动容器中页面顺序的错误。
- 修复了在Designer画布上纹理贴图器的渲染错误的错误。
- 修复了已删除的交互源的验证错误的错误。
- 修复了以下错误:使用资产/图像下的子文件夹重命名文件夹可能会使Designer崩溃。
- 修复了在RadioButton上产生重复代码的交互。
- 修复了将同一图像从文件资源管理器两次拖到设计器中会导致错误行为的错误。
- 修复了单选按钮交互有时会生成重复代码的错误。
- 修复了覆盖画布缓冲区可能导致生成的代码中缺少换行符的错误。
- 修复了使用土耳其语区域格式时设计器会生成错误代码的错误。
- 修复了一个视觉错误,其中自定义操作/触发文本框中的文本太长会导致UI发生不必要的变化。
- 修复了一个崩溃错误,其中删除了应用程序中的最后一个自定义容器之后的一系列步骤会导致Designer崩溃。
- 修复了无法将自定义容器实例从屏幕复制到自定义容器定义的错误。
- 修复了匹配UI模板过滤器无法正常工作的问题。
- 现在,Designer支持包含句点的应用程序名称。
- 修复了将样式从水平样式更改为垂直样式的滑块会导致样式设置不正确的错误。
- 修复了一个错误,即更改字体的字体在视觉上不会在UI中的某些位置显示正确的字体名称。
-
新的TouchGFX核心功能:
- TextureMapper性能改进。根据图像格式,渲染算法,硬件设置和图像布局,将渲染时间减少-10%至-60%。
- 默认情况下,纹理映射器是禁用的,必须在使用前启用。在此处阅读有关此功能的更多信息:https : //support.touchgfx.com/docs/miscellaneous/known-issues/#texturemapper-is-disabled-by-default
- 添加了简单的字符串打印,可在所有LCD类型中进行调试。请参阅:https://support.touchgfx.com/docs/development/ui-development/working-with-touchgfx/debugging/#using-the-debugprinter
- 字体缓存现在支持印地语中使用的GSUB表。请参阅:https: //support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/font-cache/#caching-gsub-tables
- 将arm gcc编译器更新为7.3.1 2018q2版本。
- 已将gcc编译器更新为7.3.0版。
- 使用最新版本的软件包更新了mingw环境。
-
TouchGFX Core中的错误修正:
- TextureMapper:在双线性模式下校正/改进的边缘上混合。
- TextureMapper:在“最近邻居”模式下图像质量稍有改善。
- 阿拉伯语文本“ 12:34”中文本顺序的错误修正,该文本先前在RTL中呈现为“ 34:12”。
-
不推荐使用的TouchGFX核心功能:
- 删除了不推荐使用的TRANSPARENT_COL的定义。
- 删除了Drawable :: getType()。
- 删除了HAL :: blitSetTransparencyKey()。
- 删除了HAL :: registerTextCache()。
- 删除了HAL :: cacheTextString()。
-
更新步骤:
- 对于此版本,可能需要其他步骤。有关详细信息,请参阅“已知问题”文章:https : //support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue
版本4.12.3
-
发布日期:2019年9月25日
-
新的TouchGFX核心功能(自4.12.0开始):
- 二进制字体:二进制字体可以用作编译字体信息并将其链接到您的应用程序的替代方法。这种方法的主要优点是获得较小的应用程序二进制文件,并可以灵活地为设备提供不同的字体集。
- 字体缓存:支持缓存二进制字体,适用于在显示字符串时仅从文件系统加载所需的字符。
- 二进制翻译:支持二进制翻译,适合于从文件系统加载翻译,而不是将其链接到应用程序中。在此处阅读有关这些功能的更多信息:https : //support.touchgfx.com/docs/development/ui-development/touchgfx-engine-features/using-binary-translations/
- 支持用于16bpp显示器的非内存映射闪存,可将图像和字体存储在便宜的SPI闪存中。
- 识别阿拉伯语连字阿拉,阿克巴,穆罕默德,萨拉姆,拉苏尔,阿拉伊,瓦萨兰和里亚尔符号的Unicode序列。
-
TouchGFX Core中的错误修正:
- TextureMapper(双线性)将无法在24bpp显示器上正确绘制L8_RGB888和RGB888位图。
- 在不具有通配符支持的情况下,在TextArea中与通配符一起设置带有通配符的文本可能会导致崩溃。
- 如果CacheableContainer小于关联的位图,则容器的大小将不正确。
- 修复了8bpp LCD上的SnapshotWidget。
- 修复了一些阿拉伯连字的渲染。
- 修复了一些印地语连字的渲染。
- 修复了应用某些GSUB替换规则时的错误。
- 修复了二进制字体包含额外规则的错误。
版本4.12.2
-
发布日期:2019年8月22日
-
新的TouchGFX核心功能:
- 现在,使用TextArea :: setWideTextAction()来对宽文本进行WordWrapping换行时,换行符将以普通空格以及Unicode字符0x200B(零宽度空格)换行。
-
TouchGFX Core中的错误修正:
- 二进制字体:当在应用程序配置中指定“ binary_fonts”选项时,fontConverter工具未将字距调整数据写入二进制字体文件。使用二进制字体时,这会导致文本显示不正确。
版本4.12.1
-
发布日期:2019年8月15日
-
更新了“第三方组件.pdf”以反映更新的组件
- libpng-1.6.36
- zlib-1.2.11
- Freetype 2.9.1
-
TouchGFX Designer中的错误修正:
- 修复了一个延迟动作和一个单击按钮的动作一起会导致编译错误的错误。
- 修复了将画布小部件添加到自定义容器实例时,屏幕的画布缓冲区未正确更新的错误。
- 修复了“在线应用程序”窗口中的错误消息会卡住的错误。
- 修复了使用不同进度指示器的Alpha值时在设计器中的Canvas上渲染错误的问题。
- 修复了以下错误:创建一个新项目,关闭设计器而不保存它,然后重新加载该项目将导致该项目没有可用的印刷字体。
- 尝试将已经打开的UI导入另一个项目时,更新了错误消息,以使其更加清晰。
- 修复了在特定情况下文本管理器可能在视觉上具有多个焦点的错误。
- 修复了当小部件上出现错误时,小部件的“属性”选项卡将无法正确显示红色边框的错误。
- 修复了以下错误:使用Consolas字体重新加载使用该字体的项目后,在Designer中的Canvas上无法正确呈现该错误。
-
TouchGFX Core中的错误修正:
- 如果正在使用“显示旋转”,则TextureMapper错误。
- 忽略CachedFont的字距调整数据。
- CachedFont没有在字体缓存中查找后备字符。
版本4.12.0
-
发布日期:2019年6月7日
-
重要升级信息:
- drawGlyph的公共版本已被删除。请改用drawString。
- 对不透明图像使用位图格式ARGB8888将不再抖动为565,而是保留全部888种颜色。当不透明格式为RGB565时,将ARGB8888用于非不透明图像仍会抖动为565。
- 如果BW_RLE格式导致转换后的图像更大,则转换为BW_RLE的图像将不再回落到BW。相反,图像转换器将生成警告。使用设计器(或新的配置文件)为每个单独的图像指定BW或BW_RLE。
-
TouchGFX Designer的新功能:
- 现在可以将一个自定义容器嵌套在另一个自定义容器中。这样可以将自定义组件无限期地组合为更大的自定义组件。
- 自定义容器支持定义自定义触发器和自定义动作,屏幕支持定义自定义动作。这些触发器和动作支持信息从一个组件到另一组件的流动。在Designer中进行交互时使用此类触发器和动作,可以在不离开Designer的情况下执行更多实际的应用程序行为。请查阅文档以进行进一步介绍。
- 现在可以将一个容器生成为CacheableContainer。
- 添加了新的“图像”选项卡,用于设置单个图像配置(图像格式,抖动算法,布局旋转等)。
- 应用程序设置和其他新设置已重新定位到“配置”选项卡。
-
新的TouchGFX核心功能:
- 框架工具使用的升级的第三方库。这样可以使文本看起来更好看。
- 通过更大的字距调整表改善字距调整。
- 现在,在某些情况下,通过更紧密的行距和更好地渲染Sara Am可以更好地渲染泰式字体。
- 对印地语(Devanagari)的初步支持。将应用以下GSUB表:nukt(Nukta形式),akhn(阿克汉德),rkrf(Rakar形式),cjct(合并形式),vatu(Vattu变体),rphf(Reph形式),pref(基础形式),一半(半形),blwf(以下基形),abvf(以上基形),pstf(后基形)和cfar(Ro后的合并形)。当前不支持以下功能:abvs(基于基础的替代),blws(基于基础的替代)和psts(基于基础的替代)。此外,并非所有GSUB表类型都受支持。
- 添加了新的Line :: updateLengthAndAngle()API。
- 添加了对部分帧缓冲区渲染和更新的支持。
- 添加了用于调试的简单字符串打印。
- 允许在初始化后更改BitmapCache。
- 新的宏,用于为闪存编程设置节名称。
- 添加了Circle :: updateArc()以最小的无效区域更新弧的开始和弧的结束。
- 更新了CircleProgress以使用更高精度的更新。
- 添加了CacheableContainer用于屏幕外小部件渲染。
- 增加了对具有16位,24位和32位调色板的L8图形资产的支持。
- 增加了对通过DMA2D进行L8硬件加速的支持。
- 添加了新的LCD32bpp帧缓冲渲染器。
-
TouchGFX Designer中的错误修正:
- 调用CircleProgress :: setStartEndAngle(),ImageProgress :: setAnchorAtZero()和TextProgress :: setNumberOfDecimals()后,ProgressIndicator会自动更新。
-
TouchGFX Core中的错误修正:
- 修复了设置新值时circleProgressIndicator的重绘的问题。
- 屏幕转换完成后,删除了其他屏幕重绘。此额外的重画导致某些平台上的性能问题。现在,如果需要,使Screen :: afterTransition()中的整个屏幕无效是应用程序开发人员的责任。
-
更新步骤:
- 对于此版本,可能需要其他步骤。有关详细信息,请参阅“已知问题”文章:https : //support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue
版本4.11.0
-
发布日期:2019年3月1日
-
重要升级信息:
- 如果您的应用程序包含LCD.hpp并希望可以访问HAL,则此操作将不再起作用,因为LCD.hpp不再包含HAL.hpp。在这种情况下,请确保包含HAL.hpp。示例应用程序Demo1和Demo2的较旧版本存在此问题,并已更新。
-
TouchGFX Designer的新功能:
- 通过UI按钮和键盘快捷键Ctrl + F,Ctrl + B添加了对小部件的向前/向后发送支持。
- 添加了对Screens和CustomContainerDefinitons的复制和粘贴的支持。
- 添加了对CustomContainerDefinitions重新排序的支持。
- 现在,在Screen和CustomContainerDefinitions之间切换会记住以前选择的Screen和CustomContainerDefinition。
- 现在,在创建新文本和使用文本的小部件时,将使用上一次使用的排版。
- 为CustomContainerInstances添加了新的树形图标。
- 禁用连续代码生成和编译。
- 改进了“详细日志”窗口中输出的可读性。
- 窗口小部件通配符已添加到“文本”选项卡,使用某些窗口小部件时会添加默认通配符
- 加载项目时提高了性能。
- 生成项目时提高了性能。
- 改进了验证引擎的性能。
- 增加了对6位彩色显示器(8bpp)的支持。
- 添加了对为RadioButtons设置RadioButtonGroup的支持。
- 添加了对“显示旋转”(横向/纵向)的支持。
- 添加了对在Designer中设置“横向/纵向”模拟器外观的支持。
- 添加了对以下小部件的支持:AnalogClock,DigitalClock,TextureMapper,AnimatedTextureMapper和Shape。
- 现在,设计器会生成用于运行模拟器的Makefile和Visual Studio文件。
-
新的TouchGFX核心功能:
- 增加了对6位彩色显示(RGBA2222,BGRA2222,ARGB2222和ABGR2222帧缓冲格式)的支持。
- 添加了对泰语的支持。
- 改进了阿拉伯文本的呈现。
- 增加了对负行间距的处理。
-
TouchGFX Designer中的错误修正:
- 修复了Ctrl + A(全选)不适用于CustomContainerDefinitions的问题。
- 固定屏幕的重新排序,选择列表中的第一个屏幕并删除已移动屏幕的撤消/重做历史记录。
- 修复了在选择“应用程序”节点后撤消/重做历史会被破坏的错误。
- 固定的应用程序名称不允许以数字开头或包含“-”或“ _”。
- 修复了在CustomContainer选项卡上加载应用程序时导致画布上内容错误的问题。
- 修复了在将多个元素移动到容器中导致崩溃后按下undo的问题。
- 修复了加载项目时字体文件被锁定的问题。
- 修复了删除资源文本时在使用文本的组件上未显示的错误。
- 修复了通过双击TouchGFX文件加载错误的应用程序会导致启动屏幕卡住的错误。
- 修复了ModalWindow生成错误的位置代码的问题。
- 修复了对ScrollableContainer,ScrollList和ScrollWheel缺少“移动小部件”交互支持的问题。
- 修复了“最近使用的应用程序”列表的顺序。现在可以在打开应用程序时正确更新。
- 修复了插入小部件会向撤消/重做历史添加空的撤消项的错误。
- 修复了CustomContainerDefinitions属性窗格中缺少标题文本和描述的问题。
- 修复了空闲CPU使用率高于预期的错误。
- 修复了在CustomContainer内部的FlexButton上设置交互会生成错误代码的错误。
- 修复了无法撤消在小部件上设置混合的错误。
- 修复了缺少向FlexButton添加样式的撤消/重做功能。
- 修复了在交互中使用大量滑块回调时初始化的错误顺序。
-
TouchGFX Core中的错误修正:
- 在CWR Painters中固定精度为4bpp和2bpp。
- 固定8bpp,16bpp和24bpp的alpha混合公式中的精度。
-
更新步骤:
- 对于此版本,可能需要其他步骤。有关详细信息,请参阅“已知问题”文章:https : //support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue
版本4.10.0
-
发布日期:2018年11月5日
-
要求:
- TouchGFX现在仅适用于STM32微控制器。
-
TouchGFX Designer的新功能:
- 添加了对以下小部件的支持:ImageProgress,BoxProgress,TextProgress,LineProgress,CircleProgress,Line,Circle,BoxWithBorder,FlexButton,ScrollList,ScrollWheel和SwipeContainer。
- 可以在屏幕上调整“画布缓冲区”设置。
- 支持屏幕过渡:CoverTransition。
- 现在,记录以下系统信息以用于支持方案:用户名,Designer版本,Designer安装路径,Windows版本,当前区域性,已安装的.NET版本。
- 现在可以将具有任何分辨率的UI导入到应用程序中(分辨率检查已删除)。
- 添加了按钮以显示/隐藏修剪的小部件。
- 拖动画布上的小部件并调整其大小时,性能得到改善。
-
新的TouchGFX核心功能:
- 现在,Circle和AbstractShape在圆弧起点和圆弧终点支持更高的精度,从而使圆弧更平滑。
- 内部Q5结构现在使用32位而不是16位来增加值范围。
- 添加了Circle :: getPrecision()。
- 添加了功能FadeAnimator :: isFadeAnimationRunning(),MoveAnimator :: isMoveAnimationRunning(),AnimatedImage :: isAnimatedImageRunning()和ZoomAnimationImage :: isZoomAnimationImageRunning()。旧的isRunning()函数已被弃用。
- ListLayout :: setDirection()和getDirection()已添加。
- 将roo gem从1.13.1更新到了2.7.1。
- 按SHIFT-F3会将屏幕复制到剪贴板(仅Windows)。
- 按CTRL-F3将接下来的50个屏幕保存到屏幕快照文件夹。
- 现在可以正确缩进生成的资产。
- ScrollableContainer :: setScrollbarsPermanentlyVisible()已添加。
-
TouchGFX Designer中的错误修正
- 修复了当屏幕或自定义容器大小更改时,ModalWindow小部件无法调整大小的问题。
- 修复了如果文件隐藏属性设置为隐藏,则生成代码失败的问题。
- 修复了更改屏幕的大小写或自定义容器名称会导致重新编译错误的问题。
- 修复了以下错误:如果没有可用的在线应用程序,互联网丢失将使设计器崩溃。
- 修复了加载项目后ModalWindow小部件位置生成不正确的问题。
- 删除了在加载Designer项目时不必要的重新编译。
- 修复了ImagePicker中的视觉错误,即使当前文件夹中有子文件夹,该错误也会显示“空占位符”。
- 修复了设计器未通过代理服务器使用默认凭据的错误。
- 修复了设计器在尝试闪烁到错误的目标时无法正确报告错误的错误。
- 修复了以下错误:权限不足,无法写入所选的touchgfx路径会使设计器崩溃。
- 修复了设计器错误地将屏幕更改解释为未保存的更改的错误。
- 修复了一个视觉错误,该错误在调整容器大小时无法正确显示容器内的小部件。
- 现在,当您加载另一个应用程序时,Designer将关闭正在运行的Simulator进程。
- 修复了可以将小部件拖动到“自定义容器”实例内部的错误。
- 圆有时无法正确渲染,并且无效矩形的计算不正确。
- 修正了当半线宽度大于半径时的圆形。
-
TouchGFX Core中的错误修正:
- 修复了LineProgress.cpp中setValue中x和y值的错误计算。
- 圆有时无法正确渲染,并且无效矩形的计算不正确。
- 修正了当半线宽度大于半径时的圆形。
- 固定的画线长于2047像素,例如1449像素宽和1449像素高。
- 修复了无法正确渲染某些阿拉伯连字的错误。
-
更新步骤:
- 对于此版本,可能需要其他步骤。有关详细信息,请参阅“已知问题”文章:https : //support.touchgfx.com/docs/miscellaneous/known-issues/#project-updater-issue
版本4.9.4
-
发布日期:2018年1月25日
-
Bug修复:
- 减少了在Designer中加载应用程序所需的时间。
版本4.9.3
-
发布日期:2017年12月15日
-
Bug修复:
- Designer现在使用默认的Windows代理设置。
- 程序包管理器在线时会更新可用的程序包。
- 脱机时改进了错误描述。
- 设置文本交互可与资源文本一起使用。
- 项目更新程序使用正确的图像格式更新MSVS项目。
- 在极少数情况下,在Designer中错误地计算了文本大小。
- 按日期排序的最新文件。
- 纠正了等待交互中计数器的初始化。
- 调整大小时列表布局中子元素的绘制。
- 修复了使用列表布局小部件加载应用程序的问题。
- .otf字体文件现在可以正确呈现。
- 在极少数情况下,拖动容器可能会引入错误的坐标。
- 修复了通配符文本缓冲区的空终止。
- 有标签文本翻译更正的按钮。
- tgfx.exe打包程序适用于更复杂的文件布局。
- 容器包含的源代码。
- 其他较小的Designer UI修复和改进。
版本4.9.2
-
发布日期:2017年11月20日
-
Bug修复:
- 修复了Designer问题,在某些情况下在画布上拖动元素会导致异常。
版本4.9.1
-
发布日期:2017年11月16日
-
Bug修复:
- 修复了将TextArea小部件放置在容器中时出现的几个Designer问题。
- 修复了在加载项目时,由“另一个交互完成”触发的交互消失的问题。
- 在具有某些安全策略配置的PC上,Designer无法正确创建新项目。
- 如果资产生成,代码编译或后生成命令失败,则可以在Designer中改进错误处理。
- 修复了Designer项目文件中的TouchgfxPath无法正确解释的问题。
- Designer中的某些版式更改并未导致生成新代码。
- 修复了资产文件夹处于svn控制下时ImageConverter的问题。
- 在某些情况下,ImageConverter可能无法检测到资产更改。
版本4.9.0
-
发布日期:2017年11月8日
-
新功能:
- 添加了一个程序包管理器,用于处理电路板支持程序包,演示和示例。现在,设计器将从在线存储库中获取这些内容。
- 框架中已删除了所有旧示例,用于各个板的演示和端口,现在可以作为软件包使用。
- 在Designer中大大改善了文本处理。现在可以在Designer中使用翻译和通配符,因此不再需要手动编辑texts.xlsx文件。
- 现在,Designer在应用程序文件结构方面更加灵活,并且能够自动更新IAR和Keil IDE项目,而不管文件的位置如何。
- 添加了对ScrollableContainer和ListLayout小部件的Designer支持。
- 添加了对SW4STM32 IDE的支持。
- 添加了对IAR Embedded Workbench版本8.10的支持。
- 图像转换器现在可以选择对文件夹进行操作,而不是对每个.png文件调用一次。这大大加快了转换图像的过程。此模式是新项目的默认行为。
- GNU Arm嵌入式工具链(GCC交叉编译器)已更新至版本6-2017-q2-update(gcc版本6.3.1)。
- 用于PC模拟器的GNU编译器已更新至版本6.3.0。
- 为Cortex-M4f和Cortex-M7添加了用-mfloat-abi = hard编译的gcc核心库。
- 可注册为计时器微件的微件数量从24增加到32。还添加了用于获取有关当前已注册哪些微件的信息的功能。
-
Bug修复:
- AnimationTextureMapper :: cancelMoveAnimation()重命名为cancelAnimationTextureMapperAnimation()以避免MoveAnimator :: cancelMoveAnimation()出现问题。
- 修复了从ARGB8888位图渲染纯像素时PainterRGB565Bitmap中的错误。
- 修复了如果字体中所有使用的字符都丢失的情况,则FontConvert中的罕见错误。
- 固定DMA类中的统一变量。
-
更新步骤:
- 对于此版本,可能需要其他步骤。
版本4.8.0
-
发布日期:2017年3月10日
-
性能
- LCD4bpp现在可以将字符绘制速度提高15%。
- 现在,在某些情况下,画布小部件的渲染速度会稍微加快。
-
新功能:
- TouchGFX Designer发布。现在,核心框架,Designer和环境外壳捆绑在一个安装中。
- 支持波斯语和阿拉伯语连字,最多可识别三个字符。
- 添加了对Microsoft Visual Studio 2017的支持。
- TextArea和TextAreaWithWildcard(s)现在支持setWideTextAction(),以在行太长时自动中断行并在行尾插入省略号。
- 向Slider添加了getter函数。
- MoveAnimator和FadeAnimator现在可以清除动画结束的回调集。
- ImageConvert,TextConvert和FontConvert的错误现在显示在Visual Studio的“错误列表”窗口中。
- 模拟器应用程序现在是Windows程序,而不是控制台程序。
-
Bug修复
- AbstractShape :: updateAbstractShapeCache()现在是一个公共函数,应在对AbstractShape :: setCorner()进行一次或多次调用后再调用,以确保形状正确。
- 模拟器窗口不能再无意中调整大小。
- F2突出显示无效区域现在可以与旧的HALSDL一起使用。
- 在某些情况下,PainterGRAY2Bitmap,PainterGRAY4Bitmap,PainterRGB565Bitmap和PainterRGB888Bitmap均无法验证绘画是否在位图的大小内。
- HALSDL2(模拟器)现在在屏幕上使用24bpp来使屏幕截图中的颜色正确。
- TiledImage :: setOffset()现在可以正确处理空位图。
- TiledImage :: getSolidRect()有时会报告错误的矩形。
- 如果旋转了TextArea中的文本,则resizeToCurrentText()和resizeHeightToCurrentText()将交换宽度/高度。
- 函数getTextHeight()不会考虑行距。诸如resizeToCurrentText()之类的函数以及使用getTextHeight()函数的其他函数将无法正确调整大小。
- SlideMenu :: setState()无法正确处理EXPANDED状态。
-
更新程序
- 由于增加了TouchGFX Designer,因此现在可以通过.msi安装程序进行安装。
- 与现有的4.x应用程序和HAL端口兼容。
版本4.7.0
-
发布日期:2016年12月14日
-
新功能:
- 现在包括所有标准小部件和容器的源代码。请参阅touchgfx / framework / source / touchgfx目录。请注意,这些类仍存在于核心库中,并且默认情况下,源代码文件不会添加到IAR / Keil / gcc项目中。
- 在基于TFT控制器的平台上优化了单帧缓冲区配置的处理,这在许多情况下消除了对外部RAM的需求。
- 画布小部件系统和所有标准画家的性能大幅优化。如果绘制了许多像素,则预期性能会有非常显着的提高,而较小形状(例如图形线)的性能会有较小的提高。我们的演示中使用的“ PainterVerticalAlpha”也已更新。
- 文本转换器工具现在将合并所有语言的相同翻译,从而减少占用空间。此过程的结果将在资产生成期间打印。注意:此行为默认情况下处于启用状态。如果您有一个用于处理文本数据结构的现有项目(例如,将一种语言加载到RAM中),则此优化可能会破坏您的代码。可以通过添加以下remap_identical_texts禁用优化:=否(对于基于“ make”的生成) < RemapIdenticalTexts > 否< / RemapIdenticalTexts > (对于MSVS)
- 模拟器使用的SDL版本从1.2更新到2.0.4。SDL1.2仍存在于发行版中,但是现在所有示例和项目都使用SDL2。
- 支持使用.png文件为模拟器添加外观。如果.png文件包含非透明区域,则将相应地调整模拟器窗口的形状。有关代码示例,请参见display_orientation_example。
- 现在,在具有Chrom-ART的ST目标上,即使alpha <255(支持BLIT_OP_FILL_WITH_ALPHA),也可以通过DMA绘制Box小部件。
- 带有通配符的TextArea和TextArea现在支持setWideTextAction()来自动换行。
- 添加了在运行时遇到不存在的字形时显示“后备”字符的功能。这是在文本数据库的印刷表中配置的。
- 添加了用于强制在字体中包含其他字形的选项。这使得处理在编译时不知道字形的动态文本变得更加容易。这是在文本数据库的印刷表中配置的。
- 现在,将TextConvert实用程序的输出进行后处理,以通过将相同的字符串映射到相同的内存区域来节省大量时间。
- 添加了名为BITMAP_ANIMATION_STORAGE的内置BitmapId,可在将位图分配给小部件时用于引用动画存储。
- 从config / gcc / app.mk和config / msvs / Application.props中添加了抖动算法选择。
- 可以通过以下方式以编程方式保存模拟器屏幕快照:#ifdef SIMULATOR(static_cast < HALSDL2 * > (HAL :: getInstance()))-> saveScreenshot(); #万一
- ScrollableContainer现在可以正确忽略不可见的元素。
- 现在,DigitalClock支持在小时指示器前面显示零(如果小时<10)。
- 模拟器现在可以突出显示无效区域。按F2切换此功能。
- 添加了采用va_list参数而不是省略号的Unicode :: vsnprintf函数。
-
Bug修复
- 如果格式字符串为“%f”,则Unicode :: sprintfFloat不会打印< space > 而不是'+'。同样,在范围[-1 ... 0 []中的浮点数的符号也不会显示符号,例如-0.5将显示为0.5。
- 修复了可能导致TextureMapper读取源位图内存区域之外的错误的问题。
- 用于STM32F769-发现板和评估板的GPIO.cpp有一些不正确的GPIO引脚操作(用于性能测量)。
- Slider.hpp中的某些方法缺少虚拟声明。
- 修复了STM32F769-发现板的BoardConfiguration中的一个错误,该错误导致24bpp彩色模式无法正确显示。
- AnimatedImage-setBitmap(..)不应使用,现在是私有的。对于AnimatedImage,请使用setBitmaps(..)。
- 项目文件和Makefile已更新,可以将TouchGFX框架放置在与正在开发的项目不同的其他磁盘驱动器上。
-
TouchGFX环境(版本2.8)
- 现在,“ make.exe”是4.1版,可以通过在make命令中添加“ -j8”来进行并行编译。这大大加快了编译速度。如果您的makefile来自TouchGFX 4.2.0或更早版本,则需要对其进行更新或使用make-3.81.exe
- 在某些情况下,g ++可能会报告“驱动器中没有磁盘。请将磁盘插入驱动器E:。”。通过将gcc从4.8.1升级到4.9.3可以解决此问题。
版本4.6.1
-
发布日期:2016年9月12日
-
性能
- 针对Cortex-M4和Cortex-M7上的GCC核心库的优化改进,与TouchGFX 4.6.0相比,尤其是TextureMapper和Canvas小部件有了明显的提升。
-
新功能
- HALSDL中的新功能可用于设置模拟器窗口的标题,请参见HALSDL :: setWindowTitle()。
- BW_RLE格式(显示1bpp)现在压缩效果更好。切记删除旧的生成文件并重新生成资产。
- 使用IAR的STM32F756G-EVAL现在支持外部存储器的刷新。
-
Bug修复
- 添加了IAR链接器重定向命令,以修复使用IAR 7.x编译基于Cortex-M4的目标时的链接器错误。
- 在极少数情况下,使用setupBuffer()将不同的内存缓冲区分配给CanvasWidgetRenderer可能会导致内存损坏。
- 在极少数情况下,TextureMapper可能会在帧缓冲区之外绘制。
- 设置TiledImage的偏移量无法正常工作。
- 修复了两个问题,在某些情况下删除动态位图时会导致内存损坏。
- 添加了AnalogClock中缺少的虚方法声明。
- 修复了LPC4088DisplayModule的GCC链接程序脚本中的一个问题,该问题导致文本和字体被放置在外部闪存中。
- 对于那些单独使用fontconvert.out的用户,如果不存在输出目录,则会自动创建该目录。
- ScrollableContainer在极少数情况下可能向孩子发送错误的拖动事件。
- 宽度不能被8整除的单色(1bpp)显示将无法正确显示文本。
- STM32F746G发现板上的默认触摸采样率略有提高。
版本4.6.0
-
发布日期:2016年6月14日
-
新功能
- 添加了对2bpp灰度显示的支持。
- 添加了对4bpp灰度显示的支持。
- 新的小部件TiledImage。将显示一个或多个图像重复。重复次数取决于小部件的大小和图像的大小。
- 新的小部件RepeatButton。按下该按钮将反复触发单击事件。
- 新的小部件AnimationTextureMapper。具有内置动画功能的TextureMapper。参见animation_texture_mapper_example。
- 新的容器AnalogClock和DigitalClock,请参见clock_example。
- 新的容器ProgressIndicators,请参阅progress_indicator_example。
- 新的容器ModalWindow。在主屏幕顶部创建一个窗口,在主屏幕其余部分创建一个阴影。只要模态窗口可见,就不会将任何点击传递到主屏幕。参见示例modal_window_example。
- 新的容器SlideMenu。动画侧面/顶部/底部菜单,具有激活按钮,可将其滑入/滑出屏幕。可以将超时设置为在空闲一段时间后自动隐藏。
- Canvas Widget Line支持ROUND_CAP_ENDING和setCapPrecision()来控制圆帽。
- 模拟器现在可以产生与硬件频率非常接近的滴答声。
- 鼠标X和Y坐标放在模拟器中窗口的标题中。(在运行模拟器时按F1键(取消激活))。
- 适用于STM32F7 MCU和基于STM32F7的板的ST Cube驱动程序已更新至1.4.0版。
- 增加了对STM32769I-EVAL板的支持。
- 添加了对STM32F769I-发现板的支持。
- 现在,将使用模拟器(F3)制作的屏幕快照保存为带有时间戳的名称,以防止旧的屏幕快照被意外覆盖。
- 模拟器现在输出画布小部件内存使用情况,以轻松找到最佳画布内存缓冲区大小。
-
Bug修复
- ST板的DMA驱动程序:表达STM32F7的DMA2D实例初始化。修复了将CLUT_CM错误地用于F4-Discovery的问题。
- 如果同时使用其他DMA通道,则LPC17xx,LPC18xx,LPC43xx的DMA驱动程序将无法正常工作。现在,他们可以正确地仅查看通道0的标志。
- 现在,用于ST板的触摸控制器驱动程序可以在查询之前正确检查初始化是否正确。
- 不会总是检测到模拟器中的鼠标单击。
- ImageConvert.exe的默认值为RGB565(其他不透明格式的默认值为明智的)
- 如果图像压缩后会变得太大(退回为BW格式),则ImageConvert不适用于计划进行压缩(BW_RLE)和旋转(.90。文件名)的BW图像。
- 现在,所有Makefile都使用abspath而不是realpath。
- AnimatedImage现在允许从AnimationEnded回调函数重新启动动画。
- STM32756G-EVAL板的QSPI闪存大小已更正为64MB。
- 向STM32F7HAL :: flushFrameBuffer添加了D缓存无效。当在单帧缓冲区模式下并且fb位于SRAM中时,这可以修复STM32F7上偶尔出现的图形错误。
- otm8009a显示器(STM32769-DISCO,STM32769-EVAL,STM32469-DISCO,STM32469-EVAL)现在正在使用最大显示亮度。
- 为IAR 7.50.x中有关va_list名称修改的错误添加了解决方法。
-
更新程序
- 与现有的4.x应用程序和HAL端口兼容。
版本4.5.1
-
发布日期:2016年3月14日
-
Bug修复
- 修复了两个与解决va_list符号有关的IAR链接器问题,这将导致某些版本的IAR无法链接示例项目。
- STM32F4-Discovery板将以16bpp模式绘制颜色错误的实心矩形。
- Canvas Widget Renderer不再执行未对齐的内存访问。
- vApplicationIdleHook(特定于FreeRTOS)不再受阻,这以前阻止FreeRTOS在删除任务时释放内存。
- 中间带有重音符号的阿拉伯文字无法正确呈现。
- 添加了PixelDataWidget :: getAlpha()。
- 以char *作为源的Unicode :: strncpy()无法正确复制ASCII码高于127的字符。
版本4.5.0
-
发布日期:2016年2月2日
-
新功能
- 支持两种新语言,阿拉伯语和希伯来语,具有从右到左的文本呈现功能。RTL字符串可以与LTR文本和数字混合。
- 支持每像素24位的帧缓冲区。图像看起来更详细,但也会占用更多内存。
- 现在可以使用方法Bitmap :: dynamicBitmapCreate在运行时创建位图。例如,用于显示从SD卡加载的.bmp文件很有用。参见dynamic_bitmap_example。
- 帧频补偿功能可在帧频偶尔下降时提供更流畅的动画。默认情况下未启用。
- 位图缓存得到了增强,可以从缓存中删除位图,从而为其他位图的缓存腾出空间。
- 引入了一个新的小部件PixelDataWidget。该小部件可以显示在运行时获得的原始像素数据(例如,视频样本)。
- Windows上的可执行模拟器现在具有一个图标,可以在任务栏中轻松识别。
- 现在,只要安装了ST-Link Utility 3.7+版,TouchGFX支持的ST板就可以使用“ make intflash”通过命令对其内部闪存进行编程。
- Unicode :: snprintf()已得到改进和实质性更新,以支持更多的标准格式说明符,例如%02d。
- 添加了Unicode :: snprintfFloat()以支持浮点数(在单独的函数中,因为“%f” va_args方法将强制包含双精度数)。
- 图像转换器抖动的质量已得到改善(浮点算法)。还增加了对新型抖动算法的支持,并可以将16/18位显示器中低位(未使用)的各种布线考虑到硬件。
- touchgfx :: ButtonWithLabel现在包含一个方法updateTextPosition(),该方法可用于在更改标签内容(例如,更改语言)时确保水平文本居中。
- touchgfx :: TextArea有一个新方法setBaselineY(),它允许根据文本基线而不是左上角放置文本。
- 现在,字形编码的内部格式将第一个像素存储在最低有效位而不是最高有效位中。
- 颜色值的规范已从uint16_t切换为颜色类型,以支持16位和24位颜色之间的无缝切换。
- touchgfx :: TextArea类现在具有setIndentation()方法,该方法可以防止字符字形在前一个字符下扩展的极少数情况下被截断(对于touchgfx :: Keyboard类,它具有新的setTextIndentation () 方法)。
- STM32F7xx和STM32F4x9端口现在支持touchgfx :: Box的DMA传输。
- 之前,GPIO :: VSYNC_FREQ信号仅在“ VSYNC”中断(NXP LPC18xx,NXP LPC43xx,Freescale MK70F12,ST stm32f4x9)上被“切换”。现在,该信号在“ VSYNC”中断时为高电平,而在“前沿输入”中断时为低电平。
- GCC支持Cortex-M3。
-
Bug修复
- 修复了由于无效QSPI存储区的推测性缓存而导致STM32F7极少数崩溃的问题。如果您的BoardConfiguration基于4.4.x,请更新它。
- 修复了由于FMC bank 1上的缓存访问而导致STM32F746G-DISCO板上的偶尔显示闪烁的问题。
- 改进了touchgfx :: TextAreaWithWildcards中字符“%”的处理,以防止在某些特殊情况下插入%%。
- touchgfx :: DragEvent和touchgfx :: GestureEvent现在使用并报告带符号的坐标,而不是无符号的坐标。当相对于接收它们的可绘制对象的坐标表示阻力/手势时,这更有意义。
- snprintf(“%x”)将生成更高位的十六进制。现在,“%X”生成大写的十六进制,“%x”生成小写的十六进制,就像标准的snprintf()一样。
- 修复了在Linux上运行时演示的随机性。
- 修复了使用重斜体字体时的重绘。
- 所有TouchGFX应用程序的Model类中指向ModelListener的指针未正确初始化(NULL)。
- 修复了对touchgfx :: TextArea中的斜体字体的支持。
- 图像转换器中的细微错误,其中第0列可能会获得稍微不正确的像素颜色。结果,整个图像可能会略有错误,可能不会引起注意。
- 滑块中的较小错误,其中值未均匀分布。
-
不推荐使用
- LCD :: drawGlyph()已被弃用。使用LCD :: drawString代替。
-
更新程序
- 与现有的4.x应用程序和HAL端口兼容。
版本4.4.2
-
发布日期:2015年11月26日
-
Bug修复:
- 使用IAR 7.x进行编译时,更正了STM32F7目标上罕见的GUI任务挂断
版本4.4.1
-
发布日期:2015年10月27日
-
Bug修复:
- 使用Keil 5.x进行编译时,已纠正STM32F7目标上偶尔出现的GUI任务挂断
- 修复了在横向和单帧缓冲模式下使用DSI时STM32 F469 EVAL / Discovery板上偶尔会撕裂的问题。
- 修改了STM32 F469板的IAR闪存加载器设置,以允许对内部闪存进行编程(注意:仍然必须从ST-Link Utility编程QuadSPI闪存,因为没有IAR加载器)
- 性能的GPIO类。STM32F746G-EVAL板的测量现在可以正确使用BSP_LED功能。请注意,默认情况下,此板上默认只有两个信号处于活动状态,因为LED2和LED4使用IO扩展器,使其不适合测量性能。
- 调试Cortex-M7应用程序时,删除了IAR Workbench中烦人的“获取备用文件”对话框弹出窗口。
版本4.4.0
-
发布日期:2015年10月6日
-
新功能
- 增加了对Cortex-M7内核的支持。
- 引入了用于触摸输入的“手指大小”的概念。使用TouchGFX时,它将尝试在报告的x,y坐标周围的区域中找到可触摸的小部件,因此用户不再需要精确地单击小部件。此功能使按下小按钮变得更加容易。参见HAL :: setFingerSize()。
- 支持Visual Studio 2015
- 现在,用于演示和示例的Visual Studio项目在“资源”下包括Application.props,以便快速访问。与往常一样,更改Application.props的内容时可能需要重建。
- 支持BDF格式的位图字体。如果字体文件中没有所需的字体大小,则字体转换器将在错误消息中写入支持的字体大小。有关用法,请参见示例monochrome_example。
- 现在,当在路径和文件名中检测到空格时,生成资产会发出更好的错误消息。
- 现在,如果已安装ST-Link Utility版本3.7,则可以从命令行刷新所有ST板。只需使用“ make -f target / ST / < board > / Makefile flash”来构建应用程序并将其刷新到连接的板上。如果在刷新过程中发生超时,请转到Windows中的“设备管理器”,并禁用“磁盘驱动器”下的“ MBED微控制器USB设备”。
- 新的touchgfx-env版本2.5与新的gcc交叉编译器版本4.9.3一起提供。在极少数情况下,较早的版本4.8.4可能会为Cortex-M7内核生成无效的代码。
-
董事会支持
- 增加了对STM32F7xx处理器的支持
- 增加了对STM32F746G-DISCO和STM32756G-EVAL板的支持
- 增加了对具有DSI显示屏的STM32F469处理器的支持
- 增加了对STM32469I-EVAL和STM32469I-Discovery板的支持
-
Bug修复
- 现在,使用“ rotate90”时,TextureMapper和ScaleableImage可以正确绘制图像。
- 修复了STM32F4DMA.cpp中潜在的初始化顺序错误
- 修复了将单个字体的字形数量限制为32768的错误。现在按预期支持每种字体65536字形。
- 修复了导致hal.lockDMAToFrontPorch(false)在单帧缓冲区模式下不起作用的错误。
- 如果文本包含换行符,ButtonWithLabel可以使文本垂直垂直居中
版本4.3.0
-
发布日期:2015年6月8日
-
新功能
- 添加了TextureMapper小部件。TextureMapper是一个高度优化的图像渲染器,可用于显示在运行时按二维或三维比例缩放和/或旋转的图像。这可用于进行图像的高级旋转动画。有关更多信息,请参见手册或texture_mapper_example。LCD提供了绘制三角形和相应扫描线的新方法drawTextureMapTriangle和drawTextureMapScanLine
- Alpha通道抖动带有Alpha通道的图像现在可以抖动Alpha通道以获得更平滑的Alpha渐变,有关详细信息,请参见示例或手册中的“应用程序开发”部分
- 压缩1BPP(单色)位图增加了BW_RLE的图像格式选项,如果占用的空间少于常规的每像素格式,它将导致位图自动进行行程编码。在许多情况下,产生的位图占用空间要小得多。有关详细信息,请参见手册中的高级章节。
- 滑块小部件已添加。有关更多信息,请参见手册或slider_example。
- Makefiles已更新为可与make-4.1一起使用。
- 增加了对LPC4088处理器和Embedded Artists LPC4088显示模块板的支持。
- 现在,通过将位图文件名包含字符串“ .int”,可以将单个位图放置在内部闪存中,而不是外部。
- MoveAnimator,FadeAnimator和ZoomAnimationImage现在具有cancelMoveAnimation / cancelFadeAnimation / cancelZoomAnimation方法。
-
更新程序
- 与现有的4.X应用程序兼容。只需替换touchgfx文件夹即可。
- 检查文档中的已知问题。
-
信息
- 现在,TouchGFX的评估版附带了用于硬件抽象层的源代码,而不是预编译的库。这样就可以将评估版移植到定制硬件上,而不仅限于评估版。相反,评估版现在具有一个TouchGFX水印,该水印会偶尔出现。
- 由于改进了渲染算法,减少了内存消耗。与版本4.2.0(取决于实际应用程序)相比,通常将允许GUI任务堆栈减少大约1400字节。此外,静态分配的内存也减少了大约1KB。
- 移除的最大可见小部件数量限制为150。
- 添加了两个针对640x480和480x272分辨率的新演示,展示了新功能,图形,国际化和自定义小部件。
- Drawable.setPosition()现在调用setXY(),setWidth()和setHeight()以便于子类化。
- 在实现自己的绘画程序时,建议将AbstractPainterRGB565和AbstractPainterBW作为基类。
- CanvasWidgets现在具有setAlpha()和getAlpha()方法。您的自定义Painter类必须实现此方法,或从AbstractPainterRGB565类继承
- 已注册计时器微件的最大数量从16增加到
- touchgfx-env更新至2.4。环境不再发出哔哔声。
- STM324x9I-EVAL的板级支持包现在基于STMCubeF4驱动程序。
-
Bug修复
- Screen :: handleGestureEvent现在将x / y转换为相对坐标
- 修复了多次使用moveTo()在同一画布上绘制多个对象时的错误。
- ZoomAnimationImage相对于缩放的移动未使用正确的缓动方程。
- PainterRGB565无法正确混合绿色Alpha。
- 现在,RadioButtonGroup将回调初始化为零。
- 现在,ScalableImage可用于具有透明度的位图。
- AnimatedImage将显示动画的开始和结束两次。
- CanvasWidget :: getMinimalRect()的默认实现返回相对于其父级而不是其自身的坐标。
- ScrollableContainer在每次滴答时都会错误地将其自身注销为计时器小部件,这使其很难与其他基于计时器的操作一起使用。
-
性能
- 可缩放图像和ZoomAnimationImage已经过优化以获得更好的性能。
版本4.2.0
-
发布日期:2015年1月14日
-
性能
-
大幅提高了渲染性能,在大多数情况下,渲染时间将减少25%。
注意:此优化不一定适用于所有目标,因此必须手动启用。请参阅移植指南中的“优化”一章,以了解如何为现有移植启用此优化。强烈建议启用优化。对于4.2.0开发板套件中的所有适当评估板,均启用了此优化。
-
-
主要新功能
- 添加了CanvasWidgets,以平滑,抗锯齿的绘制几何形状。目前,已经实现了直线,圆和更通用的形状。CanvasWidgets可以用纯色(+ Alpha),位图(包括Alpha)或自定义的绘画工具绘制。在文档中阅读有关“画布小部件和画家”的更多信息。
- 添加了对Keil编译器和uVision4 IDE的支持。请参阅文档中“ TouchGFX发行”一章的“支持的硬件”部分,以获取Keil支持的目标的列表。
-
新功能
- 现在可以在ZoomAnimationImage,MoveAnimator和FadeAnimator上指定动画开始延迟。
- 增加了对带有LPC4350的4.3英寸TouchGFX演示板的板级支持(无内部闪存)
- 添加了RadioButton和RadioButtonGroup小部件。请参阅app / examples / radio_button_example和文档。
- LPC43XX和LPC1788现在可以使用DMA填充矩形。
- 现在支持Visual Studio 2013。
- 初步支持Visual Studio 2015预览版。
- 生成资产时提高了性能。
- 新的canvas_widget_example已添加到示例目录。
- 现在,可以通过在项目中定义符号NO_USING_NAMESPACE_TOUCHGFX来避免出现在各种头文件中的“使用名称空间touchgfx”。
-
TouchGFX环境
- 启动外壳程序时显示的消息已通过正确的示例路径修复。
-
Bug修复
- 修复了当宽度和/或高度不是8的倍数时模拟器在1bpp显示中的错误。
- 修复了ScrollableContainer中的错误,该错误在CANCEL事件中并不总是委派给正确的孩子,例如,当拖动到SC区域之外时,按钮保持按下状态。
- 修复了使用旋转显示渲染chromArt字体时的错误。
- 修复了错误-键盘小部件setTouchable(false)无效。
- 飞思卡尔K70 DMA现在检查TCD0_CSR中的适当DONE位。
- 在ST处理器上,以非本机显示方向修复了ChromArt渲染的带有旋转文本的错误。
-
董事会支持
- 嵌入式Artists LPC4357DevKit板卡封装:CPU时钟频率为204Mhz(以前为96Mhz)。现在使用SPIFI闪存代替NOR。
-
更新程序
- 与现有的4.X应用程序兼容。只需替换touchgfx文件夹即可。
-
信息
- 文档已更新。
版本4.1.1
-
发行日期:2014年10月29日
-
新功能
- Mixin:添加了MoveAnimator。MoveAnimator混合使模板类T能够对从其当前位置到指定结束位置的移动进行动画处理。请参阅app / example / move_fade_example。
- Mixin:添加了FadeAnimator。FadeAnimator混合使模板类T能够为从其当前alpha值到指定的最终alpha值的alpha淡入淡出设置动画。请参阅app / example / move_fade_example。
- 现在,ScalableImage和ZoomAnimationImage支持每个像素位图的Alpha和每个位图的Alpha
- 可伸缩图像和ZoomAnimationImage现在支持ARGB8888格式的位图
-
Bug修复
- 修复了导致键盘小部件在极少数情况下无法正确显示的错误。
- 修复了一个错误,该错误导致拖动事件坐标对于控件放置在ScrollableContainer中时坐标为!= {0,0}的容器时对于小部件而言是不正确的。
- 现在,Application类可以正确跟踪给定窗口小部件调用registerTimerWidget与unregisterTimerWidget的次数,这意味着如果多次注册,则它现在需要相同数量的注销才能使窗口小部件不再接收滴答声事件。
- 有些ZoomAnimationImage函数不是虚拟的,应该是虚拟的。
- 一些小部件缺少某些吸气剂功能。
-
更新程序
- 与现有的4.X应用程序兼容。只需替换touchgfx文件夹即可。
版本4.1.0
-
发行日期:2014年10月17日
-
新功能
- 现在支持单色1BPP显示器。有关详细信息,请参见手册。
- 支持动态屏幕方向更改(横向/纵向)
- 支持缩放图像(请参见ScalableImage和ZoomAnimationImage可绘制对象)
-
演示版
- Home Control Demo现在支持640x480模式。
- Home Control Demo现在支持STM324xI-EVAL 5.7“板。
-
董事会支持变更
- 增加了对STM324xI-EVAL 5.7“开发板(IAR + gcc)的支持。
- 增加了对EmbeddedArtists LPC4357DevKit板的gcc支持。
- 为TouchGFX评估板优化了SPIFI初始化。
-
Bug修复
- 将持久的Drawable添加到ScrollableContainer可能会导致断言
- 支持更大的字体
-
更新程序
- 与现有的4.X应用程序兼容。只需替换touchgfx文件夹即可。
版本4.0.0
-
发布日期:2014年9月26日
-
新功能
-
TouchEvent重构(API中断):
- Drawable :: setActive重命名为Drawable :: setTouchable
- Drawable :: isActive重命名为Drawable :: isTouchable
- 不推荐使用Drawable :: hijackTouchEvent
- 现在默认情况下可绘制对象不可触摸
- 现在,TouchEvents始终会传播到所有容器子级
- 语言特定的排版和对齐列支持已添加到文本转换器。在文档中阅读有关此功能的更多信息。
- 在字体形状和字距调整方面,字体渲染已得到极大改善。
- 模拟器-进行屏幕转换时,断言检查新视图/演示者/转换大小。断言检查失败,可能是由于缺少FrontEndHeap中的视图/演示者/转换定义。
- TextArea和ButtonWithLabel现在支持旋转0、90、180或270度的文本。
- 在特殊情况下,以ButtonWithLabel为中心的文本已得到改进。
- 受支持的ST平台上的硬件加速的文本呈现(4和8bpp)。
- 能够将位图数据库中的所有项目缓存在外部RAM中。
- 支持飞思卡尔K70 MCU。
- 转换表:“ \ <”和“ > ”的实例分别转换为“ <”和“>”。这使得能够字面翻译的字符串,如“ < 不是通配符> ”用“\ < 不是通配符\ > ”。
- 支持恩智浦LPC18XX系列MCU。
-
TouchEvent重构(API中断):
-
Bug修复
- 奇数宽度和Alpha值小于255的图像的渲染错误
- 在未初始化的textArea的情况下正确处理TextArea :: getTextHeight
- TextAreaWithWildcard :: getTextWidth现在包括通配符文本的宽度
- 现在,gcc Makefile文件包含来自图像资产的.BMP和 .PNG。
- 请勿修剪文本表中任何翻译的开头和结尾空格。
- 字体转换器无法正确生成8bpp的字体数据。
- ButtonWithIcon :: setBitmaps-抑制IAR警告,以防止有意虚函数被覆盖。
- ButtonWithIcon优化的绘图功能
- 在极少数情况下,文字可能会写在文字区域之外
-
更新程序
- 由于TouchEvent重构,您必须相应地重命名功能。您还需要在任何自定义窗口小部件或容器中声明是否需要接收触摸事件。如果您使用hijackTouchEvent防止子级获得触摸事件,则现在需要确保所有子级都不可触摸。
- 模拟器的Main.cpp需要通过替换以下行来更新:TypedText :: registerTypedTextDatabase(TypedTextDatabase :: getInstance(),TypedTextDatabase :: getInstanceSize())带有:Texts :: setLanguage(0)您还可以从中指定特定语言您的文本数据库,例如Texts :: setLanguage(GB)在这种情况下,您还需要:#include < texts / TextKeysAndLanguages.hpp >
- 重建整个项目。
-
信息
- TouchGFX手册已进行了相当大的更新。
版本3.1.0
-
新功能
- 增加了对FDI uEZGUI-1788-70WVT评估板(NXP LPC-1788 Cortex M3)的支持。
- 增加了对Mjolner TouchGFX演示板1.1版评估板(NXP LPC-4353 Cortex M4 / M0 4.3“)的支持。
-
Bug修复
- 将新图像添加到资产/图像文件夹后,Visual Studio构建现在将重新构建BitmapDatabase.h。
-
更新程序
- 仅当使用Visual Studio时:更新Visual Studio .props文件中的TouchGFXReleasePath。只需在文本编辑器中编辑文件即可。该路径应使用“ touchgfx \”扩展。请参阅template_application以获取灵感。
- 仅当使用Visual Studio时:更新Visual Studio项目文件(.vcxproj文件)。只需在文本编辑器中编辑文件即可。将形式为“ $(TouchGFXReleasePath)\ framework \ config \ msvs \ touchgfx_prebuild.targets”的所有路径替换为“ $(TouchGFXReleasePath)\ config \ msvs \ touchgfx_prebuild.targets”。
-
信息
-
硬件抽象层体系结构已经过重新设计,因此各种硬件组件(MCU和驱动程序)的所有通用代码现在可以在不同的目标板上共享。只要它们包含TouchGFX已经支持的一个或多个硬件组件,这便大大简化了新/自定义板的移植工作。
版本3.0.0
-
新功能
- Visual Studio 2010/2012支持。
- 添加了对具有Alpha通道的png图像的支持。
- 增加了对资产/位图文件夹中子文件夹的支持
- 添加了对ST STM32F4X9I-EVAL评估板的支持。
- 增加了对Robert Penners缓动方程式的支持(请参见touchgfx / EasingEquations.hpp)。
- 图像转换器:添加了对输入图像文件名的完整性检查,不能以数字开头并且必须为字母数字。
- 图像转换器:添加了对输入列表中不区分大小写的文件名重复的检查。
- 文本转换器:添加了bpp和font_size值的构建停止完整性检查。
- ScrollableContainer:现在支持setScrollbarPadding,setScrollbarWidth,setScrollbarColor和setScrollbarAlpha。
- ScrollableContainer:将ScrollThreshold的默认值设置为5像素,而不是1。
- 添加了对字体的alpha混合的支持(TextArea :: setAlpha(uint8_t alpha))
- ImageConvert支持两种不同的输出格式:RGB565和ARGB8888
- ImageConvert-添加了两个选项以控制具有/不具有Alpha通道的图像的输出格式
- 由于大型项目的链接器错误,MinGW下的Touchgfx环境已更新。g ++版本从4.6.2-> 4.8.1更新
- 内部RAM占用空间的改进
- 目标库和硬件抽象层的结构更改
-
Bug修复
- 填充操作(Box小部件)导致在lpc4357_emb_artist板上崩溃
- 文本转换和字体转换:现在,不同的排版可能具有相同的属性。
- Imageconvert和fontconvert:更好的POSIX兼容平台错误处理
- HALSDL:不要溢出密钥数据类型。
- 现在,LanguageXX.cpp文件以换行符结尾(删除警告)。
- TextArea :: draw现在可以正确处理未初始化的TypedText。
-
更新程序
- 文件夹资产/位图和生成的/位图必须重命名为资产/图像和生成的/图像。
- 将TouchGFX环境升级到2.0版
- 更新任何应用程序Makefile以遵守更新后的template_application中指定的Makefile
- 重建整个项目
- 将包含以前的透明颜色的bmp图像转换为使用alpha通道的png图像。可以使用名为imagemagick的免费工具自动完成此操作。可以通过发送电子邮件至touchgfx-support@mjolner.com获取更多信息和提示。
- 自定义HAL实现必须更新以符合新结构
-
信息
- 不再支持以前以bmp格式用于透明色的“魔术”透明色。而是使用带有Alpha通道的png图像。
版本2.2.0
-
新功能
- 增加了对纵向模式和横向显示的支持,而性能/资源成本为零。
- 添加了字距调整支持。
- 添加了键盘示例(带有用于Energy Micro DK3750评估板的IAR项目)
- 更改了LCD中blitCopy方法的界面。
- 从HAL中删除了SyncBackBuffer方法。
- 从LCD删除了clearLCD方法。
- 从LCD移除fillGradientRect方法。
- ScrollableContainer支持setScrollbarsVisible(布尔可见)。
版本2.1.0
- TouchGFX的第一个发行版是可商用的框架。