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

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

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

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

[復(fù)制鏈接]

449

主題

449

帖子

582

積分

二級會員

Rank: 2

積分
582
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 昨天 20:20 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
我是老溫,一名熱愛學(xué)習(xí)的嵌入式工程師0 c: W0 y8 x4 h8 y: a6 e) ^
關(guān)注我,一起變得更加優(yōu)秀!AAGUI介紹AAGUI是一個不依賴特定硬件、操作系統(tǒng)的跨平臺通用型GUI。
: v" \; G% l/ h' @3 M鏈接:https://gitee.com/QQ1159465634/aagui' x9 Q8 [3 D) t+ I. F! ]4 [6 H
使用MIT開源許可協(xié)議+ a6 G# ^) c5 F0 s: _) J: h
AAGUI采用C(兼容C89)與C++(兼容C++98)編寫,兼容位置無關(guān)。面向?qū)ο蟆肼暶魇、等特性使得AAGUI的應(yīng)用開發(fā)效率、可維護性都十分優(yōu)秀!; j7 o6 Q# g# d6 e0 z, G. {
優(yōu)雅的頁面管理機制使得AAGUI也能擁有開發(fā)出大型系統(tǒng)級多頁面UI應(yīng)用的能力!UI核心來源于對安卓的精簡移植,以及超低的內(nèi)存占用,終于在嵌入式MCU里也能實現(xiàn)類安卓的高級UI開發(fā)!" H3 @7 ^" I( u* k7 B

9 @- r1 Y  i% v3 r2 J$ C
$ W) t3 T* t6 A( s4 j, e" A* t9 g) m2 v% |2 H
! A. ^6 W/ {" Z) ~1 P# K' j4 t
軟件架構(gòu) 9 I3 y$ u! L3 Z
文件夾是否開源AAGUI_app應(yīng)用層?AAGUI_core核心層?libAAGUI已編譯的核心層靜態(tài)庫?移植教程
  • ⑴ 將AAGUI相關(guān)代碼、靜態(tài)庫全部加入到項目中。加上頭文件路徑。自定義一個預(yù)處理符號方便標記當前目標平臺。
  • ⑵ 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組件。
  • 高級布局簡要:幀布局、線性布局、絕對布局、垂直&水平滾動容器、文本、文本編輯、按鈕、進度條。
  • 字體支持簡要:自由管理字體、支持繪制帶邊框文字、文本縮放繪制。
  • 底層圖形繪制:點、線、矩形、圓、圓角矩形、橢圓矩形、漸變矩形、多邊形、圓弧(可實現(xiàn)扇形)。
  • 底層圖片繪制:1、8、16、24、32bit位圖、qoi格式圖片。位圖支持縮放、旋轉(zhuǎn)。更多圖片
    7 L8 B7 f/ Z# G 0 Y( y6 Q- x4 y0 `2 s4 b

    6 T( o2 l2 J& n7 l( _/ t2 P1 J0 ~  ~  F0 d4 V% s) r0 n5 ]

    / i( v) `. S, {7 L$ P- ^1 _: U5 T8 K5 O
    ) s) U# L/ J3 m; p! u' U# D4 G: M5 ^# c0 F- D1 r8 `' J
      u4 Z# O6 F4 u* N0 _# J6 O+ @6 ?

    3 }  \1 d9 p1 |" B% V: r  _
    ) W6 Y' v( G! g4 H) ]+ b$ q  N
    # `) E- }- F( [! u. K6 q* V5 l1 y0 U9 Y1 ^# X; b9 `
    -END-
    : S$ c* k6 \* \' w+ q# j往期推薦:點擊圖片即可跳轉(zhuǎn)閱讀
    . E5 ?4 x: j) a7 c0 c' K" z9 n                                                        - m( M: V1 j5 ]
                                                                    0 u- S) n+ v' s" i; Q5 ~; l' e
                                                                            4 |0 [9 S7 B  C- H
                                                                                    ' o0 _* E. a. P1 y
    3 t1 n# o+ r7 S5 j% [" L
                                                                                    5 v8 t. u) x( b1 T( Y( a, j
                                                                                            嵌入式大佬分享,簡單易用的開發(fā)工具及解決方案!
    : o# m' e  j, q3 z& _                                                                                8 u+ P" J0 g6 A2 B8 e9 s
                                                                            3 K; `6 l0 Y5 N6 ?  H! b  s9 o
                                                                    2 g; f5 H6 o- _5 l, Z: b& ?0 y
                                                           
    + k0 c) u; A- T$ m                                               
    ) Z. s9 p- g; z4 q% ?% E& ]( P7 m. H) l/ g  I
                                                           
    # `$ m8 E8 C, L                                                                4 U* N9 ]1 _, \
                                                                           
    + y& }# e" X+ X                                                                               
    % o+ L  Q; s- F
    9 ?3 F: M6 b  h: N* o# |, s+ a                                                                               
    3 _  w+ }7 C3 @- h" Q# D: Y                                                                                        嵌入式 Linux 對接星閃,用 C++ 設(shè)計一個通用的 AT 指令解析器。* w1 ]6 l0 j: v% p( ^
                                                                                    5 Z0 L$ L7 G& F1 e- J! C0 L. O
                                                                           
    0 n" m, Q, x- K5 i! K; k                                                               
    - L$ `. v2 X' ~) V( x' W8 N                                                       
    ' y% z! q, @8 ^1 Q/ K8 N                                                0 }; k% O, Q7 I, {
    ' L, C- K- S: W* J
                                                            & s3 k- z) {3 m; u
                                                                   
    9 ?1 K3 s% q0 ]* X' K                                                                       
    5 \4 ]& u% H" v* j                                                                               
    7 f; j- j' M$ u8 I' U
    7 S" r+ H& P+ i- h                                                                               
    5 u4 c1 A- T7 s/ L' H                                                                                        嵌入式 C 語言,為什么全局變量越少越好?
    2 k# i( f3 U. L0 i* ?  r                                                                               
    7 D/ f! B% n  `, ?# }( D1 _                                                                       
    8 B0 A# B) n) n& M% U$ i                                                                * _0 \/ J8 v' U7 n1 R6 H1 W, F1 g
                                                           
    . C! J3 I& u, F4 ], |                                                我是老溫,一名熱愛學(xué)習(xí)的嵌入式工程師
    1 J5 |7 v7 F' c& G6 s關(guān)注我,一起變得更加優(yōu)秀!
  • 回復(fù)

    使用道具 舉報

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

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

    本版積分規(guī)則

    關(guān)閉

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


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