日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

AWTK(Toolkit AnyWhere): 为嵌入式、手机和桌面开发的通用GUI【转】

發(fā)布時間:2023/12/13 综合教程 25 生活家
生活随笔 收集整理的這篇文章主要介紹了 AWTK(Toolkit AnyWhere): 为嵌入式、手机和桌面开发的通用GUI【转】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉自:https://blog.csdn.net/absurd/article/details/80958279

AWTK = Toolkit AnyWhere

AWTK是吸取了FTK和CanTK的精華,重新開發(fā)的GUI,計劃分以下幾個階段實施:

第一階段專注于嵌入式系統(tǒng),到達并超越TouchGfx/Embedded Wizard的功能。計劃在2018/9底完成。
第二階段用AWTK本身開發(fā)界面編輯器(或組態(tài)軟件IDE),從而驗證AWTK支持PC軟件開發(fā)的能力。計劃在2018年底完成。
第三階段支持Mobile應用程序開發(fā),這一步比較容易,因為在第一階段就是要把手機上的現(xiàn)代GUI推廣到傳統(tǒng)嵌入式系統(tǒng)中去。計劃在2019/3完成。
第四階段支持2D游戲開發(fā),把以前開發(fā)游戲引擎的經(jīng)驗融合到AWTK中,方便開發(fā)交互式的多媒體應用。計劃在2019/6完成。

最終目標:

支持開發(fā)嵌入式軟件。
支持開發(fā)Linux應用程序。
支持開發(fā)MacOS應用程序。
支持開發(fā)Windows應用程序。
支持開發(fā)Android應用程序。
支持開發(fā)iOS應用程序。
支持開發(fā)2D游戲。

其主要特色有:

小巧。在精簡配置下,不依賴第三方軟件包,僅需要8K RAM+32K FLASH即可開發(fā)一些簡單的圖形應用程序。

高效。采用臟矩形裁剪算法,每次只繪制和更新變化的部分,極大提高運行效率和能源利用率。

穩(wěn)定。通過良好的架構設計和編程風格、單元測試、動態(tài)(valgrind)檢查和Code Review保證其運行的穩(wěn)定性。

豐富的GUI組件。提供窗口、對話框和各種常用的組件(用戶可以配置自己需要的組件,降低對運行環(huán)境的要求)。

支持多種字體格式。內置位圖字體(并提供轉換工具),也可以使用stb_truetype或freetype加載ttf字體。

支持多種圖片格式。內置位圖圖片(并提供轉換工具),也可以使用stb_image加載png/jpg等格式的圖片。

緊湊的二進制界面描述格式。可以手工編輯的XML格式的界面描述文件,也可以使用Qt Designer設計界面,然后轉換成緊湊的二進制界面描述格式,提高運行效率,減小內存開銷。

支持主題并采用緊湊的二進制格式。開發(fā)時使用XML格式描述主題,然后轉換成緊湊的二進制格式,提高運行效率,減小內存開銷。

支持裸系統(tǒng),無需OS和文件系統(tǒng)。字體、圖片、主題和界面描述數(shù)據(jù)都編譯到代碼中,以常量數(shù)據(jù)的形式存放,運行時無需加載到內存。

內置agg/picasso/nanovg實現(xiàn)高質量的矢量動畫。

支持窗口動畫、控件動畫和滑動動畫等現(xiàn)代GUI常見特性。

支持國際化(Unicode、字符串翻譯和輸入法等)。

可移植。支持移植到各種RTOS和嵌入式Linux系統(tǒng),并通過SDL在各種流行的PC/手機系統(tǒng)上運行。

腳本化。從API注釋中提取API的描述信息,通過這些信息可以自動生成各種腳本的綁定代碼。

采用LGPL協(xié)議開源發(fā)布,在商業(yè)軟件中使用時無需付費。

目前核心功能已經(jīng)完成(還不具備應用到產(chǎn)品的水平),歡迎有興趣的朋友移植到各個RTOS。

模擬運行:

Mac

如果沒有安裝scons和sdl2,請在終端運行下面的命令(假定已安裝brew):

brew install scons sdl2

1

編譯運行(在終端下,進入awtk所在的目錄,并運行下列命令):

scons
./bin/demoui

1
2

Ubuntu

如果沒有安裝scons和libsdl2-dev,請在終端運行下面的命令:

sudo apt-get install scons libsdl2-dev

1

編譯運行(在終端下,進入awtk所在的目錄,并運行下列命令):

scons
./bin/demoui

1
2

Windows

(請先安裝scons和Visual Studio C++(版本>2012)

編譯運行(在命令行模式下,進入awtk所在的目錄,并運行下列命令):

scons
bindemoui

1
2

各個平臺的移植

stm32f103ze

stm32f429igtx

awtk-aworks-rt1052

文檔

1.使用文檔

AWTK控件的布局參數(shù)介紹
AWTK界面描述文件介紹
AWTK中的圖片顯示方式
AWTK中的矢量圖繪圖函數(shù)
AWTK中的事件處理函數(shù)
AWTK中的國際化之字符串翻譯
AWTK中的主題
AWTK中的資源管理器
AWTK中的窗口動畫
AWTK中的控件動畫
LCD旋轉(橫屏與豎屏)
AWTK中的輸入法

2.HowTos

如何在非GUI線程操作GUI控件

3.內部原理

AWTK腳本綁定的實現(xiàn)原理 - lua綁定

4.移植文檔

嵌入式平臺移植注意事項
將AWTK移植到STM32f103ze裸系統(tǒng)
將AWTK移植到STM32f429igtx裸系統(tǒng)
將AWTK移植到AWorks平臺

5.技術筆記

FrameBuffer的幾種使用方式
LCD接口的三種實現(xiàn)方式

任務完成情況

TODO.md

版權聲明:本文為博主原創(chuàng)文章,未經(jīng)博主允許不得轉載。 https://blog.csdn.net/absurd/article/details/80958279
文章標簽: GUI AWTK
個人分類: 游戲引擎/GUI的設計與實現(xiàn) 嵌入式GUI FTK

總結

以上是生活随笔為你收集整理的AWTK(Toolkit AnyWhere): 为嵌入式、手机和桌面开发的通用GUI【转】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。