📄️ 自定义触发条件和操作
通过TouchGFX Designer,您可以自己定义具有触发条件和操作的交互组件。 您应用中的每个界面都可以包含操作集合(这些是C++中的简单void方法),您可以通过TouchGFX Designer或者在代码中来调用这些操作,并且自定义容器也可以包含可在应用中得到响应的自定义触发条件(相当于C++中的回调)。 在本文中,我们将详细介绍此功能,以探索使用它创建更简洁、动态的TouchGFX应用。
📄️ 位置和大小
普通TouchGFX应用程序的大部分UI设置可用TouchGFX设计器创建,但通常还需要手动编写一些内容。 例如,制作更多动画或创建依赖于用户事件或配置数据的控件动态设置。
📄️ 自定义容器
在创建应用时,您可能需要一个在 TouchGFX 中包含的标准控件集合中找不到的控件。
📄️ 缓存位图
在本节中,我们将讨论TouchGFX中的位图缓存。 位图缓存是专用RAM缓冲区,应用可将位图保存(或缓存)在其中。 如果缓存了位图,在绘制位图时,TouchGFX将自动使用RAM缓存作为像素来源。
📄️ 自定义控件
在创建应用时,您可能需要TouchGFX中没有包含的控件。 TouchGFX提供了几种可以用来创建图形元素的方式。 最简单的方式是使用自定义容器法,您可以将现有的控件组合成您自己的控件。 但是,本文将介绍一种更高级的方法,您可以用它真正地创建一个可全面控制帧缓冲的控件,从而能够精确地绘制您想要的内容。
📄️ 画布控件
画布控件和画布控件渲染器是强大的多功能TouchGFX插件,在使用相对较小的存储空间的同时保持高性能,可提供平滑、抗锯齿效果良好的几何图形绘制。 但是,渲染几何图形必然是成本非常高的操作,如果使用不小心,很容易对微控制器资源造成浪费。
📄️ 动态位图
本节介绍如何使用动态位图。 注意,标准位图会被编译到应用中,因此必须在编译时提供。 位图从PNG等格式的文件转换而来,带有大小和格式信息并以内部格式保存。
📄️ 二进制字体
本节描述如何在TouchGFX中使用二进制字体。 第一部分包含TouchGFX中关于字体和文本系统的一些深度信息,在使用二进制字体时有助于加深理解。 第二部分说明如何使用二进制字体。
📄️ 字体缓存
本节描述如何使用字体缓存处理TouchGFX中的二进制字体。
📄️ 二进制翻译
本节描述如何在TouchGFX中使用二进制翻译。 正常情况下,文本翻译文件会被编译到应用中。 这一原则高效且易于使用。 二进制翻译使应用程序不含文本翻译。 二进制翻译在单独的二进制文件中生成,该文件可编程到闪存中或存储在SD卡等存储设备上。 在处理大量翻译文件时,为应用开发者带来了更大灵活性。
📄️ 后端通信
在大多数应用中,UI需以某种方式连接到系统的其余部分,并发送和接收数据。 它可能会与硬件外设(传感器数据、模数转换和串行通信等)或其他软件模块进行交互通讯。
📄️ Mixins
Mixin类扩展控件的功能,例如使之能够将移动或透明度值变化制作成动画。 在Move Animator和Fade Animator Mixin的基础上,TouchGFX Designer交互能够生成将移动或透明度值变化制作成动画的代码。 这些Mixin可通过TouchGFX Designer或在用户代码中手动添加到控件。
📄️ 文本和字体
文本和字体是新式图形用户界面的一个十分重要的方面。 必须能够以应用支持的所有语言显示高质量抗锯齿文本。
📄️ 语言和字符
为此,TouchGFX支持各种语言和字符,并理解文本布局机制,如书写方向和上下文塑造。
📄️ MJPEG视频
从4.18版本开始,TouchGFX支持使用MJPEG视频。 视频可以用于创建更生动的用户界面或显示简短说明或用户指南。
📄️ SVG
从4.21版本开始,TouchGFX支持使用SVG图像。 SVG图像可用于创建带有矢量图形和传统位图图形的用户界面。
📄️ Vector Fonts
TouchGFX supports using fonts in vector format starting from version 4.23. Fonts stored in vector format can potentially reduce the size of the font data as the font data is shared between all sizes of a font. This is in contrast to bitmap fonts where every size of a font contains dedicated bitmaps of the glyphs in that size.
📄️ 图像压缩
TouchGFX从4.22版开始支持图像压缩。 4.22版仅支持L8图像压缩。