AAGUI是一個(gè)不依賴特定硬件、操作系統(tǒng)的跨平臺(tái)通用型GUI。
使用MIT開源許可協(xié)議
AAGUI采用C(兼容C89)與C++(兼容C++98)編寫,兼容位置無關(guān)。面向?qū)ο蟆肼暶魇健⒌忍匦允沟肁AGUI的應(yīng)用開發(fā)效率、可維護(hù)性都十分優(yōu)秀!
優(yōu)雅的頁面管理機(jī)制使得AAGUI也能擁有開發(fā)出大型系統(tǒng)級(jí)多頁面UI應(yīng)用的能力!UI核心來源于對(duì)安卓的精簡(jiǎn)移植,以及超低的內(nèi)存占用,終于在嵌入式MCU里也能實(shí)現(xiàn)類安卓的高級(jí)UI開發(fā)!
軟件架構(gòu)
文件夾 | 是否開源 | |
---|---|---|
AAGUI_app | 應(yīng)用層 | |
AAGUI_core | 核心層 | |
libAAGUI | 已編譯的核心層靜態(tài)庫 |
移植教程
⑴ 將AAGUI相關(guān)代碼、靜態(tài)庫全部加入到項(xiàng)目中。加上頭文件路徑。自定義一個(gè)預(yù)處理符號(hào)方便標(biāo)記當(dāng)前目標(biāo)平臺(tái)。
⑵ AABase.c中實(shí)現(xiàn)相關(guān)抽象移植接口,如aa_malloc()...。
⑶ 定義主GUI并配置其顯示設(shè)備信息,對(duì)接框架接口。
詳情請(qǐng)參閱 AAGUI文檔.chm 及已移植好的項(xiàng)目文件。
更多說明
內(nèi)存空間推薦:flash >= 256KB,RAM >= 32KB(6K棧+26K堆)。
框架重要優(yōu)勢(shì):完整應(yīng)用框架、多GUI實(shí)例(多屏)、json半聲明式高級(jí)UI、完整中文輸入法、支持Alpha、支持剪輯區(qū)。
幀緩沖區(qū)格式:原生支持0bit自控、1bit單色、8bit灰度、16、24、32bit彩色,支持動(dòng)態(tài)修改。
部分幀緩沖區(qū):支持PFB部分幀緩存,最低只需1行緩存。比如240x320分辨率,最低只需要240的內(nèi)存。
復(fù)用支持簡(jiǎn)要:頁面(面板)復(fù)用、UI布局復(fù)用、UI控件復(fù)用、自定義高級(jí)UI組件。
高級(jí)布局簡(jiǎn)要:幀布局、線性布局、絕對(duì)布局、垂直&水平滾動(dòng)容器、文本、文本編輯、按鈕、進(jìn)度條。
字體支持簡(jiǎn)要:自由管理字體、支持繪制帶邊框文字、文本縮放繪制。
底層圖形繪制:點(diǎn)、線、矩形、圓、圓角矩形、橢圓矩形、漸變矩形、多邊形、圓弧(可實(shí)現(xiàn)扇形)。
底層圖片繪制:1、8、16、24、32bit位圖、qoi格式圖片。位圖支持縮放、旋轉(zhuǎn)。
更多圖片
-
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6737瀏覽量
123190 -
開源
+關(guān)注
關(guān)注
3文章
3245瀏覽量
42396 -
C++
+關(guān)注
關(guān)注
22文章
2104瀏覽量
73487 -
GUI
+關(guān)注
關(guān)注
3文章
648瀏覽量
39546
原文標(biāo)題:分享一個(gè)跨平臺(tái)通用的 GUI 框架!
文章出處:【微信號(hào):工程師進(jìn)階筆記,微信公眾號(hào):工程師進(jìn)階筆記】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論