我最終還是給GacUI專門申請了一個codeplex的項目主頁:
http://gac.codeplex.com。Vczh Library++ 3.0上面上傳的代碼大多是實驗產品,相比把GacUI也放在上面發布不太合適,所以開了一個新項目。新的項目使用MS-PL協議。MS-PL的協議跟BSD、MIT和Apache等協議幾乎是一樣的,除了“他人不得用MS-PL協議的代碼申請專利”。這是一個避免糾紛的好方法。
GacUI現在還沒全部完成。目前正在制作文檔和教程。文檔應該要么是html要么是pdf,教程會跟文檔合并到一起去。GacUI大體上還是能用,不過目前處于alpha狀態。
已經完成的功能有:
1、GDI和Direct2D渲染器
2、皮膚系統
3、各種基于MVVM模式設計的控件
4、可切換的窗口系統。我目前只提供了一個用Windows窗口做窗口骨架的provider,如果你們高興的話也可以去寫一個虛擬的,然后就可以選擇Direct2D渲染器,最后合并到游戲里面。
還沒完成的功能有:
1、按鍵操作。目前只有文本框接受按鍵,列表和菜單什么的還沒有,快捷鍵功能也還沒有。
2、基本對話框的支持。這個我應該不會自己做,而是使用API提供的打開保存文件對話框什么的。
3、更加高級的控件,譬如Ribbon、VisualStudio那樣子的Docking等等。
4、其它。
在這次完成基本的文檔和教程之后,將會繼續開發GacUI剩余的部分。
之前的實驗,讓我最終采用代碼方式來發布GacUI,并且用抓取PDB地方法,結合Visual C++提供的XML注釋來生成文檔的reference部分。GacUI雖然文件上百,不過我已經寫了一個代碼生成器,將他們合并成了3個h文件和2個cpp:Vczh Library++3.0的公共部分一個cpp;GacUI的部分一個cpp。這有利于我將來繼續提供腳本引擎或者其他東西,可以共享代碼一起編譯。現在使用GacUI,只需要將這5個文件添加進工程就好了。而且cpp只有兩個,所以如果項目使用預編譯頭(precompiled header)的話,給這兩個cpp分別加上#include "stdafx.h"也將十分簡單。
posted on 2012-03-24 02:31
陳梓瀚(vczh) 閱讀(4355)
評論(7) 編輯 收藏 引用 所屬分類:
GacUI