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