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

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

搜索
查看: 22|回復(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í)的嵌入式工程師
- b1 |+ A) B5 L; G  }關(guān)注我,一起變得更加優(yōu)秀!AAGUI介紹AAGUI是一個(gè)不依賴特定硬件、操作系統(tǒng)的跨平臺(tái)通用型GUI。
3 d6 u9 w  ^3 s* h& ~: A( Z/ T鏈接:https://gitee.com/QQ1159465634/aagui
) z7 y% I1 c$ [  a* L- L使用MIT開(kāi)源許可協(xié)議1 u1 _. o1 N$ K3 U2 i5 n
AAGUI采用C(兼容C89)與C++(兼容C++98)編寫,兼容位置無(wú)關(guān)。面向?qū)ο、半聲明式、等特性使得AAGUI的應(yīng)用開(kāi)發(fā)效率、可維護(hù)性都十分優(yōu)秀!
+ r- w! v2 y3 \( D優(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)類安卓的高級(jí)UI開(kāi)發(fā)!
. y' G2 [( T2 n4 c3 y* N. E  G" o, A / e% x4 U$ K. m+ r0 j

- H  I3 I8 x' z- t
1 q$ N' `, [: C( y: z% o 2 f, w1 Y; r0 V2 [: s
軟件架構(gòu) 8 \; D1 b& D* o3 T& ?- X5 g) `
文件夾是否開(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)。更多圖片
    . D$ \( s# o  k. h
    ; P: k% j. D: A; _0 a$ ^+ Z/ K% a+ P8 E; _. d

    ( ]3 i- B& t* ]2 u) H$ s9 |3 n # h; n2 T' v, H) d0 A

    + m  o$ [8 U$ P8 N9 M% U' s+ d

    1 l+ R  v( Y% C
    + k; D  T" w; j) Z- J+ H
    ( U6 H) L+ H+ ^( `" _8 y, e
    & e% L; f% _& c* P7 p% T0 Y) L2 D- I# g4 u9 U) _* w2 I+ I
    -END-5 }- A' @( J" J! U" }0 h1 ?
    往期推薦:點(diǎn)擊圖片即可跳轉(zhuǎn)閱讀9 P3 h- U. p6 r( _- V
                                                            ; N  u# |% Y; Q' l. b6 m5 I
                                                                    / ~* q5 F" d7 E4 w  s, J
                                                                            0 |8 f1 J6 f+ u- R" {5 |2 ]
                                                                                    4 ]& {& i/ C7 M4 x; |
    ! z/ _, ?3 D& w- I, y- y
                                                                                   
    % m' k$ M  s4 {. M( P' i                                                                                        嵌入式大佬分享,簡(jiǎn)單易用的開(kāi)發(fā)工具及解決方案!' ]: a5 a+ I8 o
                                                                                    . W% J0 @. v$ E0 G) w8 c: R
                                                                           
    " c/ X  _7 H) J- L                                                                + f5 p1 l7 L, A7 a
                                                           
    5 R9 V; W9 D( a: N1 r                                                , T8 j- W* y5 S1 }

    4 o+ i' {  c' f$ d" i; a3 j5 ?; Z" T                                                       
    0 U. K( L3 I( X9 m                                                               
    % p. x3 B, J: E- L8 L$ ]+ j                                                                          A# _% j* P- f. Q6 O) Q
                                                                                   
    . ?, ~2 Q" m* ?* A ' J8 T4 ^+ _% h. c2 X) b' A
                                                                                   
    ) l) B1 Z& _0 }  g* C9 w- P                                                                                        嵌入式 Linux 對(duì)接星閃,用 C++ 設(shè)計(jì)一個(gè)通用的 AT 指令解析器。
    7 P! w1 m$ b. z+ ~, ]2 y                                                                               
    . s) T# Z! V3 V5 R                                                                       
    ' |# _8 Z0 c! t0 q' p9 l* Z. g                                                                / G5 ]+ i  b, k. F1 M# k9 G
                                                           
    5 e$ g* h& [, E7 P; R* q6 M" B5 l                                                " n: g1 P+ T" }
    . y( D8 m. ]) ^+ L* Y1 W
                                                           
    ' D; a* M$ }# `                                                                " R, `. u! @: d7 t/ M  n
                                                                            + D2 G( O8 F; [+ v. I  E& [
                                                                                   
    : I+ Z. ^% Q- I1 ^9 ~ 1 ?8 ]) g/ b  D& C* b  Q
                                                                                    5 b: m; s; g4 V' L- [, ?; z
                                                                                            嵌入式 C 語(yǔ)言,為什么全局變量越少越好?
    ' V, r! n: D2 Z6 B, B/ Y                                                                               
    # u2 T; Y) ~% s- F8 F1 c                                                                       
    2 A) w3 M1 `! s; V2 A+ h: a                                                               
    ( ?6 p% L2 [4 h: o/ N9 q                                                       
    / R  r( u  |4 {! r) q- W                                                我是老溫,一名熱愛(ài)學(xué)習(xí)的嵌入式工程師
    ! v1 j: n; s  M7 B關(guān)注我,一起變得更加優(yōu)秀!
  • 發(fā)表回復(fù)

    本版積分規(guī)則

    關(guān)閉

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


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