gui窗口遮挡算法_软件更新丨AWTK 1.2 发布,国产开源 GUI 引擎
AWTK全称为Toolkit AnyWhere,是ZLG倾心打造的一套基于C语言开发的GUI框架。旨在为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的GUI引擎,并支持跨平台同步开发,一次编程,终生使用。
AWTK当前升级到了v1.2版本,相对于v1.1,我们完善了许多细节,增加了部分特性、控件以及API等,让AWTK支持更多的功能和更炫酷的效果。
1.2版本更新的内容
细节完善
- 输入法候选字支持滚动;
- slider支持上下左右键;
- guage pointer支持锚点;
- slide view indicator作为独立控件;
- 完善idl gen工具;
- 完善doc gen工具;
- 支持用focusable属性设置控件焦点;
- 去掉TK_DEFAULT_FONT宏定义;
- 增加style border_width;
- 支持动态修改屏保时间;
- SDL FB模式启用脏矩形;
- 新增内存耗尽处理;
- ...
新增特性
- cairo实现的vgcanvas;
- 支持32位Windows编译;
- 增加条件变量tk_cond_var;
- 支持用tab键切换控件的焦点;
- 支持在不同位置弹出完整窗口动画;
- svg/gif支持从文件系统中加载图片;
- 增加widget_gen脚本生成自定义控件;
- 增加self_layouter_menu实现弹出菜单;
- 增加lcd_mem_special;
- style增加margin参数。
新增控件
- mledit多行编辑器;
- overlay overlay窗口;
- hscroll_label可水平滚动的文本。
新增重要API
- timer_modify
- widget_add_idle
- widget_find_animator
在线运行效果: http://zlgawtk.bceapp.com/
AWTK介绍:
AWTK 全称 Toolkit AnyWhere,是 ZLG 开发的开源 GUI 引擎,旨在为嵌入式系统、WEB、各种小程序、手机和 PC 打造的通用 GUI 引擎,为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的 GUI 引擎。
AWTK 寓意有两个方面:
- Toolkit AnyWhere。
- ZLG 物联网操作系统 AWorks 内置 GUI。
AWTK 源码仓库:
- 主源码仓库:https://github.com/zlgopen/awtk
- 镜像源码仓库:https://gitee.com/zlgopen/awtk
运行效果截图:
二、最终目标:
- 支持开发嵌入式应用程序。
- 支持开发 Linux 应用程序。
- 支持开发 MacOS 应用程序。
- 支持开发 Windows 应用程序。
- 支持开发 Web APP。
- 支持开发微信小程序。
- 支持开发支付宝小程序。
- 支持开发百度小程序。
- 支持开发 Android 应用程序。
- 支持开发 iOS 应用程序。
- 支持开发 2D 小游戏。
三、主要特色
1. 跨平台
AWTK 是跨平台的,这有两个方面的意思:
- AWTK 本身是跨平台的。目前支持的平台有 ZLG AWorks、Windows、Linux、MacOS、嵌入式 Linux 和嵌入式裸系统,可以轻松的移植到各种 RTOS 上。AWTK 以后也可以运行在浏览器 (即将公测)、各种小程序、Android 和 iOS 等平台上运行。
- AWTK 同时还提供了一套跨平台的基础工具库。其中包括链表、数组、字符串 (UTF8 和 widechar),事件发射器、值、对象、文件系统、互斥锁和线程、表达式和字符串解析等等,让你用 AWTK 开发的应用程序可以真正跨平台运行。
2. 高效
AWTK 通过一系列的手段保证 AWTK 应用程序高效运行:
- 通过脏矩算法只更新变化的部分。
- 支持 3 FrameBuffer 让界面以最高帧率运行 (可选)。
- UI 描述文件和主题文件使用高效的二进制格式,解析在瞬间完成。
- 支持各种 GPU 加速接口。如 OpenGL、DirectX、Vulkan 和 Metal 等。
- 支持嵌入式平台的各种 2D 加速接口。目前 STM32 的 DMA2D 和 NXP 的 PXP 接口,厂家可以轻松扩展自己的加速接口。
3. 稳定
AWTK 通过下列方式极力让代码稳定可靠:
- 使用 cppcheck 和 facebook infer 进行静态检查。
- 使用 valgrind 进行动态内存检查。
- 近两万行的单元测试代码。
- ZLG 强大 GUI 团队的支持。
- 经过多个实际项目验证。
- 多平台 / 多编译器验证。
- 优秀的架构设计。
- Code Review。
- 手工测试。
4. 强大
- 丰富的控件 (持续增加中)。
- 支持各种图片格式 (png/jpg/gif/svg)。
- 支持各种字体格式 (点阵和矢量)。
- 支持窗口动画
- 支持控件动画
- 支持高清屏。
- 支持界面描述文件。
- 支持主题描述文件。
- 支持控件布局策略。
- 支持对话框高亮策略。
- 丰富的辅助工具。
- 支持从低端的 Cortex M3 到各种高端 CPU。
- 支持无文件系统和自定义的文件系统。
- 支持裸系统和 RTOS。
5. 易用
- 大量的示例代码。
- 完善的 API 文档和使用文档。
- ZLG 强大的技术支持团队。
- 用 AWTK 本身开发的界面编辑器 (开发中)。
- 声明式的界面描述语言。一行代码启用控件动画,启用窗口动画,显示图片 (png/jpg/svg/gif)。
6. 高度扩展性
- 可以扩展自己的控件。
- 可以扩展自己的动画。
- 可以实现自己的主循环。
- 可以扩展自己的软键盘。
- 可以扩展自己的图片加载器。
- 可以扩展自己的字体加载器。
- 可以扩展自己的输入法引擎。
- 可以扩展自己的控件布局算法。
- 可以扩展自己的对话框高亮策略。
- 可以实现自己的 LCD 接口。
- 可以扩展自己的矢量引擎 (如使用 skia/cairo)。
- 所有扩展组件和内置组件具有相同的待遇。
7. 多种开发语言
AWTK 本身是用 C 语言开发的,可以通过 IDL 生成各种脚本语言的绑定。生成的绑定代码不是简单的把 C 语言的 API 映射到脚本语言,而是生成脚本语言原生代码风格的 API。目前支持以下语言 (以后根据需要增加):
- C
- Lua
- Javascript on jerryscript
- Javascript on nodejs
8. 国际化
- 支持 Unicode。
- 支持输入法。
- 支持字符串翻译 (实时生效)。
- 支持图片翻译 (实时生效)。
- 文字双向排版 (计划中)。
9. 开放源码,免费商用 (LGPL)。
作者: lixianjing
软件下载:「链接」
gui窗口遮挡算法_软件更新丨AWTK 1.2 发布,国产开源 GUI 引擎相关推荐
- gui窗口遮挡算法_基于 C 语言开发的 GUI 框架
一.介绍 AWTK全称Toolkit AnyWhere,是ZLG开发的开源GUI引擎,旨在为嵌入式系统.WEB.各种小程序.手机和PC打造的通用GUI引擎,为用户提供一个功能强大.高效可靠.简单易用. ...
- element vue 动态单选_软件更新丨vue-element-admin 4.0.0 beta 发布,后台集成方案
vue-element-admin 4.0.0 beta 发布了. vue-element-admin 是一个后台集成解决方案,它基于 vue 和 element.它使用了最新的前端技术栈,内置了 i ...
- python的gui库哪个好_常用的13 个Python开发者必备的Python GUI库
[Python](http://www.blog2019.net/tag/Python?tagId=4)是一种高级编程语言,它用于通用编程,由Guido van Rossum 在1991年首次发布.P ...
- 国产开源 GUI 引擎 AWTK 1.1 发布
开发四年只会写业务代码,分布式高并发都不会还做程序员? 一.介绍 AWTK全称Toolkit AnyWhere,是ZLG开发的开源GUI引擎,旨在为嵌入式系统.WEB.各种小程序.手机和PC打造的 ...
- mybatis plus 导出sql_软件更新丨mybatis-plus 3.0.7 发布,辞旧迎新
点击右上方,关注开源中国OSC头条号,获取最新技术资讯 Mybatis-Plus 是一款 Mybatis 动态 SQL 自动注入 Mybatis 增删改查 CRUD 操作中间件, 减少你的开发周期优化 ...
- 苹果主题商店_不等更新丨苹果手机抢先体验微信夜间模式,附详细教程
昨天微信暗黑模式被微博刷屏了,从去年一直等到现在,想来用苹果手机的小伙伴们都很期待非常漂亮的微信暗黑模式,毕竟晚上看微信的话也能保护眼睛.其实,不必等腾讯更新,我们完全可以抢先体验微信暗黑模式,那阿俊 ...
- 苹果电脑删除下载的更新文件_软件更新,无需手动下载更新文件。不再依赖QQ浏览器。...
经过一段时间折腾,学习了一些新玩意. 以后的脚本可以达到不下载更新文件而直接启动就是最新版的,但是全程需要良好网络. 下载链接再放一遍 https://wwa.lanzous.com/b099irtr ...
- 干支纪年法简便算法_传感智库丨流速面积法测量明渠断面流量
随着工农业生产和生活用水量的增加,水资源供需矛盾日益尖锐,计划用水和水量调配工作显得越来越重要,很多场合都需要能够迅速.准确地测量明渠断面流量. 目前,国内外研究水流流量的方法主要有:垂直多普勒法.流 ...
- resharper字体_【更新】ReSharper v2018.3发布
ReSharper是一个代码生成工具,其能帮助Microsoft Visual Studio成为一个更佳的IDE. ReSharper Ultimate 2018.3提供了对Visual Studio ...
最新文章
- 二进制计算机课教案,计算机与二进制教案.pdf
- WinDriver的一些
- 在多线程 Python 程序中实现多目标不同缩进格式的 logging
- java:BIO, NIO
- Oracle的 listagg() WITHIN GROUP ()函数使用
- 如果去掉UITableView上的section的headerView和footerView的悬浮效果
- Istio:一个用于微服务间通信的服务网格开源项目
- 51Node 01组成的N的倍数
- 你疏漏的 JS 函数硬核知识?这里帮你总结了
- amd核芯显卡控制面板自定义分辨率_AMD翻盘,NVIDIA翻车,你的下一张光追显卡选哪个...
- 苹果WWDC 2019看点回顾:iOS黑化、iPad系统独立、王者Mac Pro发布...
- 焦虑症患者,整天心神不宁,忧心忡忡怎么办?
- Ubuntu系统中添加中文字体和修改默认中文字体
- matlab英文词汇,matlab中常见英文词含义
- 【WIN32之旅】WINDOWS错误处理与参考(四)
- 九歌·湘夫人 先秦 · 屈原
- 尚硅谷-微信小程序文档
- 取消js单选框的小圆圈
- “互联网+”时代,易信企业版能否在企业级服务市场异军突起?
- 面试了一个 46 岁的程序员,思绪万千
热门文章
- 1.1.2 操作系统的特征(并发、共享、虚拟、异步)
- Java转gcode,学用树莓派(8)-实战案例:基于树莓派JAVA的微型激光雕刻机
- linux python3.8源码安装_linux 下从源码安装 Python——小白踩坑记
- 汇编原理实验 --类型统计(字母,数字,其他字符的个数)
- 中断(interrupted()、isInterrupted())、Executor的中断
- 算法练习day13——190401(前缀树、贪心策略拼接字符串使字典序最小)
- python模块cv2人脸识别_python face_recognition模块实现人脸识别
- CCS中给工程加入C66x CSL库和头文件
- 启明云端分享| 小明实测优化后的ESP32-S2点 3.92寸分辨率为320*320的彩屏刷新帧率
- Vue+ElementUI: 手把手教你做一个audio组件