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

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

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

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

[復(fù)制鏈接]

450

主題

450

帖子

619

積分

二級會員

Rank: 2

積分
619
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 5 天前 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
我是老溫,一名熱愛學(xué)習(xí)的嵌入式工程師
( |3 R2 h  j# H! g. W" P: r# `+ C8 h關(guān)注我,一起變得更加優(yōu)秀!AAGUI介紹AAGUI是一個不依賴特定硬件、操作系統(tǒng)的跨平臺通用型GUI。+ n. f, X, w. w  Y
鏈接:https://gitee.com/QQ1159465634/aagui
$ v( b5 I* L2 ?5 _0 T# W使用MIT開源許可協(xié)議
& g- A/ [, L0 y( P) U
AAGUI采用C(兼容C89)與C++(兼容C++98)編寫,兼容位置無關(guān)。面向?qū)ο蟆肼暶魇、等特性使得AAGUI的應(yīng)用開發(fā)效率、可維護性都十分優(yōu)秀!& M# m# v' l( e4 C
優(yōu)雅的頁面管理機制使得AAGUI也能擁有開發(fā)出大型系統(tǒng)級多頁面UI應(yīng)用的能力!UI核心來源于對安卓的精簡移植,以及超低的內(nèi)存占用,終于在嵌入式MCU里也能實現(xiàn)類安卓的高級UI開發(fā)!
0 T1 q- L) X5 D- y
) y' u: w0 @# Q- r' F( J8 H: D2 F0 b5 z: M0 n
% u' X( V& w' D, w% A2 h4 x/ G
; f7 V+ o: |& C+ i- R) X9 h
軟件架構(gòu)
( ^6 h) S4 _( L) U  m文件夾是否開源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)。更多圖片
    , z0 k: C* g+ L9 ?1 E$ Z , n! s, j. T% |7 w2 `
    8 Q8 e$ \3 _9 k4 B
    # g- F% M0 X) m4 w
    7 e. `0 H3 p  t' Y5 ?5 C  q
    / p2 e  G: ]1 T

    % A3 y- A0 L- `5 A# u 8 |5 Q7 ]) c0 b

    ) H, l; s  Z: e9 b
    : b0 W' z1 w5 T. s$ N# l0 z 1 _. @( L# ]# s; C4 q
    ! P* z; C7 e& |- _: ?* q1 I" ]
    -END-% I' ^) t6 |1 u
    往期推薦:點擊圖片即可跳轉(zhuǎn)閱讀* @1 l% F2 k4 {
                                                           
    + c  e. s2 O2 o4 y! l' Q) |                                                               
    * `' `+ @6 G, q! x1 f                                                                       
    * x4 {4 f. {: \8 s% n& v                                                                                ) b+ B1 ^; |* ]& j, J. j$ X

    - o( r9 ]) V, Q9 w                                                                                % L0 g  u/ B( n% \
                                                                                            嵌入式大佬分享,簡單易用的開發(fā)工具及解決方案!5 k8 `; ?4 E4 J! C+ H
                                                                                   
    * {. z; B% b  ?/ P                                                                        % ^/ X; L6 X. Z7 @, D' C
                                                                   
    0 }+ r: H" s) h9 m                                                        ( b/ G$ }& K( U: Z6 E0 u) k
                                                   
    + u8 F' [! `0 @
    ( }, q7 H" r  p+ Q; L                                                        6 H/ C' |& z  n3 o3 F* g9 |
                                                                    8 j" d) b' n4 m* Y7 L9 ~
                                                                           
    ( }# r1 n8 U2 w+ |: m0 Y0 k- [                                                                                7 `- f1 u5 U/ }5 l7 a* r2 l7 W
    2 G& j% m) }$ v, N* q- s# i, G
                                                                                   
    1 P6 D2 K- f  |9 J                                                                                        嵌入式 Linux 對接星閃,用 C++ 設(shè)計一個通用的 AT 指令解析器。! j9 J; B& z" z8 N0 |3 S
                                                                                    " Y* E0 V/ [. o8 n
                                                                           
    1 f: s/ A0 T$ I3 x' i                                                               
    1 K2 I) I, E' e: c) m                                                       
    % E' O4 s8 ?  i# }$ P  B                                               
    6 c# n6 {0 Z3 t6 E$ j" W- m7 z4 G$ c) Y/ H
                                                           
    % {- N) L$ ^* q                                                                , O# }" C/ D  m5 y
                                                                           
    8 Z9 }. c1 p  s$ {9 U/ H, `" f                                                                               
    6 w4 H( S: A+ c* O9 a/ S$ A
    $ p1 |' ]9 ~/ i/ z$ @5 H0 |                                                                                ( p. T( O$ q0 Z2 f$ r. V! C
                                                                                            嵌入式 C 語言,為什么全局變量越少越好?
    ( T1 F  @2 e. r6 L% x4 \                                                                                8 p) p( Q4 L; G" n3 W
                                                                           
    & f. H# ^8 z5 x) E! G# [                                                               
    , F! g* G5 @7 G- b( j                                                       
    ( [8 v. q3 X* K; R+ X                                                我是老溫,一名熱愛學(xué)習(xí)的嵌入式工程師
      ?3 [2 M$ \' a) P關(guān)注我,一起變得更加優(yōu)秀!
  • 回復(fù)

    使用道具 舉報

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

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

    本版積分規(guī)則

    關(guān)閉

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


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