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