GUI モジュールの作成

概要

画面描画を簡単に行えるような仕組みを検討し、実装します。


詳細

まず、画像リソースをラップしたものをサーフェスと呼ぶことにします。また、サーフェスを指定した位置に描画したり、ボタンとして扱う仕組みは、コンポーネントと呼ぶことにします。

また、コンポーネントを保持し、順番に描画する仕組みをレイヤーと呼ぶことにします。これらは、以下のように使います。

// レイヤーへのコンポーネント登録
Surface* text_surface = TextSurface(font, "hello");
Component* label = Label(text_surface);
layer.push_front(label);

// レイヤーの再描画
layer.draw(); 

また、ユーザ入力は全てのコンポーネントに渡すことにし、ユーザ入力を利用するかどうかは、各コンポーネントの責任とします。

この枠組みを使うことで、しばらく表示させておきたいコンポーネントを登録しておき、繰り返し再描画する、といった使い方が可能です。
この仕組みを使ったサンプルは、

となっています。
また、各 GUI コンポーネントの作成時に書き出した仕様は以下から参照できます。


コメントページ



Generated on Mon May 18 11:11:10 2009 by  doxygen 1.5.7.1