2010-12-01 7 views
0

私はゲームのGUI APIを作っています。 1つの面を除いて非常にうまくいっています。テーマはGTKの仕組みと似ています。私がそれを働かせたいのは、すべてのGUI要素がWindows9Xのような描画方法を持つということです。テーマがそのタイプのウィジェットに設定されていることがわかった場合、それらのビットマップで描画されます。このデザイン問題のヘルプ

私の元のコンセプトは、ビットマップのゲッターとセッターを持つテーマクラスを作成することでした。例えば

themeManager.setButtonHover(Bitmap *bitmap); 

これに伴う問題は、私はウィジェットの新しいタイプを作成する場合、それはflexableないということです。最終的に、ボタンとは異なるテーマを使用するスーパーボタンを作成したいと思うかもしれません。これがそのコンセプトの欠陥です。私が考えているコンセプトは、各ウィジェットタイプにはテーマを設定するための静的メソッドがあり、そのコンストラクタはそれを使用するということです。

私が考えていないより良い方法がありますか?それはAPIなので、テキストファイルを読み込まないようにしたいので、テキストドキュメントからテーマを読むことは選択肢ではありません。

おかげ

答えて

0

ポリシーにsuperButtonを鋳型とし、デフォルト、ユーザーが別のポリシーを提供するオプションを持っていないデフォルトのポリシーを持つことができますか?ポリシーは、ボタンの属性(ホバーイメージなど)を定義することができます。

+0

oh ..あなたはこのアイデアを持って行くことにしましたか?それはうまくいったのですか? – Nim

関連する問題