电子产业一站式赋能平台

PCB联盟网

搜索
查看: 102|回复: 0
收起左侧

一个跨平台通用型GUI

[复制链接]

502

主题

502

帖子

3383

积分

四级会员

Rank: 4

积分
3383
发表于 2024-10-14 11:38:00 | 显示全部楼层 |阅读模式
AAGUI介绍 AAGUI是一个不依赖特定硬件、操作系统的跨平台通用型GUI。
链接:https://gitee.com/QQ1159465634/aagui
使用MIT开源许可协议
AAGUI采用C(兼容C89)与C++(兼容C++98)编写,兼容位置无关。面向对象、半声明式、等特性使得AAGUI的应用开发效率、可维护性都十分优秀!
优雅的页面管理机制使得AAGUI也能拥有开发出大型系统级多页面UI应用的能力!UI核心来源于对安卓的精简移植,以及超低的内存占用,终于在嵌入式MCU里也能实现类安卓的高级UI开发!官方QQ交流群:157970328。

c0babfqhu2s6402165001.png

c0babfqhu2s6402165001.png


whbfguznwtm6402165102.gif

whbfguznwtm6402165102.gif

软件架构
文件夹是否开源AAGUI_app应用层?AAGUI_core核心层?libAAGUI已编译的核心层静态库?移植教程
  • ⑴ 将AAGUI相关代码、静态库全部加入到项目中。加上头文件路径。自定义一个预处理符号方便标记当前目标平台。
  • ⑵ AABase.c中实现相关抽象移植接口,如aa_malloc()...。
  • ⑶ 定义主GUI并配置其显示设备信息,对接框架接口。
  • 详情请参阅 AAGUI文档.chm 及已移植好的项目文件。更多说明
  • 内存空间推荐:flash >= 256KB,RAM >= 32KB(6K栈+26K堆)。
  • 框架重要优势:完整应用框架、多GUI实例(多屏)、json半声明式高级UI、完整中文输入法、支持Alpha、支持剪辑区。
  • 帧缓冲区格式:原生支持0bit自控、1bit单色、8bit灰度、16、24、32bit彩色,支持动态修改。
  • 部分帧缓冲区:支持PFB部分帧缓存,最低只需1行缓存。比如240x320分辨率,最低只需要240的内存。
  • 复用支持简要:页面(面板)复用、UI布局复用、UI控件复用、自定义高级UI组件。
  • 高级布局简要:帧布局、线性布局、绝对布局、垂直&水平滚动容器、文本、文本编辑、按钮、进度条。
  • 字体支持简要:自由管理字体、支持绘制带边框文字、文本缩放绘制。
  • 底层图形绘制:点、线、矩形、圆、圆角矩形、椭圆矩形、渐变矩形、多边形、圆弧(可实现扇形)。
  • 底层图片绘制:1、8、16、24、32bit位图、qoi格式图片。位图支持缩放、旋转。更多图片

    iwl0ycm0mjc6402165202.gif

    iwl0ycm0mjc6402165202.gif


    ex4agmutkxd6402165303.png

    ex4agmutkxd6402165303.png


    yay5v3k0wh16402165404.png

    yay5v3k0wh16402165404.png


    4eqximn4znq6402165505.png

    4eqximn4znq6402165505.png


    猜你喜欢:
    WiFi6+蓝牙+星闪,三合一开发板,真香!
    Github上热门 C 语言项目汇总!
    嵌入式,可测试性软件设计!
    一些低功耗软件设计的要点!
    嵌入式 C 保护结构体的方式
    实用 | 10分钟教你通过网页点灯
    谈谈嵌入式软件的兼容性!
    分享一个嵌入式代码生成器设计思路!
    点击阅读原文,查看更多分享。
  • 回复

    使用道具 举报

    发表回复

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则


    联系客服 关注微信 下载APP 返回顶部 返回列表