随着手机、智能手表等便携式设备的普及,用户对 GUI 的要求越来越高,嵌入式系统对高性能、高可靠性、低功耗、美观炫酷的 GUI 的需求也越来越迫切。2019年1月,ZLG开源 GUI 引擎 AWTK v1.0 应运而生。
AWTK 全称为 Toolkit AnyWhere,是 ZLG 倾心打造的一套基于 C 语言开发的 GUI 框架。旨在为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的 GUI 引擎,并支持跨平台同步开发,一次编程,终生使用。
主要特色:
开源免费,使用无拘束;
支持纯 C 语言编程,使用无门槛;
小巧高效,最小仅需 8K RAM+32K FLASH,可运行在 Cortex-M3 等小资源平台;
拥有完善的动画系统,半透明填充和贴图,支持硬件加速,轻松做出炫酷流畅的界面效果;
丰富的 GUI 控件,提供窗口、对话框和各种常用的控件,并内置多种动画效果;
支持位图字体和矢量字体,可加载标准的 TTF 字体文件;
内置中英文输入法,并支持智能词组输入;
支持 XML 进行界面布局,主题和样式表技术,轻松实现界面换肤;
支持视网膜高清分辨率技术,配合高清屏可呈现平滑细腻的图形和文字。
以下视频为AWTK实拍界面操作,完全相同的代码在基于AWorks OS的RT1052处理器和Windows 10系统上运行的效果。
ZLG开源GUI引擎AWTK v1.1震撼发布
AWTK自v1.0版本发布以来,受到了广大开发者和用户的关注,为进一步满足产品对更多功能和炫酷效果的需求,提升产品竞争力,2019年4月我们迎来了AWTK v1.1的发布。
AWTK 性能优化
AWTK当前升级到了v1.1版本,相对于v1.0,我们增加了许多新的特性,提升性能和其他方面的改进,让AWTK支持更多的功能和更炫酷的效果。以下是更新的内容:
1. 新增特性:
窗口动画支持自定义;
新增4种内置窗口动画;
对话框高亮策略支持自定义;
内置动态和静态背景变暗的对话框高亮策略;
窗口支持全屏窗口;
增加toast/info//confirm/i等内置对话框;
支持自定义软键盘;
UI XML文件支持简单表达式;
......
2. 提升性能
绘制半透明色矩形速度提高3倍;
缩放不透明图片快1倍(bgr565格式LCD);
缩放半透明图片快30%(bgr565格式LCD)。
3. 提高稳定性:
多个实际项目验证;
新增数百个测试用例;
增加控件运行时类型检查;
使用infer静态检查,并修改发现的问题;
使用cppcheck静态检查,并修改发现的问题;
使用valgrind动态内存检查,并修改发现的问题。
4. 其他方面改进:
增加mutable image控件,用于实现camera和video时显示图像;
Bug修改和完善功能。
详情请参考 : https://github.com/zlgopen/awtk/blob/master/docs/changes.md
AWTK运行效果
AWTK项目进展
目前AWTK的核心功能已经全部完成,正式发布v1.1版本,并配套完整的在线使用文档。
已适配的平台:
(1) AWorks
(2) Windows
(3) Linux
(4) macOS
同时,AWTK已经在ZLG内部多个实际项目中使用和验证。
AWTK下载地址
AWTK代码托管在GitHub上,欢迎感兴趣的工程师评估和尝试,应用相关疑惑,可以添加小Z微信(zlgmcu-888)进入AWTK群聊,ZLG研发技术团队亲自为您解答。
主仓库:https://github.com/zlgopen/awtk
演示例程:https://github.com/zlgopen/awtk-examples
整合发布包(推荐):
发布包包含了:AWTK、演示例程、AWorks(RT1052)适配层;
下载地址:https://pan.baidu.com/s/1_oRgj67M-I4kivk-YzwFWA 提取码: 1cmi
更多精彩内容敬请关注“ZLG致远电子”微信公众号,我们会持续发布AWTK最新动态。