關注+星標公眾號,不錯過精彩內容
來源?|?菜鳥編程
今天給大家分享一個跨平臺通用型GUI:AAGUI
AAGUI介紹
AAGUI是一個不依賴特定硬件、操作系統的跨平臺通用型GUI。
鏈接:https://gitee.com/QQ1159465634/aagui
使用MIT開源許可協議
AAGUI采用C(兼容C89)與C++(兼容C++98)編寫,兼容位置無關。面向對象、半聲明式、等特性使得AAGUI的應用開發效率、可維護性都十分優秀!
優雅的頁面管理機制使得AAGUI也能擁有開發出大型系統級多頁面UI應用的能力!UI核心來源于對安卓的精簡移植,以及超低的內存占用,終于在嵌入式MCU里也能實現類安卓的高級UI開發!官方QQ交流群:157970328。


軟件架構
| 文件夾 | 是否開源 |
|---|
| 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格式圖片。位圖支持縮放、旋轉。
更多圖片




------------?END?------------

●專欄《嵌入式工具》
●專欄《嵌入式開發》
●專欄《Keil教程》
●嵌入式專欄精選教程
關注公眾號回復“加群”按規則加入技術交流群,回復“1024”查看更多內容。