0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享一个跨平台通用型GUI框架

工程师进阶笔记 来源:工程师进阶笔记 2024-10-28 09:21 次阅读

AAGUI是一个不依赖特定硬件操作系统的跨平台通用型GUI。

使用MIT开源许可协议

AAGUI采用C(兼容C89)与C++(兼容C++98)编写,兼容位置无关。面向对象、半声明式、等特性使得AAGUI的应用开发效率、可维护性都十分优秀!

优雅的页面管理机制使得AAGUI也能拥有开发出大型系统级多页面UI应用的能力!UI核心来源于对安卓的精简移植,以及超低的内存占用,终于在嵌入式MCU里也能实现类安卓的高级UI开发!

234b6240-933d-11ef-a511-92fbcf53809c.png

软件架构

文件夹 是否开源
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格式图片。位图支持缩放、旋转。

更多图片

239bbbf0-933d-11ef-a511-92fbcf53809c.gif

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 操作系统
    +关注

    关注

    37

    文章

    6801

    浏览量

    123280
  • 开源
    +关注

    关注

    3

    文章

    3309

    浏览量

    42471
  • C++
    C++
    +关注

    关注

    22

    文章

    2108

    浏览量

    73618
  • GUI
    GUI
    +关注

    关注

    3

    文章

    659

    浏览量

    39653

原文标题:分享一个跨平台通用的 GUI 框架!

文章出处:【微信号:工程师进阶笔记,微信公众号:工程师进阶笔记】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    EI—PXA168通用型开发平台

    ;nbsp;   EI—PXA168通用型开发平台EI—PXA168开发平台是广州晨瑞电子科技有限公司精心设计的最新代高分辨率2D/3D多,媒体开发
    发表于 09-26 09:01

    通用型微功率电压基准LT6650

    DN351 - 通用型微功率电压基准提供了可采用电阻器来设置的 0.4V 至 18V 输出
    发表于 08-02 13:38

    高性能通用型综合仿真开发平台TKScope有什么特点?

    TKScope是广州致远电子有限公司2008年隆重推出上市的款高性能通用型综合仿真开发平台,支持仿真全系列的8051、ARM、DSP、AVR、C166、C251、MX等内核;与当前全部主流IDE
    发表于 09-04 07:35

    怎么实现基于DSP的通用型嵌入式语音平台的硬件设计?

    怎么实现基于DSP的通用型嵌入式语音平台的硬件设计?
    发表于 06-04 06:21

    通用型伺服驱动器和型号参数及详情相关资料分享

    型号参数:产品名称规格型号适配功率额定电流通用型驱动器HVEC-VC-00323H-M-E0.4-0.75KW3A通用型驱动器HVEC-VC-00623H-M-E1.5KW6A通用型驱动器
    发表于 06-28 09:45

    通用型伺服驱动器具有哪些型号参数?

    通用型伺服驱动器具有哪些型号参数?
    发表于 10-09 08:44

    通用型变频器相关资料推荐

    百度百科【转载】(传送门)目前,通用型变频器绝大多数是交—直—交变频器,通常尤以电压器变 频器为通用,其主回路图,它是变频器的核心电路,由整流回路(交—直交换),直流滤波电路(能耗电路)及逆变电
    发表于 11-15 08:55

    GPIO通用型之输入输出的简称

    )GPIO通用型之输入输出的简称
    发表于 11-26 07:44

    Qt 平台C++图形用户界面应用程序开发框架

    Qt是1991年由Qt Company开发的平台C++图形用户界面应用程序开发框架。它既可以开发G
    发表于 03-28 21:03

    通用型服务器

    通用型服务器     通用型服务器是没有为某种特殊服务专门设计
    发表于 12-17 09:46 380次阅读

    通用型运算放大器,通用型运算放大器是什么意思

    通用型运算放大器,通用型运算放大器是什么意思 通用型运算放大器的组成 通用型运算放大器就是以通用为目的而设计的。这类器件的主
    发表于 03-09 15:42 6563次阅读

    通用型DSP,通用型DSP是什么意思

    通用型DSP,通用型DSP的类型和特点有哪些? DSP的各种类型和应用特点 数字信号处理器的采用是
    发表于 03-26 14:58 1725次阅读

    通用型与达林顿光耦的区别

    通用型与达林顿光耦的区别
    发表于 06-22 11:37 1.7w次阅读
    <b class='flag-5'>通用型</b>与达林顿<b class='flag-5'>型</b>光耦的区别

    平台的游戏开发框架LibGDX的介绍

    LibGDX是平台的游戏开发框架,适用于Windows,Linux,Mac OS X,Android,iOS和支持WebGL的浏览器。
    的头像 发表于 11-06 07:30 3217次阅读

    wxWidgets平台GUI开发编程

    wxWidgets平台GUI开发编程资料免费下载。
    发表于 04-15 14:20 6次下载