2010-12-01 51 views
0

我正在製作遊戲GUI API。它除了一個方面外,還有很好的發展。我想要的主題類似於GTK的工作原理。我希望它能夠工作的方式是每個GUI元素都有一個類似於Windows9X的默認繪圖方式。如果發現爲該類型的小部件設置了主題,則會使用這些位圖來繪製該主題。幫助這個設計問題

我最初的想法是創建一個主題類,它將有位圖的getter和setter。

例如:

themeManager.setButtonHover(Bitmap *bitmap); 

的問題,這一點,是它是不是flexable如果我想創造新的類型的部件。我最終可能會想要創建一個超級按鈕,它將使用與按鈕不同的主題。這是這個概念的缺陷。我正在考慮的概念是每個控件類型都有靜態方法來爲自己設置主題,而構造函數使用它。

有沒有更好的方法做到這一點,我沒有想到?由於它是一個API,我想避免閱讀文本文件,因此從文本文檔中讀取主題不是一種選擇。

感謝

回答

0

可能是模板上政策的superButton,然後有一個默認策略這確實默認和用戶提供不同的政策選項?然後策略可以定義按鈕的屬性(如懸停圖像等) - 我所描述的是否有意義?

+0

哦..你選擇了這個想法嗎?它運作好嗎? – Nim 2010-12-05 20:59:29