接上文:http://www.shnenglu.com/gaimor/archive/2010/09/27/127900.html
第一篇是關(guān)于UI布局管理器的文章
本文主要說說引擎UI部分組件的問題
在這里UI組件是指UI中的各個(gè)基礎(chǔ)模塊而非UI控件也
在本引擎之中當(dāng)前UI組件有以下幾個(gè)基礎(chǔ)單元
1.UI_Widget UI控件的基類
2.UI_AbstractBorder UI控件邊框類
3.UI_AbstractLayouter UI布局管理器類
4.UI_Event/UI_EventHandler,UI_EventListerner UI事件處理家族
5.UI_Brush UI庫(kù)畫筆(當(dāng)前基于OpenGL)
6.UI_AbstractTheme UI庫(kù)控件主題
7.UI_ProptyScheme UI庫(kù)主題對(duì)象
8.UI_WidgetManager UI庫(kù)管理器
9.UI_Factory UI庫(kù)工廠對(duì)象
10.其他通用對(duì)象
以上所有對(duì)象構(gòu)成了UI庫(kù)的框架
下面說下各個(gè)部分的功能
1.UI_Widget UI基本控件 所有控件的基類
2.UI_AbstractBorder 控件控件對(duì)象邊框外觀
3.UI_AbstractTheme 控件主題
以上3著構(gòu)成所見控件外觀
每一個(gè)控件都有一個(gè)主題和邊框?qū)ο?br>所有同質(zhì)控件都采用統(tǒng)一的控件主題以保證統(tǒng)一的外觀
當(dāng)前UI_Border設(shè)計(jì)了2中 一種為線性邊框一種為狀態(tài)邊框
當(dāng)前主題設(shè)計(jì)了3中分別為簡(jiǎn)單主題,位圖主題和矩形主題
UI布局管理器上文已經(jīng)說過當(dāng)前不再贅述
UI事件處理這塊內(nèi)容比較多 下文說吧
UI畫筆的作用是繪制對(duì)象元素比如繪制線條,矩陣設(shè)置顏色等等很簡(jiǎn)單的咯
UI_PertptyShceme是一個(gè)控件主題的集合包含了所有控件類型的主題
在渲染控件的時(shí)候調(diào)用對(duì)等的主題繪制控件
控件管理器是UI庫(kù)的中樞
負(fù)責(zé)統(tǒng)一渲染隊(duì)列控件和調(diào)度輸入輸出事件
關(guān)于UI工廠則負(fù)責(zé)按名生成控件指針咯
我一直力圖把UI庫(kù)的實(shí)際簡(jiǎn)單化
但是總是做不到
而且越做越復(fù)雜的
注意當(dāng)前并沒有涉及腳本,
UI編輯器以及完成所有控件對(duì)象的開發(fā)
關(guān)于腳本我想采用得到腳本有l(wèi)ua,anglescrip或者自定義腳本
關(guān)于編輯器我想采用wxwidget or qt
雖然很慢但是我一直在努力 呵呵
下篇:UI設(shè)計(jì)概要3:UI消息