📄️ 自定义触发条件和操作
通过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图像可用于创建带有矢量图形和传统位图图形的用户界面。
📄️ Image Compression
TouchGFX supports image compression starting from version 4.22. The support in 4.22 is limited to compression of L8 images.