bones ui

bones ui
一:簡介
bones ui 是自己開發的一個direct ui開源框架,支持xml,lua 以及一個類似css的簡單屬性描述器
之所以取名叫bones,是希望這套框架提供類似骨頭一樣的基礎元素來幫助UI程序員搭建出UI
整個UI的設計參考了網上找到的bolt 文檔以及chrome ui

a: 控件可以完全使用C++編寫 也可以 C++和lua混合編程,內部使用skia支持32位顏色ARGB
b: osr模式 提供了一副位圖,只需要把位圖繪製到窗口,並把窗口事件轉發給框架即可,由於沒有對窗口進行封裝,理論上可以嵌入到任何框架中使用
c: 源碼下載 https://github.com/bonescreater/bones 默認提供了dll編譯 使用時只要包含bones.h即可。如需靜態編譯直接改工程配置就行了 目前編譯還是很簡單的。
由於時間關係 到今年年底爲止不進行新功能的開發,接下來的幾個月打算一邊寫教程來測試功能整理思路,一邊搭建測試環境把該加的測試加上去,順便修復下bug,目前還缺少的功能有自動排版 拖放 矩陣變換, 預計明年年初開始慢慢增加這些功能

二:基礎知識
a:xml文件
bones支持使用xml文件來創建 ,一個框架能夠解析的xml文件如下:
這裏寫圖片描述
需要注意的是xml文件必須是utf-8編碼的。
Body下的每個節點支持3個屬性:id,group,class ,其中group 暫時無用
具體的描述將在內置標籤的講解中穿插進行

b:lua腳本
Bones支持使用lua腳本編程,腳本編程的好處就是編寫效率高,缺點就是調試不方便,不像C++有各種成熟的調試工具。 具體是使用C++還是lua 看個人的選擇。不會lua的人可以自學下花1個小時瞭解下基本概念還有條件語句之類的就差不多了。
Lua的教程網絡上多的是,而且非常簡單易學,這裏就不講如何使用lua了,同樣lua文件也必須是utf-8編碼

c:樣式表style
style 目前只支持以.開始的class名 不支持像css中以#開始的ID名等其他語法,在原先的設計中 xml lua style應該是跟html js css類似的:xml表述結構 lua 表示邏輯 style 表示外觀,但style的支持目前還比較弱,當前只能使用style來描述節點的位置和大小(還支持少量屬性)

d:教程
bones的教程打算從腳本開始,由於使用時必須先用C++創建出窗口而這部分交互將在教程的C++篇進行講解,爲了更快的從腳本入手,這裏先提供編譯好的exe和dll以及教程裏需要用到的xml,lua和圖片資源

http://download.csdn.net/detail/dalixux/9225851(已更新到list)

解壓後將sample.exe bones.dll複製到 xml所在的目錄下 點擊sample.exe運行即可
你也可以下載源碼,在sample目錄下的 panel.cpp中有具體如何交互的代碼。

腳本篇
一 內置標籤root
http://blog.csdn.net/dalixux/article/details/48830879
二 內置標籤image
http://blog.csdn.net/dalixux/article/details/48831007
三 模擬一個按鈕
http://blog.csdn.net/dalixux/article/details/48831049
四 擴展標籤
http://blog.csdn.net/dalixux/article/details/49019235
五 給按鈕增加響應焦點的外觀
http://blog.csdn.net/dalixux/article/details/49021777
六 內置標籤shape
七 內置標籤text
八 內置標籤scroller
http://blog.csdn.net/dalixux/article/details/49361879
九 實現一個簡單的滾動條
http://blog.csdn.net/dalixux/article/details/49362287
十 實現一個簡單的列表
http://blog.csdn.net/dalixux/article/details/49507983
十一 內置標籤richedit
十二 內置標籤 webview

C++篇(未想好)
……….

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章