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

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

搜索
查看: 18|回復(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í)的嵌入式工程師
4 d! g. ]* R+ t# b) K. \4 T+ ^關(guān)注我,一起變得更加優(yōu)秀!AAGUI介紹AAGUI是一個(gè)不依賴(lài)特定硬件、操作系統(tǒng)的跨平臺(tái)通用型GUI。
: f- }3 T) I" G: t& e' i8 }鏈接:https://gitee.com/QQ1159465634/aagui
, s8 `9 F5 W. k4 `1 L+ a使用MIT開(kāi)源許可協(xié)議/ n( C2 I& M( t" O# T3 j
AAGUI采用C(兼容C89)與C++(兼容C++98)編寫(xiě),兼容位置無(wú)關(guān)。面向?qū)ο蟆肼暶魇、等特性使得AAGUI的應(yīng)用開(kāi)發(fā)效率、可維護(hù)性都十分優(yōu)秀!
8 r6 q1 j3 J+ A& c( z1 l- r1 i優(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ā)!
5 _# L) [5 l% `4 _ 4 H! Y9 @+ q, U4 L. i/ z

! Q1 y5 l! I  _* ?; h* F7 X+ x
! Q$ P4 Q9 z0 }9 B$ B. { & u; B* c2 L2 ~1 A. \& F- h
軟件架構(gòu)
$ d- L1 ]! k9 P; D- y文件夾是否開(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)要:幀布局、線(xiàn)性布局、絕對(duì)布局、垂直&水平滾動(dòng)容器、文本、文本編輯、按鈕、進(jìn)度條。
  • 字體支持簡(jiǎn)要:自由管理字體、支持繪制帶邊框文字、文本縮放繪制。
  • 底層圖形繪制:點(diǎn)、線(xiàn)、矩形、圓、圓角矩形、橢圓矩形、漸變矩形、多邊形、圓。ǹ蓪(shí)現(xiàn)扇形)。
  • 底層圖片繪制:1、8、16、24、32bit位圖、qoi格式圖片。位圖支持縮放、旋轉(zhuǎn)。更多圖片
    / z+ o4 F; U* J * n" W+ ?3 ?' K  N8 l6 c- R+ F3 ^

    0 O# m4 c  _0 x2 g* S
    ; w0 X% N$ i- g2 s8 K) i  D - _5 s  k! s: I- p

    7 ^/ y/ r9 F$ Z# Y/ `; Z1 _; h5 e$ x1 P

    2 F2 K- `4 D( U/ ?
    4 L! d" E& M8 ~- K2 F5 R9 R" U5 z
    . Z0 K6 N% o! g
    % X% c) L( v! y5 E. @  m7 u/ T
    , O! n* Q" S: G( X* Q' m0 I6 x-END-
    6 ^$ P5 w$ x9 I! N# n往期推薦:點(diǎn)擊圖片即可跳轉(zhuǎn)閱讀
    ! E; i( m. h8 q: E0 a+ h                                                        , j- Q$ Q. P& t1 Z$ R
                                                                   
    $ X- `7 b7 {; I! e3 @                                                                        * c4 K6 ]' Q% ?) T+ d  R" d' D
                                                                                   
    $ T3 y  X/ U+ k3 Y3 ]/ `5 ~1 h: H 5 p4 e3 Q& L7 e+ F" F5 Q4 u
                                                                                    3 F6 ?1 l3 J4 ^( j0 g# Y- P) |
                                                                                            嵌入式大佬分享,簡(jiǎn)單易用的開(kāi)發(fā)工具及解決方案!
      M! g5 U5 |& |: |# C                                                                               
    & D: f) ], i. Q. F. R5 V                                                                        2 K5 b! x2 a0 c" n5 `% |' U
                                                                   
    ) z6 o9 L2 A- }                                                        ' k8 U  M1 ~& Z
                                                   
    % ~* l$ j4 i& e& ]9 t0 J6 ^; ^& B5 A, Y1 B" N+ h
                                                            8 B9 E7 G4 a* R# P1 s/ b8 b
                                                                    " V3 G1 k) ^. |
                                                                           
    4 J6 C  i9 e3 G                                                                               
    4 X. |( i- r+ S0 Z/ B, }) p $ |- e1 i# e. J* g; Q2 ~
                                                                                   
    . r. x( ~3 ?9 j) R. \( ?                                                                                        嵌入式 Linux 對(duì)接星閃,用 C++ 設(shè)計(jì)一個(gè)通用的 AT 指令解析器。) `, [7 H- A+ k" c# E& t$ ]  e
                                                                                   
    2 C- d5 V; _6 J9 F- p( e                                                                       
    ) l3 M  f) q: u: C4 y  M                                                                ' ^, F& T* F1 C) V
                                                           
    : R6 ?# V5 @9 z, v4 `                                               
    ( h+ ~5 U; D$ {* D" w# p! X8 F$ ?# A2 J5 C
                                                           
    * C8 Z8 d- w7 m" c& g$ S                                                                3 e& G; D5 }5 \' c, f5 s6 y
                                                                           
    4 @2 L! H) A& m3 \$ l                                                                               
    0 I! G0 j$ s, a6 j2 Z4 |9 y
    - T% A. c6 l: T                                                                               
    5 z! l5 u% g/ d7 ^                                                                                        嵌入式 C 語(yǔ)言,為什么全局變量越少越好?7 s+ e% s- Q* S9 l
                                                                                    ( T9 g+ c2 {5 V* V. a
                                                                           
    0 O* X$ \! m. n. n2 ~+ C                                                               
    : Q6 k2 y6 O# s' P                                                       
    , R; x: i5 D7 O$ W* M) @5 |                                                我是老溫,一名熱愛(ài)學(xué)習(xí)的嵌入式工程師
    : S3 w6 O1 T6 e5 [關(guān)注我,一起變得更加優(yōu)秀!
  • 發(fā)表回復(fù)

    本版積分規(guī)則

    關(guān)閉

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


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