基於Ogre::Bites實現自己的GUI系統(4)--包含代碼下載地址

      今天搞定了EditBox.實現的原理就如昨天文章所說,每一行分別使用一個TextAreaOverlayElement來保存對應的文本.同時在判斷字體長度的時候,使用Ogre::DisplayString類的接口.目前看上去工作良好.本來還有計劃實現EditBox文本圖片混排的,思路都想好了,每一行使用一個OverlayContainer來保存,每一行的文本和對應的圖片是對應這個OverlayContainer的子成員.不過由於一些其他原因,這個打算放一放,以後再來處理.

      今天利用boost::bind 和boost::function實現了一個工廠模式,這個模式用在了OEGUIsystem創建Widget和Windows的過程當中.這個模式方便的地方在於,寫了一個子類之後,程序運行中調用一個宏就可以把這個類添加進工廠的創建功能中去,不用寫那些煩人的factory接口,以前的代碼沒有任何地方需要更改.有關這個方法的實現請看這裏.

      http://blog.csdn.net/moonstrace/archive/2010/03/24/5410287.aspx

      在這裏可以下載OEGUISystem的源代碼.

      http://download.csdn.net/source/2159543

      以下是OEGUISystem的使用示例(前面幾篇文章的示例代碼有些地方需要更改了).

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