電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 24|回復(fù): 0
收起左側(cè)

分享一個跨平臺通用的 GUI 框架!

[復(fù)制鏈接]

449

主題

449

帖子

582

積分

二級會員

Rank: 2

積分
582
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 昨天 20:20 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
我是老溫,一名熱愛學(xué)習(xí)的嵌入式工程師
5 v) C: m: t% q; a6 T5 y. S4 d關(guān)注我,一起變得更加優(yōu)秀!AAGUI介紹AAGUI是一個不依賴特定硬件、操作系統(tǒng)的跨平臺通用型GUI。& L% O6 B0 G! _. [  L
鏈接:https://gitee.com/QQ1159465634/aagui
1 A* @* _3 E: N! e. m& |4 m" @使用MIT開源許可協(xié)議, ]$ T2 @' S* o
AAGUI采用C(兼容C89)與C++(兼容C++98)編寫,兼容位置無關(guān)。面向?qū)ο蟆肼暶魇、等特性使得AAGUI的應(yīng)用開發(fā)效率、可維護性都十分優(yōu)秀!, [# ~0 k  r; U1 m  X2 C
優(yōu)雅的頁面管理機制使得AAGUI也能擁有開發(fā)出大型系統(tǒng)級多頁面UI應(yīng)用的能力!UI核心來源于對安卓的精簡移植,以及超低的內(nèi)存占用,終于在嵌入式MCU里也能實現(xiàn)類安卓的高級UI開發(fā)!
3 [9 t( P+ I# u; @3 M % d& }2 s# }* H& A6 K
: [& l& F; ?- [- T8 G7 n

/ e0 _$ a0 h1 t3 s1 J 7 P3 ?% D) R) T$ ~& k3 g
軟件架構(gòu)
! v( U7 a/ E. ]1 d; ]文件夾是否開源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組件。
  • 高級布局簡要:幀布局、線性布局、絕對布局、垂直&水平滾動容器、文本、文本編輯、按鈕、進度條。
  • 字體支持簡要:自由管理字體、支持繪制帶邊框文字、文本縮放繪制。
  • 底層圖形繪制:點、線、矩形、圓、圓角矩形、橢圓矩形、漸變矩形、多邊形、圓。ǹ蓪崿F(xiàn)扇形)。
  • 底層圖片繪制:1、8、16、24、32bit位圖、qoi格式圖片。位圖支持縮放、旋轉(zhuǎn)。更多圖片& B( \2 {' m$ K' H: t5 d$ i

    ; g, a% `6 U0 A3 P8 c3 E: h
    5 ?& @5 l0 \. F/ V- d* f# N6 n
    # K5 Q! ]8 ^- X$ P5 i/ R6 }
    : _4 m1 @, X! k, [* ]" x, H* B8 }. s9 ~2 ]
    * x( c% F) {0 _# f; v' P. M3 F
    . M. t+ ~  q- V- Y' y' p
    # b1 O" @, p( i9 }5 ?
    4 j. b, |+ O5 M9 q, {
    . F) C& v, M0 f
    8 S% @" h5 j  O. ~
    -END-  U' m" x2 X7 m9 r: M" c
    往期推薦:點擊圖片即可跳轉(zhuǎn)閱讀8 {0 Y" v* q& W" e/ Z
                                                            . p5 T& g( D/ j! S
                                                                   
    2 U8 }7 s, M- ]) D. Q0 |8 n: y                                                                        9 S; w5 K7 Z5 S
                                                                                    " v9 J: |3 j" A5 Q
    + M) l3 A7 X! v
                                                                                   
    1 u- q2 g4 Z/ w% v" |* v                                                                                        嵌入式大佬分享,簡單易用的開發(fā)工具及解決方案!
    1 G5 O3 t7 g9 ~: h6 ?                                                                                % P" h1 {1 b/ F
                                                                            7 E, L/ l: }* k+ i% c3 Y
                                                                    + A$ _4 ~* L7 j; a
                                                           
    ; t, m5 ~$ ^- r0 V                                                  F6 u) z$ f  z5 {7 @
    + i2 ]7 n) W" S' _. l& ^# m9 g1 |
                                                            8 E2 y9 a; X2 n! S, n
                                                                   
    9 w4 ^3 c3 S3 N: K/ H+ P9 K                                                                       
    * E! c) p# \3 u% c                                                                               
    5 M5 x* \5 d3 v9 h# I* D0 Y
    7 G5 F' s& K2 |$ ]+ J. R  A# \                                                                                ) z2 S. K/ w* _! W; t- G! H
                                                                                            嵌入式 Linux 對接星閃,用 C++ 設(shè)計一個通用的 AT 指令解析器。( \& ]1 K2 c  W- v0 V% X
                                                                                   
    - v/ I4 m8 l4 p6 ^: q% }, M6 U" {                                                                        $ Z, o, h9 j' o+ \1 |0 u# [/ v
                                                                    # b# Q+ ^, e9 G+ c
                                                           
    ! `! N7 v! [& [1 D: Z+ Y% {                                               
    4 [0 M' I% Z1 r, j3 v" C
    # A; K# w; D& i& z* x9 m! U                                                        6 ^; h! Z( U) ]/ s9 f
                                                                   
      o+ @' i. H5 w                                                                       
    ; x2 l; ^! h9 Q4 w( a5 n                                                                               
    7 ?  u2 O+ A" d4 s5 o7 v5 }
    . @% q. G/ v' C2 t7 b  W                                                                                . k, P* G% p' h/ v* D0 `
                                                                                            嵌入式 C 語言,為什么全局變量越少越好?
    . z; B4 g2 ^+ d7 y6 v% W. Q  _$ Y% \                                                                                % X1 f! t- T0 f- J" j
                                                                           
    ; c4 r  c5 G6 ^                                                                ; a0 @1 n+ ?6 i
                                                           
    7 x9 v  P- O- Z( k5 [                                                我是老溫,一名熱愛學(xué)習(xí)的嵌入式工程師
    : @% \8 A  g  ?2 X$ y關(guān)注我,一起變得更加優(yōu)秀!
  • 回復(fù)

    使用道具 舉報

    發(fā)表回復(fù)

    您需要登錄后才可以回帖 登錄 | 立即注冊

    本版積分規(guī)則

    關(guān)閉

    站長推薦上一條 /1 下一條


    聯(lián)系客服 關(guān)注微信 下載APP 返回頂部 返回列表