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

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

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

分享一個(gè)跨平臺(tái)通用的 GUI 框架!

[復(fù)制鏈接]

449

主題

449

帖子

582

積分

二級(jí)會(huì)員

Rank: 2

積分
582
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 昨天 20:20 | 只看該作者 |只看大圖 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我是老溫,一名熱愛(ài)學(xué)習(xí)的嵌入式工程師
. n. u, P) m* n$ C* i& D" v關(guān)注我,一起變得更加優(yōu)秀!AAGUI介紹AAGUI是一個(gè)不依賴(lài)特定硬件、操作系統(tǒng)的跨平臺(tái)通用型GUI。
/ A1 A+ F; l4 K% y. \3 A鏈接:https://gitee.com/QQ1159465634/aagui
& s1 I. O# E5 y; d" u# w: S* h使用MIT開(kāi)源許可協(xié)議
' o$ i/ W& k; m1 {3 n
AAGUI采用C(兼容C89)與C++(兼容C++98)編寫(xiě),兼容位置無(wú)關(guān)。面向?qū)ο、半聲明式、等特性使得AAGUI的應(yīng)用開(kāi)發(fā)效率、可維護(hù)性都十分優(yōu)秀!; I3 [1 r$ q- f5 K3 }4 b& v
優(yōu)雅的頁(yè)面管理機(jī)制使得AAGUI也能擁有開(kāi)發(fā)出大型系統(tǒng)級(jí)多頁(yè)面UI應(yīng)用的能力!UI核心來(lái)源于對(duì)安卓的精簡(jiǎn)移植,以及超低的內(nèi)存占用,終于在嵌入式MCU里也能實(shí)現(xiàn)類(lèi)安卓的高級(jí)UI開(kāi)發(fā)!' k4 A9 m  _2 Q- S; G/ M+ u

) a& ^! m* Q9 g
; ~& A& G! y3 o6 K/ Q& Z
  F9 v& [: v) ~, f( k* [+ O5 k
" U: O0 ?7 ^6 e軟件架構(gòu)
8 P; P4 }# Z$ H+ q# ~9 {文件夾是否開(kāi)源AAGUI_app應(yīng)用層?AAGUI_core核心層?libAAGUI已編譯的核心層靜態(tài)庫(kù)?移植教程
  • ⑴ 將AAGUI相關(guān)代碼、靜態(tài)庫(kù)全部加入到項(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)目文件。更多說(shuō)明
  • 內(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)要:頁(yè)面(面板)復(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)。更多圖片
    & z( v4 e1 e- o6 N/ k 2 d9 u, M1 R+ x9 q* n. h: ^
    7 ?( G9 C, {/ \6 o9 x

    " T; E; ~' x" ^( I1 F + v4 q" C& O- g* k7 D7 M

    ; t. M7 P4 u: w; s1 M
    % |: r4 `. L$ l- x' |8 Y : R3 e; i" x. x0 Z* r
    / J; Z  t( ^( X4 W6 u& y& Z

    # s3 [; F& Q+ H" ?- v; {' y
    / b3 M6 E5 n* h/ S# ]# J9 @! \5 K# T; s' Q& E# x6 _
    -END-
    ) U) ?; L( _6 S& c  C/ b往期推薦:點(diǎn)擊圖片即可跳轉(zhuǎn)閱讀4 l$ ~- K, v% D7 j! A+ H
                                                            9 I3 q7 R# O. _* K
                                                                    ( n9 h; a; S* l, V8 U" c
                                                                           
    & w' W6 G0 j0 P5 n' o, G; l9 B9 U: H9 E                                                                                4 ~: w$ c% N% q5 ^) ?6 K$ u) x

    $ m8 Y% B1 M) p  {2 P                                                                               
    3 }% k( _( i. O3 f+ S$ L$ {5 g                                                                                        嵌入式大佬分享,簡(jiǎn)單易用的開(kāi)發(fā)工具及解決方案!( s7 X3 t" E" u' s2 L* q7 r
                                                                                   
    1 M( ~+ T6 u! o  l) s6 @7 j. A/ W                                                                        4 P/ c& l0 _9 X" k' B, p1 _
                                                                    7 S$ X  U1 B  I4 Y6 l$ T% h
                                                            . w- t7 o9 W$ U! q
                                                   
    2 w' {1 F. a5 g4 b; s+ h- K( v
    9 w) N( {4 U, H                                                        / r5 }* p3 x$ c9 b5 p$ V
                                                                    ; F( h3 J2 P6 g+ h$ \. I/ r9 ]
                                                                            $ \2 V( H' P' z8 |! G1 R
                                                                                    8 Y/ P9 F, V2 |+ F8 f6 u8 _+ y
    . v% h' i  e+ t5 p& O! f5 i
                                                                                    $ t  l" [5 A* ^$ a6 a) b
                                                                                            嵌入式 Linux 對(duì)接星閃,用 C++ 設(shè)計(jì)一個(gè)通用的 AT 指令解析器。, n, S4 @6 R& `1 X
                                                                                      m) X$ g6 s8 }, U
                                                                           
    ! T: C: R' L1 `% W6 C  _1 \                                                                $ Z4 B5 m6 v3 o2 C5 _( a/ i) E
                                                            9 r, \; U* G: U7 Y' D
                                                    ( {0 T/ p' K9 ^& I
    1 x: `9 _% ]  k6 q5 e
                                                           
    $ I% |+ {* Q7 u                                                               
    6 m  S: o0 a2 }5 z4 I, ?                                                                       
    / N, [. _& ], t9 V                                                                               
    $ I9 Z, W% o* E- K8 |0 Z
    $ q+ A, X8 {5 ^  X9 \- `. j                                                                               
    , M  U7 n) R9 g, r# u5 J                                                                                        嵌入式 C 語(yǔ)言,為什么全局變量越少越好?% k5 P! Y" d9 P1 H4 H
                                                                                   
    - O) p% l! N% N$ t  J                                                                       
    5 E: o0 g3 o! s! N                                                               
    * E, e( D7 F' d) U4 h                                                       
    5 a1 a' B4 I0 J, g0 n2 b                                                我是老溫,一名熱愛(ài)學(xué)習(xí)的嵌入式工程師! M- U7 U% I. C
    關(guān)注我,一起變得更加優(yōu)秀!
  • 發(fā)表回復(fù)

    本版積分規(guī)則

    關(guān)閉

    站長(zhǎng)推薦上一條 /1 下一條


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