AAGUI是一個不依賴特定硬件、操作系統的跨平臺通用型GUI。
使用MIT開源許可協議
AAGUI采用C(兼容C89)與C++(兼容C++98)編寫,兼容位置無關。面向對象、半聲明式、等特性使得AAGUI的應用開發效率、可維護性都十分優秀!
優雅的頁面管理機制使得AAGUI也能擁有開發出大型系統級多頁面UI應用的能力!UI核心來源于對安卓的精簡移植,以及超低的內存占用,終于在嵌入式MCU里也能實現類安卓的高級UI開發!
軟件架構
文件夾 | 是否開源 | |
---|---|---|
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格式圖片。位圖支持縮放、旋轉。
更多圖片
-
操作系統
+關注
關注
37文章
6801瀏覽量
123283 -
開源
+關注
關注
3文章
3309瀏覽量
42471 -
C++
+關注
關注
22文章
2108瀏覽量
73618 -
GUI
+關注
關注
3文章
659瀏覽量
39654
原文標題:分享一個跨平臺通用的 GUI 框架!
文章出處:【微信號:工程師進階筆記,微信公眾號:工程師進階筆記】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論