(57)【要約】【課題】グラフィックス画面設計時に実行時のプラットフォームを考慮する必要がなく、設計が容易でかつグラフィックス画面設計時に意図した通りの表示を行うことのできるグラフィックス表示装置を得る。【解決手段】後面描画部１０３は後面プレーンの描画情報を生成する。マスク生成部１０４は、後面描画部１０３の描画情報に応じてマスクを生成する。前面描画部１０５は、マスク生成部１０４で生成されたマスクを前面プレーンに適用する。これら後面プレーンと前面プレーンはプレーン合成部１０６で合成され、出力部１０７で表示される。【選択図】図１
2010152257.tif 000002
【特許請求の範囲】
【請求項１】
グラフィックス表示部品を後面プレーンに配置し、当該後面プレーンの描画情報を生成する後面描画部と、
前記後面描画部の描画情報に応じてマスク及び前記マスクのリストを生成するマスク生成部と、
グラフィックス表示部品を前面プレーンに配置し、当該前面プレーンの描画情報を生成すると共に、前記前面プレーンに前記マスクのリストに含まれる前記マスクを適用して、マスク部分を透過した前面プレーンの描画情報を生成し、前記後面描画部と描画領域を同一にする前面描画部と、
前記前面プレーンおよび前記後面プレーンの描画情報を合成した画面情報を生成するプレーン合成部と、
前記プレーン合成部が生成した画面情報を表示する出力部とを備えたことを特徴とするグラフィックス表示装置。
【請求項２】
マスク生成部は、マスク対象となるグラフィックス表示部品の前後の位置関係を表すマスクＩＤをマスクに付与し、
前面描画部は、前記マスクＩＤの値に基づいてマスクを適用することを特徴とする請求項１記載のグラフィックス表示装置。
【請求項３】
後面描画部とマスク生成部を組として前後関係を有する前記組を複数有し、
各後面描画部は、当該後面描画部より後ろにある後面描画部に対応するマスク生成部からマスクのリストを受け取った場合は、当該マスクを適用した後面プレーンの描画情報を生成し、
各マスク生成部は、生成したマスクを当該マスク生成部より前にある全ての後面描画部及び前面描画部に出力し、
プレーン合成部は、全ての後面描画部の後面プレーンの描画情報と前記前面描画部の前面プレーンの描画情報とを合成することを特徴とする請求項２記載のグラフィックス表示装置。
【請求項４】
後面描画部とマスク生成部を組として前後関係を有する前記組を複数有し、
各マスク生成部は、対応する後面描画部より一つだけ後ろにある後面描画部から出力されるマスクのリストを受け取った場合は、自マスク生成部が生成したマスクのリストと結合して、一つだけ前にある後面描画部または前面描画部に出力し、
各後面描画部は、当該後面描画部より一つだけ前の後面描画部に対応するマスク生成部からマスクのリストを受け取った場合は、当該マスクを自後面描画部の描画内容に適用した上で、当該後面描画部より一つだけ前にある後面描画部に対応するマスク生成部に出力し、
プレーン合成部は、全ての後面描画部の後面プレーンの描画情報と前記前面描画部の前面プレーンの描画情報とを合成することを特徴とする請求項２記載のグラフィックス表示装置。
【請求項５】
請求項１から請求項４のうちのいずれか１項記載のグラフィックス表示装置を用いたグラフィカルユーザインタフェース実行装置であって、
入力があった場合に当該入力をイベントに変換する入力部と、
前面描画部が保持しているマスクの内容に応じて前記イベントが発生したグラフィックス表示部品を特定するイベント判定部を備えたことを特徴とするグラフィカルユーザインタフェース実行装置。
【請求項６】
イベント判定部は、イベントが発生した座標値がマスクの透過部分であった場合に、当該マスクによって透過されるグラフィックス表示部品であると判定することを特徴とする請求項５記載のグラフィカルユーザインタフェース実行装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複数の描画プレーンを重畳してグラフィックス画面を表示するグラフィックス表示装置及びグラフィカルユーザインタフェース実行装置に関するものである。
【背景技術】
【０００２】
一般に、グラフィックス表示装置では、バックグランド面及び表面側に重ねられるフォアグランド面をそれぞれ別々に生成し、順次重ねてオンスクリーン画像を生成している（例えば、特許文献１参照）。これにより、バックグランド面やフォアグランド面を重畳する場合にバックグランド面やフォアグランド面を部品のように付加するだけでよく、改めて再描画することなくオンスクリーン画像を生成することができる。
【０００３】
【特許文献１】特開２００６−３０１０２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
グラフィックス画面を設計する段階では、Ｐｈｏｔｏｓｈｏｐ（登録商標）やＶｉｓｉｏ（登録商標）といった市販ツールや、グラフィックス画面設計用の専用ツールなどを用いてグラフィックス表示部品を作成したり、グラフィックス表示部品を画面上にレイアウトしたりする。このような設計段階では、論理的な無限のレイヤがあり、任意のレイヤに任意のグラフィックス表示部品を配置することができる。しかしながら、このようなグラフィックス表示部品を実機上に表示するグラフィックス表示装置においては、プラットフォームの制約により有限数のプレーンしかもたず、前述したレイヤはこれらの有限数のプレーン上に重畳して配置されることになる。
【０００５】
また、プラットフォームの事情によっては、特定のグラフィックス表示部品は特定のプレーンにしか配置できないことがある。例えば、映像ストリームを表示するグラフィックス表示部品は、映像をデコードしレンダリングできるプロセッサが管理するプレーンにしか配置できないことがある。また、ハードウェアが管理する特殊なカーソル部品は、カーソルを制御するプロセッサが管理するプレーンにしか配置できないことがある。このようなグラフィックス表示装置においては、プラットフォームの都合により、あるグラフィックス表示部品が実行時に特定のプレーンにしか配置できないことがある。この場合、後面のプレーンに配置されたグラフィックス表示部品は前面のプレーンに配置されたグラフィックス表示部品に遮蔽され見えなくなるため、グラフィックス画面設計段階では見えていたグラフィックス表示部品が、実機上での表示時に見えなくなることがあった。これを回避するためには、グラフィックス画面設計時にグラフィックス画面設計者が、実機上での表示時のプレーン状況を勘案した上で、当該部品が前面の部品に隠されるようであれば、当該部分が前面に透過されて見えるように、前面プレーンにおける透過処理を実施しておく必要がある。しかしながら、プラットフォームの都合を知らない設計者にはこのような作業は不可能であり、たとえ知っている設計者でも煩雑な作業を強いられることになる。また、プレーンの事情が異なるプラットフォームで同じグラフィックス画面を表示したい場合には、プラットフォーム毎に透過処理の変更が必要になり、煩雑な作業が要求されるといった問題点があった。
【０００６】
この発明は上記のような課題を解決するためになされたもので、グラフィックス画面設計時に実行時のプラットフォームを考慮する必要がなく、設計が容易でかつグラフィックス画面設計時に意図した通りの表示を行うことのできるグラフィックス表示装置及びグラフィカルユーザインタフェース実行装置を得ることを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係るグラフィックス表示装置は、グラフィックス表示部品を後面プレーンに配置し、後面プレーンの描画情報を生成する後面描画部と、後面描画部の描画情報に応じてマスク及びマスクのリストを生成するマスク生成部と、グラフィックス表示部品を前面プレーンに配置し、前面プレーンの描画情報を生成すると共に、前面プレーンにマスクのリストに含まれるマスクを適用して、マスク部分を透過した前面プレーンの描画情報を生成し、後面描画部と描画領域を同一にする前面描画部と、前面プレーンおよび後面プレーンの描画情報を合成した画面情報を生成するプレーン合成部とを備えたものである。
【発明の効果】
【０００８】
この発明のグラフィックス表示装置は、後面描画部の描画情報に応じてマスクを生成し、このマスクを前面プレーンに適用するようにしたので、グラフィックス画面設計時に実行時のプラットフォームを考慮する必要がなく、設計が容易でかつグラフィックス画面設計時に意図した通りの表示を行うことができる。
【発明を実施するための最良の形態】
【０００９】
実施の形態１．
図１は、この発明の実施の形態１によるグラフィックス表示装置を示す構成図である。
図において、グラフィックス表示装置は、後面プレーン格納部１０１、前面プレーン格納部１０２、後面描画部１０３、マスク生成部１０４、前面描画部１０５、プレーン合成部１０６、出力部１０７を備えている。なお後面描画部１０３と前面描画部１０５は描画領域が同一である。
【００１０】
後面プレーン格納部１０１は、後面描画部１０３が生成した後面プレーンの描画情報を記憶するメモリ領域である。前面プレーン格納部１０２は、前面描画部１０５が生成した前面プレーンの描画情報を記憶するメモリ領域である。後面描画部１０３は、後面プレーンに描画すべきグラフィックス表示部品情報１０３ａを有し、このグラフィックス表示部品情報１０３ａに基づいて後面の描画情報を生成し出力する機能部である。マスク生成部１０４は、後面描画部１０３が出力した描画情報に基づいてマスクのリストを生成し、前面描画部１０５に出力する機能部である。前面描画部１０５は、前面プレーンに描画すべきグラフィックス表示部品情報１０５ａを有し、このグラフィックス表示部品情報１０５ａに基づいて前面の描画情報を生成すると共に、マスク生成部１０４からのマスクのリストに基づいて描画情報にマスクを適用し、前面プレーン格納部１０２に出力するよう構成されている。なお、上記は、グラフィックス表示部品情報が、後面描画部、前面描画部の中に配置されると説明したが、グラフィックス表示部品情報を格納する別途表示部品データベースを設けても良い。この場合には、前面、後面描画部が、表示部品データベースから、必要なグラフィックス表示部品情報を取得するように構成する。
【００１１】
プレーン合成部１０６は、前面プレーン格納部１０２の内容と後面プレーン格納部１０１の内容とを、前記後面プレーン格納部の内容を後ろに、前記前面プレーン格納部の内容を前にして重畳して合成し、出力部１０７に出力する機能部である。出力部１０７は、ＣＲＴや液晶ディスプレイ等の表示装置を備え、プレーン合成部１０６の出力結果を受けて、これら表示装置に適合する映像信号に変換し、表示装置によって映像信号を可視化するよう構成されている。
【００１２】
尚、上記の後面描画部１０３〜プレーン合成部１０６および出力部１０７における映像信号の処理部分は、それぞれの機能に対応するソフトウェアと、これを実行するためのプロセッサやメモリ等のハードウェアから構成されている。また、後面プレーン格納部１０１及び前面プレーン格納部１０２は、ＶＲＡＭ等のメモリで構成されている。あるいは、これらの後面プレーン格納部１０１〜出力部１０７を専用のハードウェアで構成したり、ハードウェアで実現しにくい部分についてはソフトウェアで実現する等、ハードウェアとソフトウェアが混在した状態の実装であってもよい。
【００１３】
後面描画部１０３および前面描画部１０５におけるグラフィックス表示部品情報１０３ａ，１０５ａとは、それを配置すべき座標、幅、高さ、Ｚインデックスなどのプロパティを持っている。また、その部品が画面上に配置された場合にユーザの目に見える描画データを保持している。ここで、描画データとは、ビットマップデータ、画像ファイルのファイル名、ベクタデータ、３Ｄモデルデータ、矩形描画命令や線描画命令、あるいはそのプラットフォームが提供する地図描画命令などの描画命令の集合といったものである。画像ファイルは、一般的な画像ファイル形式（ｂｍｐ，ｔｉｆｆ，ｐｎｇ，ｇｉｆ，ｊｐｇ）であってもよいし、そのプラットフォーム独自の形式でもよい。
【００１４】
これらのグラフィックス表示部品情報１０３ａ，１０５ａは、メインメモリ上に配置されていてもよい。また、当該グラフィックス表示部品の描画を担当するプロセッサのキャッシュメモリ上に配置されていてもよい。マルチプロセッサシステムで共有メモリが存在する場合は、共有メモリ上にあってもかまわない。
【００１５】
後面プレーン格納部１０１および前面プレーン格納部１０２における後面プレーンおよび前面プレーン上のピクセルは、ＲＧＢ各々８ｂｉｔで構成される２４ｂｉｔのカラー値を持ち、更に後面の描画内容の透過度を示すアルファ値８ｂｉｔを持つことができる。
後面プレーン格納部１０１および前面プレーン格納部１０２は、メインメモリ、共有メモリ、ＶＲＡＭのどこに設けられていてもよい。また、ダブルバッファリング機構を持つプラットフォームであれば、オフスクリーンバッファやオンスクリーンバッファを用いてもよい。
【００１６】
また、以下に説明する各実施の形態では、ＲＧＢ色空間におけるＡＲＧＢ３２ｂｉｔカラーモデルを用いているが、その他のカラーモデルであってもよい。また、ＹＣｒＣｂやＹＰｒＰｂおよびその他のＹＵＶ、ＹＩＱ、ＣＭＹＫ色空間を用いるものであってもよい。
更に、マスク生成部１０４が生成するマスクリストはメインメモリ上に格納してもよいし、マルチプロセッサ環境であれば、共有メモリ領域に格納してもよい。更にはＶＲＡＭ上に格納してもよい。
【００１７】
次に、実施の形態１のグラフィックス表示装置の動作について説明する。
図２は、実施の形態１のグラフィックス表示装置における全体の動作を示すフローチャートである。
グラフィックス表示装置が起動すると、後面描画処理（ステップＳＴ２０１）に進む。次にマスク生成処理が実行される（ステップＳＴ２０２）。更に、前面描画処理が実行される（ステップＳＴ２０３）。次に合成処理が実行され（ステップＳＴ２０４）、更に、出力処理が実行される（ステップＳＴ２０５）。終了判定（ステップＳＴ２０６）にて、ＹＥＳでなければステップＳＴ２０１に戻る。
【００１８】
次に、図２の各ステップにおける処理の詳細を説明する。
図３は、図２のステップＳＴ２０１の後面描画処理のフローチャートである。
初期化処理（ステップＳＴ３０１）では、後面プレーンのメモリ領域に格納されている値を０にセットする。そして、マスク生成部１０４にマスク生成開始を通知する。グラフィックス表示部品ループ（ステップＳＴ３０２）はループの初端であり、部品取得処理（ステップＳＴ３０３）、部品描画処理（ステップＳＴ３０４）、マスク生成部１０４への出力処理（ステップＳＴ３０５）は、グラフィックス表示部品の数だけ、グラフィックス表示部品毎に一度だけ処理されるよう繰り返す。
【００１９】
部品取得処理（ステップＳＴ３０３）では、グラフィックス表示部品情報１０３ａを格納したメモリ領域から、グラフィックス表示部品情報１０３ａをＺインデックスが小さい順に取り出す。部品描画処理（ステップＳＴ３０４）では、表示すべき描画データが、グラフィックス表示部品情報１０３ａから後面プレーンに転送される。表示すべき描画データがビットマップデータであれば、グラフィックス表示部品情報１０３ａの表示座標から描画開始アドレスを算出し、そのアドレスからビットマップデータのバイト数だけビットマップデータの内容を転送する。描画データが、画像ファイル、ベクタデータ、ストリームなどあれば、必要に応じてファイルシステムから取得され、適切なデコーダにより描画イメージに変換され、後面プレーンに転送される。描画命令の集合であれば、予め定められた順序で描画命令を実行する関数を呼び出し、関数は適切なレンダラを呼び出し、レンダラは予め定められた方法で描画イメージを出力し、後面プレーンに転送する。マスク生成部への出力処理（ステップＳＴ３０５）では、部品描画処理（ステップＳＴ３０４）で転送する描画データを監視し、描画される部品毎に、その部品だけが描かれるプレーン一枚分のスナップショットを作成し、その部品のグラフィックス表示部品情報と共にマスク生成部１０４に出力する。
【００２０】
グラフィックス表示部品ループ（ステップＳＴ３０６）はループの終端であり、終了条件を満たしていなければ、ステップＳＴ３０２に戻る。そうでなければ、マスク生成部１０４に終了通知を出力し、後面描画処理を終了する。
【００２１】
図４は、図２におけるステップＳＴ２０２のマスク生成処理を示すフローチャートである。
マスク生成部１０４は、後面描画部１０３より開始通知を取得すると実行を開始する。描画内容取得処理（ステップＳＴ４０１）では、後面描画部１０３より描画データとそれに対するグラフィックス表示部品情報１０３ａを取得する。前面表示属性判定処理（ステップＳＴ４０２）では、当該描画内容に対するグラフィックス表示部品情報の前面表示属性の値が、前面かどうかの真偽値を取得する。ＹＥＳであれば、ステップＳＴ４０３に進む。ＮＯであれば、ステップＳＴ４０３はスキップしてステップＳＴ４０４に進む。マスク構築処理（ステップＳＴ４０３）ではマスク構築処理を実行するが、これについては図５を用いて後述する。マスク構築処理（ステップＳＴ４０３）で生成したマスクはリストとして管理される。既にリストに１要素以上含まれていれば、新たに構築したマスクは、リストの最後尾にリンクする。終了通知判定（ステップＳＴ４０４）では、前面描画部１０５から終了通知を受けたかどうかを判定する。ＹＥＳであれば、生成したマスクのリストを出力してマスク生成処理を終了する。ＮＯであれば、ステップＳＴ４０１の処理に戻る。
【００２２】
尚、本実施の形態では、後面描画部１０３で部品毎に描画を行い、その都度マスク生成部１０４にてマスクを生成している。このため、部品描画終了毎に後面描画部１０３からマスク生成部１０４に対して起動するための開始通知を送出するようにしている。但し、このような構成に限定されるものではなく、例えば、後面描画部１０３が部品の描画を全て完了した後、その全ての部品の情報をマスク生成部１０４に出力し、その時点でマスク生成部１０４がマスクを生成するようにしてもよい。
【００２３】
図５は、図４におけるステップＳＴ４０３のマスク構築処理のフローチャートである。
マスク領域確保処理（ステップＳＴ５０１）では、後面プレーンと同じピクセル数で、１ピクセルあたり１ｂｉｔ値を格納できる領域を確保する。インデックス初期化処理（ステップＳＴ５０２）では、変数indexの値を０にする。
マスクのピクセル数ループ（ステップＳＴ５０３）は、ループの初端であり、ステップＳＴ５０４からＳＴ５０７までの処理をマスクのピクセル数回繰り返す。以下、描画内容取得処理（ステップＳＴ４０１）で取得した描画データをimageの名前を持つ配列とみなす。image配列の各要素は、そのインデックスが指すピクセルのＡＲＧＢカラー値である。また、マスクの内容をmaskの名前を持つ配列とみなす。mask配列の各要素は、そのインデックスが指すピクセルの１ｂｉｔのマスク値である。両配列とも同じ数の要素をもつ。
描画データのピクセル値判定（ステップＳＴ５０４）では、image[index]の値が０かどうかを検査する。０であればステップＳＴ５０５に進む。そうでなければ、ステップＳＴ５０６に進む。
マスク非透過値設定処理（ステップＳＴ５０５）では、mask[index]の値を１にセットする。マスク透過値設定処理（ステップＳＴ５０６）では、mask[index]の値を０にセットする。インデックス値インクリメント処理（ステップＳＴ５０７）では、変数indexの値を一つだけインクリメントする。
【００２４】
マスクのピクセル数ループ（ステップＳＴ５０８）はループの終端であり、終了条件を満たしていなければ、ステップＳＴ５０３に戻る。そうでなければ、mask配列の内容を出力して終了する。
【００２５】
前記マスクでは、マスク上のピクセルの値を１と０の２値で表したが、透過度を示すアルファ値を格納するアルファ値マスクでもよい。８ｂｉｔのアルファ値を持つ場合、mask配列の１要素は８ｂｉｔとなる。この場合のステップＳＴ５０６におけるマスク透過値設定処理の内容は、index番目のピクセルのカラー値をimage[index]とし、そのピクセルのアルファ値をimage[index].aで示すとすると、index番目のマスク値は以下のようにする。
mask[image]=２５５−image[index].a
これは別のアルファ値算出式であってもよい。
【００２６】
図６は、図２のステップＳＴ２０３における前面描画処理のフローチャートである。
初期化処理（ステップＳＴ６０１）では、先ず、前面プレーンのメモリ領域に格納されている値を０にセットする。次に、マスク生成部１０４からマスクリストを取得する。次に、前面描画部１０５が保持しているグラフィックス表示部品情報１０５ａを取得し部品リストを生成する。
グラフィックス表示部品ループ（ステップＳＴ６０２）はループの初端であり、ステップＳＴ６０３〜ステップＳＴ６０４までの処理をステップＳＴ６０１の初期化処理で生成した部品リストの数だけ繰り返す。部品取得処理（ステップＳＴ６０３）では、部品リストからＺインデックスが小さい順にグラフィックス表示部品を取り出す。部品描画処理（ステップＳＴ６０４）では、表示すべき描画データが、グラフィックス表示部品情報１０５ａから前面プレーンに転送される。この描画データがビットマップデータであれば、グラフィックス表示部品情報１０５ａの表示座標から描画開始アドレスを算出し、そのアドレスからビットマップデータのバイト数だけビットマップデータの内容を転送する。描画データが、画像ファイル、ベクタデータ、ストリームなどであれば、必要に応じてファイルシステムから取得され、適切なデコーダにより描画イメージに変換され、前面プレーンに転送する。描画命令の集合であれば、予め定められた順序で関数を呼び出し、その関数は適切なレンダラを呼び出し、レンダラは予め定められた方法で描画イメージを出力し、前面プレーンに転送する。
【００２７】
グラフィックス表示部品ループ（ステップＳＴ６０５）はループの終端であり、終了条件を満たしていなければステップＳＴ６０２に戻る。そうでなければ、ステップＳＴ６０６に進む。マスクリスト要素ループ（ステップＳＴ６０６）はループの初端であり、ステップＳＴ６０１の初期化処理で取得したマスクリストの要素数だけ繰り返す。マスク適用処理（ステップＳＴ６０７）では、マスク適用処理を呼び出す。ステップＳＴ６０７のマスク適用処理については図７のフローチャートを用いて後述する。マスクリスト要素ループ（ステップＳＴ６０８）は、ループの終端であり、終了条件を満たしていなければ、ステップＳＴ６０６に戻る。そうでなければ、前面描画処理を終了する。
【００２８】
次にマスク適用処理を図７のフローチャートを用いて説明する。
インデックス初期化処理（ステップＳＴ７０１）では、変数indexの値を０に設定する。前面プレーンのピクセル数ループ（ステップＳＴ７０２）はループの初端であり、ステップＳＴ７０３，ＳＴ７０４をマスク内のピクセル数回繰り返す。
マスク値乗算処理（ステップＳＴ７０３）では、変数foreを、前面プレーンの現在の描画内容をピクセルの配列とみなしたものとする。fore配列の各要素は、そのインデックスが指すピクセルのＡＲＧＢカラー値である。また、maskと名づけた配列を、マスクの内容を配列とみなす。mask配列の各要素は、そのインデックスが指すピクセルの１ｂｉｔのマスク値である。そして、新しいfore[index]の値を、現在のfore[index]*mask[index]の値とする。即ち、mask[index]が０であれば、新しいfore[index]の値は０となる。一方、mask[index]の値が１であれば、新しいfore[index]の値は、現在の値と同じになる。インデックス値インクリメント処理（ステップＳＴ７０４）では、indexの値を１だけインクリメントする。前面プレーンのピクセル数ループ（ステップＳＴ７０５）はループの終端であり、終了条件を満たしていなければ、ステップＳＴ７０２に戻る。そうでなければ、マスク適用処理を終了する。
【００２９】
次に、マスクが８ｂｉｔアルファ値マスクであった場合のマスク値乗算処理を説明する。この場合、fore[index].aでそのindex値におけるアルファ値を、fore[index].r,fore[index].g,fore[index].bをそれぞれそのindex値におけるＲＧＢ値とすると、以下の式を適用する。
fore[index].a=fore[index].a*mask[index]/255
fore[index].r=fore[index].r*mask[index]/255
fore[index].g=fore[index].g*mask[index]/255
fore[index].b=fore[index].b*mask[index]/255
このブレンド式、アルファ値算定式は別のものに置き換えてもよい。
【００３０】
尚、マスク適用処理にて、特殊な効果を出したい場合には、ステップＳＴ７０１〜ステップＳＴ７０５のマスク適用処理にて、マスクに特殊効果をかけてもよい。例えば、初期化処理（ステップＳＴ７０１）にて、拡大・縮小、回転、あるいは、テクスチャパターンをマスクに適用したり、アーティスティックな効果を出すエフェクトをマスクに適用したりすることで、マスク処理後の前面プレーンの画像に特殊な効果をかけることもできる。また、アルファ値マスクの場合は、ステップＳＴ７０１にて、マスクの内容に対し０〜１の値を乗じることで、ぼかしなどの特殊な半透明効果を出すことができる。
【００３１】
図８は、図２のステップＳＴ２０４における合成処理のフローチャートである。
合成処理では、プレーン合成部１０６に接続されている全てのプレーンの合成を行う。プレーンの重畳関係は、後面プレーンが複数ある場合は、第ｎ番目から第ｎ−１番目、第ｎ−２番目と重畳され、第１番目の後面プレーンが重畳された上に、前面プレーンが重畳される。合成のプロセスは、重畳毎に、前にあるプレーンのピクセル値が１以上であれば、その値を出力し、前にあるプレーンのピクセル値が０であれば、後ろにあるプレーンの同じインデックス位置のピクセル値を出力する。これをすべてのピクセルに対して適用することで、マスクによりピクセル値が０になっているピクセル部分には、後ろのプレーンに描かれたグラフィックス表示部品が見え、それ以外は、前にあるプレーンに描かれたグラフィックス表示部品が見える画像が出力される。
【００３２】
プレーンがアルファチャネルを持っており、アルファ合成を許可する場合は、アルファ合成を行う。アルファ合成の式は、destを出力結果の配列、foreを前にあるプレーンのピクセル値、backを後ろにあるプレーンのピクセル値とし、α=fore[index].aとすると、
dest[index].a=(fore[index].a*α+back[index].a*(255-α))/255
dest[index].r=(fore[index].r*α+back[index].r*(255-α))/255
dest[index].g=(fore[index].g*α+back[index].g*(255-α))/255
dest[index].b=(fore[index].b*α+back[index].b*(255-α))/255
を用いる。尚、他のアルファ合成式、概算式を用いてもよい。
【００３３】
図９は、図２におけるステップＳＴ２０５の出力処理のフローチャートである。
映像信号変換処理（ステップＳＴ９０１）では、合成処理（ステップＳＴ２０４）の出力結果に対し、必要であればカラーモデル変換を施し、その上で映像信号に変換する。映像出力処理（ステップＳＴ９０２）では、ディスプレイデバイスが映像信号を視覚化する。
【００３４】
次に、本発明の実施の形態１によるグラフィックス表示装置において、各構成部が保持するデータおよび出力するデータの一例を説明する。
図１０は、後面描画部１０３が保持するグラフィックス表示部品情報１０３ａの例を示す。
後面描画部１０３には、例１００１、例１００２に示す２つのグラフィックス表示部品がグラフィックス表示部品情報１０３ａとして登録されている例である。それぞれの項目は次の値を示す。即ち、部品ＩＤは部品を識別するＩＤを示す。配置座標は、その部品を配置する開始座標を示す。Ｚインデックスは、その部品のＺインデックス値を示す。描画タイプは、その部品の表示内容が、画像ファイルなのか、描画命令なのか、ビットマップデータの配列なのかを示す。描画内容は、画像ファイルであれば、画像ファイルのファイル名を、描画命令ならば、描画関数の集合を、ビットマップデータであれば、そのデータの配列を格納する。前面表示属性は、本属性の属性値としては、前面、後面、ｄｅｆａｕｌｔがある。前面であれば、その部品がたとえ後面に配置されてしまった場合でも、前面から見えるようにしなければならないことを示している。即ち、マスク生成部１０４にて必ずマスク生成対象となる。後面であれば、マスク生成対象にならない。
【００３５】
例１００１の描画イメージを例１００３に、例１００２の描画イメージを例１００４に示す。これら描画イメージの例１００３，１００４では、白色部分が描画されていない（即ち、透明）部分を、網掛け部分が描画されている部分を示している。
【００３６】
図１１に、前面描画部１０５が保持するグラフィックス表示部品情報１０５ａの例を示す。
例１１０１に、登録されている一つのグラフィックス表示部品の例を示す。また、例１１０２に、例１１０１の描画イメージの例を示す。尚、例１１０１における各項目の値の意味や例１１０２については図１０の場合と同様である。
【００３７】
図１２に、後面描画部１０３が出力した画像の例１２０１を示す。
図１３に、マスク生成部１０４が出力したマスクの例１３０１を示す。
図１３において、黒色部分はマスク値が１の部分を、白色部分はマスク値が０の部分を示す。
【００３８】
図１４は、前面描画部１０５が出力した画像の例を示している。
図中、例１４０１は、マスク処理ステップの直前の画像の例を、また、例１４０２は、前面描画処理ステップの最終結果の画像の例を示す。例１４０２に示すように、マスク処理ステップにより、透過部分が生成されている。
【００３９】
図１５に、プレーン合成部１０６が出力した画像の例を示す。
マスク処理ステップにより透過した部分に、後面描画部１０３が出力した画像が透過して見えていることを示している。
【００４０】
以上のように、実施の形態１のグラフィックス表示装置によれば、
グラフィックス表示部品を後面プレーンに配置し、後面プレーンの描画情報を生成する後面描画部と、後面描画部の描画情報に応じてマスク及びマスクのリストを生成するマスク生成部と、グラフィックス表示部品を前面プレーンに配置し、前面プレーンの描画情報を生成すると共に、前面プレーンにマスクのリストに含まれるマスクを適用して、マスク部分を透過した前面プレーンの描画情報を生成し、後面描画部と描画領域を同一にする前面描画部と、前面プレーンおよび後面プレーンの描画情報を合成した画面情報を生成するプレーン合成部と、プレーン合成部が生成した画面情報を表示する出力部とを備えたので、グラフィックス画面設計者がグラフィックス画面設計する際に、実行時のプラットフォームの都合を知らなくてもグラフィックス画面設計を実施でき、またグラフィックス表示時にはグラフィックス画面設計者の当初の意図通りの表示を得ることができる。
【００４１】
実施の形態２．
実施の形態２は、マスク生成部１０４において、マスクＩＤを用いてマスク処理を行う点を特徴とするものであり、図面上の構成は実施の形態１と同様であるため、図１を援用して説明する。
実施の形態２のマスク生成部１０４は、マスク対象となるグラフィックス表示部品のＺインデックスの値を、グラフィックス表示部品の前後の位置関係を表すマスクＩＤとしてマスクに付与するよう構成されている。また、前面描画部１０５は、マスクを適用する場合、マスクＩＤに基づいて行うよう構成されている。これ以外の構成は実施の形態１と同様である。
【００４２】
次に、実施の形態２の動作について、実施の形態１とは異なる部分を中心に説明する。
図１６は、実施の形態２におけるマスク生成処理のフローチャートである。
これは図４におけるステップＳＴ４０２の前面表示属性判定処理を取り除き、代わりにステップＳＴ１６０１のマスクＩＤ付与処理を追加したものである。このステップＳＴ１６０１以外の部分については図４と同様であるため、対応する処理に同一ステップ番号を付してその説明を省略する。ステップＳＴ１６０１のマスクＩＤ付与処理では、生成したマスクに対して、そのマスク対象となったグラフィックス表示部品情報から、Ｚインデックス値を取得し、マスクのＩＤとして付与する。
【００４３】
図１７は、実施の形態２における前面描画部１０５における前面描画処理のフローチャートである。
図１７において、ステップＳＴ６０１，ＳＴ６０４，ＳＴ６０７は、図６の処理と同様であるため、ここでの説明は省略する。
部品・マスクリスト生成処理（ステップＳＴ１７０１）では、マスクリストのうちその対象となる部品の前面表示属性がdefaultのものを抽出し、部品リストと統合してリストを生成する。これをリスト１とする。そして、リスト１において、部品のＺインデックス値、マスクのマスクＩＤ値を比較して値が小さい順にソートする。すなわち、Ｚインデックス値が２の部品は、マスクＩＤ値が３のマスクよりも順序が前となる。また、マスクＩＤが４のマスクは、Ｚインデックス値が５の部品よりも順序が前となる。
また、マスクリストの中で、前面表示属性が前面のものを抽出し、マスクＩＤが小さい順にソートされたリストを生成する。これをリスト２とする。
【００４４】
リスト１の要素数ループ（ステップＳＴ１７０２）はループの初端であり、リスト１の要素数回ステップＳＴ１７０３〜ステップＳＴ６０４、ＳＴ６０７を繰り返す。部品・マスク取得処理（ステップＳＴ１７０３）では、マスクリスト１の先頭から順に取り出す。マスク判定処理（ステップＳＴ１７０４）では、部品・マスク取得処理（ステップＳＴ１７０３）で取得したものが、マスクかどうかを判定する。ＹＥＳであれば、マスク適用処理（ステップＳＴ６０７）へ、ＮＯであれば、部品描画処理（ステップＳＴ６０４）へ進む。リスト１の要素数ループ（ステップＳＴ１７０５）はループの終端であり、終了条件を満たしていなければ、ステップＳＴ１７０２に戻る。そうでなければ、ステップＳＴ１７０６に進む。
【００４５】
リスト２の要素数ループ（ステップＳＴ１７０６）はループの初端であり、リスト２の要素数回ステップＳＴ１７０７〜ＳＴ６０７を繰り返す。要素数が０であれば、ステップＳＴ１７０８に進む。部品・マスク取得処理（ステップＳＴ１７０７）では、マスクリスト２の先頭から順に取り出す。リスト２の要素数ループ（ステップＳＴ１７０８）はループの終端であり、終了条件を満たしていなければ、ステップＳＴ１７０６に戻る。そうでなければ、前面描画処理を終了する。
【００４６】
次に、本発明の実施の形態２によるグラフィックス表示装置において、各構成部が出力するデータについて説明する。
図１８に、後面描画部１０３が保持するグラフィックス表示部品情報１０３ａの例を示す。図中、例１８０１は、登録されている一つのグラフィックス表示部品の例であり、例１８０２は、例１８０１の描画イメージを示している。
図１９に、前面描画部１０５が保持するグラフィックス表示部品情報１０５ａの例を示す。図中、例１９０１、例１９０２は、登録されている２つのグラフィックス表示部品の例であり、例１９０３は例１９０１の描画イメージ、例１９０４は例１９０２の描画イメージを示している。
【００４７】
図２０に、後面描画部１０３が出力した画像の例２００１を示す。
図２１に、マスク生成部１０４が出力したマスクの例２１０１を示す。
図２１において、黒色部分はマスク値が１の部分を、白色部分はマスク値が０の部分を示す。
図２２に、前面描画部１０５が出力した画像の例を示す。例２２０１は、前面描画処理の最終結果の画像の例を示す。図示のように、マスク処理により、透過部分ができたことが示されている。また、三角形（例１９０１，１９０３）は、Ｚインデックスが３であり、マスクＩＤ＝２と比較して前面であることから、三角形部分は透過されない。
図２３に、プレーン合成部１０６が出力した画像の例を示す。
図示のように、マスク処理により透過した部分に、後面描画部１０３が出力した画像が透過して見えていることを示している。
【００４８】
以上のように、実施の形態２のグラフィックス表示装置によれば、マスク生成部は、マスク対象となるグラフィックス表示部品の前後の位置関係を表すマスクＩＤをマスクに付与し、前面描画部は、マスクＩＤの値に基づいてマスクを適用するようにしたので、各プレーン上でグラフィックス表示部品が複雑に重なっていても、グラフィックス画面設計者がグラフィックス画面設計時に定めた通りの表示を得られる。このため、より設計が容易でかつ意図した通りの表示を行うことができる。
【００４９】
実施の形態３．
実施の形態３は、前面描画部と描画領域を同じくする後面描画部を複数備え（第１後面描画部、第２後面描画部…第ｎ後面描画部）、第ｎ後面描画部を最も後ろの面とし、第ｎ−１後面描画部、第ｎ−２後面描画部、…、第１後面描画部、前面描画部の順に重畳して表示するグラフィックス表示装置における実施の形態である。それぞれの後面描画部に対しマスク生成部を一つずつ備える。また、それぞれのマスク生成部は、生成したマスクのリストを、前記マスク生成部が対応している後面描画部よりも前にある後面描画部の全てに出力し、かつ前面描画部にも出力するようにしたものである。
【００５０】
図２４は、本発明の実施の形態３によるグラフィックス表示装置を示す構成図である。ここでは、説明のため第１後面描画部、第２後面描画部の２つの後面描画部しか含めていないが、後面描画部はそれより多くても同様である。
図の装置は、第１後面プレーン格納部１０１ａ、第２後面プレーン格納部１０１ｂ、前面プレーン格納部１０２、第２後面描画部１０３ｂ、第１マスク生成部１０４ａ、プレーン合成部１０６、出力部１０７、第２マスク生成部１０８、第１後面描画部１０９、前面描画部１１０を備えている。
【００５１】
第１後面プレーン格納部１０１ａは、第１後面描画部１０９が生成する後面プレーンを、また、第２後面プレーン格納部１０１ｂは第２後面描画部１０３ｂが生成する後面プレーンを格納する記憶部であり、基本的な構成は実施の形態１，２の後面プレーン格納部１０１と同様である。また、前面プレーン格納部１０２、プレーン合成部１０６、出力部１０７は、実施の形態１，２と同様である。更に、第２後面描画部１０３ｂは、実施の形態１の後面描画部１０３と同様の構成である。また、第１マスク生成部１０４ａの基本的な機能は、実施の形態２のマスク生成部１０４と同様であるが、第１後面描画部１０９の出力に対してマスク生成を行う点が異なっている。
【００５２】
第２マスク生成部１０８は、第２後面描画部１０３ｂが出力した描画情報とそれに対するグラフィックス表示部品情報に基づいて、実施の形態２のマスク生成部１０４と同様な手法でマスクを生成し、その出力を第１後面描画部１０９と前面描画部１１０に出力するよう構成されている。即ち、実施の形態３では、第１マスク生成部１０４ａと第２マスク生成部１０８とが前面描画部１１０に対して、生成したマスクを出力するよう構成されている。第１後面描画部１０９は、より後ろにある後面描画部に対応するマスク生成部からマスクのリストを受け取った場合は、第１後面描画部１０９が保持するグラフィックス表示部品情報に基づいて描画情報の生成を行うとともに、前記受け取ったマスクのリストに基づいてマスク適用処理を行った上で、対応する第１後面プレーンに描画情報を出力するよう構成されている。また、前面描画部１１０は、自身が保持するグラフィックス表示部品情報に基づいて描画情報の生成を行うと共に、第１マスク生成部１０４ａと第２マスク生成部１０８が生成したマスクに基づいてマスク適用処理を行うよう構成されている。
尚、図中、第２後面描画部１０３ｂ、第１後面描画部１０９、前面描画部１１０は、それぞれグラフィックス表示部品情報を保持しているが、その図示については省略している。
【００５３】
次に、実施の形態３のグラフィックス表示装置の動作について説明する。
先ず、第２後面描画部１０３ｂ、第２後面プレーン格納部１０１ｂおよび第２マスク生成部１０８の動作については、実施の形態２の後面描画部１０３、後面プレーン格納部１０１およびマスク生成部４０１の動作と同様である。即ち、第２マスク生成部１０８は、図１６のフローチャートに示した動作と同様にマスクＩＤを付与する。そして、第１後面描画部１０９は、自身の部品描画を行って第１後面プレーン格納部１０１ａに出力すると共に、第２マスク生成部１０８からのマスク生成結果に基づいてマスク処理を行う。
【００５４】
図２５は、第１後面描画部１０９の動作を示すフローチャートである。
図２５において、ステップＳＴ３０５の処理以外は図１７のフローチャートに示した前面描画処理と同様の処理である。即ち、第１後面描画部１０９では、第２マスク生成部１０８のマスクを取得しつつ描画を行って後面プレーンの描画情報として出力すると共に、ステップＳＴ３０５にて描画内容を第１マスク生成部１０４ａに出力する。ここでのステップＳＴ３０５の処理は、実施の形態１における図３のフローチャート中のステップＳＴ３０５の処理と同様である。また、それと共に、第１マスク生成部１０４ａに対して終了通知を出力する。
【００５５】
第１マスク生成部１０４ａでは、実施の形態２におけるマスク生成部１０４と同様のマスク生成処理を行って前面描画部１１０に出力する。前面描画部１１０では、第１マスク生成部１０４ａと第２マスク生成部１０８とから出力されたマスクに基づいて、図１７に示したような実施の形態２の前面描画部１０５と同様の処理を行い、前面プレーンの描画情報を生成する。そして、プレーン合成部１０６では、第１後面プレーン格納部１０１ａ、第２後面プレーン格納部１０１ｂおよび前面プレーン格納部１０２に格納されたそれぞれのプレーンを合成する。
【００５６】
尚、上記実施の形態３では、後面描画部とマスク生成部とを２段としたが、３段以上設けてもよい。
【００５７】
以上のように、実施の形態３のグラフィックス表示装置によれば、後面描画部とマスク生成部との組を複数有し、各後面描画部は、より後ろにある後面描画部に対応するマスク生成部からマスクのリストを受け取った場合は、後面描画部が保持するグラフィックス表示部品情報に基づいた描画情報にマスクを適用した描画情報を生成して対応する後面プレーンに出力し、各マスク生成部は、生成したマスクのリストをより前面にある後面描画部と前面描画部に出力し、プレーン合成部は、全ての後面描画部の後面プレーンの描画情報と前面描画部の前面プレーンの描画情報とを合成するようにしたので、実施の形態２のグラフィックス表示装置で得られる効果を保ったままプレーンを多段にすることができ、プレーン数を無数に増やすことができるという効果が得られる。
【００５８】
実施の形態４．
実施の形態４は、後面描画部とマスク生成部との組を複数組備え、各後面描画部は、一つだけ後ろにある後面描画部に対応するマスク生成部からマスクのリストを受け取った場合は、そのマスクのリストを自身の描画内容に適用した上で、前記後面描画部より一つだけ前にある後面描画部に対応するマスク生成部に出力し、各マスク生成部は対応する後面描画部より一つだけ後ろにある後面描画部からマスクのリストを受け取った場合は自マスク生成部で生成したマスクのリストと統合して一つだけ前にある後面描画部または前面描画部に出力するようにしたものである。
【００５９】
図２６は、本発明の実施の形態４によるグラフィックス表示装置の構成図である。
図の装置は、第１後面プレーン格納部１０１ａ、第２後面プレーン格納部１０１ｂ、前面プレーン格納部１０２、第２後面描画部１０３ｂ、第２マスク生成部１０４ｂ、前面描画部１０５、プレーン合成部１０６、出力部１０７、第１後面描画部１１１、第１マスク生成部１１２を備えている。
【００６０】
第１後面描画部１１１は、第２マスク生成部１０４ｂから出力されたマスクを自身の描画内容に適用して第１後面プレーン格納部１０１ａに格納すると共に、マスクリストを第１マスク生成部１１２に出力するよう構成されている。第１マスク生成部１１２は、第１後面描画部１１１から受け取った描画内容に基づいてマスクを生成すると共に、生成したマスクと第１後面描画部１１１から受け取ったマスクリストとを統合して前面描画部１０５に出力するよう構成されている。また、第２後面描画部１０３ｂは、実施の形態３の第２後面描画部１０３ｂと同様であり、第２マスク生成部１０４ｂは、実施の形態２のマスク生成部１０４と同様の機能を有している。それ以外の構成は実施の形態２と同様である。尚、図中、第２後面描画部１０３ｂ、第１後面描画部１１１、前面描画部１０５は、それぞれグラフィックス表示部品情報を保持しているが、その図示については省略している。
【００６１】
次に、実施の形態４のグラフィックス表示装置の動作について説明する。
先ず、第２後面描画部１０３ｂ、第２後面プレーン格納部１０１ｂおよび第２マスク生成部１０４ｂの動作については、実施の形態２の後面描画部１０３、後面プレーン格納部１０１およびマスク生成部４０１の動作と同様である。即ち、第２マスク生成部１０４ｂは、図１６のフローチャートに示した動作と同様にマスクＩＤを付与する。そして、第１後面描画部１１１は、自身の部品描画を行って第１後面プレーン格納部１０１ａに出力すると共に、第２マスク生成部１０４ｂからのマスクリストに基づいてマスク処理を行う。
【００６２】
図２７は、第１後面描画部１１１のフローチャートである。
図２７において、ステップＳＴ２７０１の処理以外は図１７のフローチャートに示した前面描画処理と同様の処理である。即ち、第１後面描画部１１１では、描画処理とマスク適用処理が終了すると、ステップＳＴ２７０１において、リスト１のグラフィックス表示部品の内容の全てと、リスト１とリスト２に含まれるグラフィックス表示部品の描画内容およびマスクの全てを、一つだけ前にある第１後面描画部に対応する第１マスク生成部１１２へ出力する。
【００６３】
次に、第１マスク生成部１１２の動作について説明する。
図２８は、第１マスク生成部１１２による第１マスク生成処理のフローチャートである。
ここで、基本的な動作の流れは実施の形態２における図１６のフローチャートで示した流れと同様であるが、ステップＳＴ２８０１とステップＳＴ２８０２の処理が異なっている。即ち、ステップＳＴ２８０１では、マスクＩＤと共に前面表示属性の値も含め、マスク属性として付与する。また、ステップＳＴ２８０２では、自身のマスク生成処理ステップで生成したマスクと、一つだけ後ろにある描画部である第１後面描画部１１１から取得したマスクリストとを結合し、一つだけ前にある描画部である前面描画部１０５に出力する。
【００６４】
尚、上記実施の形態４では、第１後面描画部１１１は、第２マスク生成部１０４ｂが出力するマスクをそのまま第１マスク生成部１１２に出力しているが、前面描画部１０５が格納するグラフィックス表示部品情報を予め知っているのであれば、前面描画部１０５で適用されることがないマスクをここで削除してもよい。これにより、前面描画部におけるマスク処理のための処理量を削減することができる。
【００６５】
また、より前にある後面描画部や前面描画部における描画内容を知ることができれば、途中の描画部においてより前にある後面描画部や前面描画部に出力して意味があるかどうかを判断することで、マスクの数を削減することができる。例えば、より前にある後面描画部や前面描画部で描画すべき全てのグラフィックス表示部品のＺインデックス値が、当該マスクのＩＤよりも大きい場合、当該マスクをより前にある描画部に配送したとしてもマスク処理ステップにおいて適用されることはない。このような場合には、当該マスクを、より前にある後面描画部や前面描画部に出力しないようにすることで、処理量を減らし全体の性能を向上させることができるという効果が得られる。
【００６６】
尚、実施の形態４では、後面描画部とマスク生成部とを２段としたが、３段以上設けてもよい。
【００６７】
以上のように、実施の形態４のグラフィックス表示装置によれば、後面描画部とマスク生成部とを複数有し、各マスク生成部は、一つだけ後ろにある後面描画部から出力されるマスクのリストを受け取った場合は、自マスク生成部が生成したマスクのリストと結合して、一つだけ前にある後面描画部または前面描画部に出力し、各後面描画部は、一つだけ後ろの後面描画部に対応するマスク生成部からマスクのリストを受け取った場合は、マスクを自後面描画部の描画内容に適用した上で、一つだけ前にある後面描画部に対応するマスク生成部に出力し、プレーン合成部は、全ての後面描画部の後面プレーンの描画情報と前面描画部の前面プレーンの描画情報とを合成するようにしたので、実施の形態２のグラフィックス表示装置で得られる効果を保ったままプレーンを多段にすることができ、プレーン数を無数に増やすことができるという効果が得られる。
【００６８】
実施の形態５．
実施の形態５は、上記実施の形態１から４のうちのいずれかのグラフィックス表示装置を用いてグラフィカルユーザインタフェース実行装置を構成したものである。
図２９は、実施の形態５のグラフィカルユーザインタフェース実行装置の構成図である。
図示のグラフィカルユーザインタフェース実行装置は、後面プレーン格納部１０１、前面プレーン格納部１０２、後面描画部１０３、マスク生成部１０４、前面描画部１０５、プレーン合成部１０６、出力部１０７と、ユーザ入力部１１３、イベント判定部１１４を備えている。ここで、後面プレーン格納部１０１〜出力部１０７は、実施の形態１の構成であるため、対応する部分に同一符号を付してその説明を省略する。
【００６９】
ユーザ入力部１１３は、ユーザから入力があった場合は、これをイベントとして変換しイベント判定部１１４に送出するユーザインタフェースである。即ち、入力を受け取ると、それを適切なイベントに変換し、それが発生した座標値と共に出力する。尚、入力としては、例えば、タッチパネルでのタッチ、マウスクリック、視線入力、ジェスチャー入力などである。イベント判定部１１４は、ユーザ入力部１１３からのイベント入力があった場合、前面描画部１０５が保持するマスクの内容を用いて、イベントが発生したグラフィックス表示部品を特定するよう構成されている。即ち、イベント判定部１１４は、入力が発生した座標を受け取り、その座標が、前面描画部１０５が描画するグラフィックス表示部品が存在する座標であれば、そのグラフィックス表示部品に対してユーザが入力を行ったと判定する。そうではない場合、前面描画部１０５が保持するマスクリストの最後尾から（Ｚインデックス値が大きい方から）マスクを抽出し、当該座標部分のマスク値が０であるマスクを探す。見つかれば、そのマスクに対応するグラフィックス表示部品に対してユーザが入力を行ったと判定する。
【００７０】
次に、実施の形態５のグラフィカルユーザインタフェース実行装置の動作について説明する。
図３０は、イベント判定部１１４におけるイベント判定処理のフローチャートである。
イベント座標取得処理（ステップＳＴ３００１）では、ユーザ入力部１１３よりイベントが発生した座標値を取得する。前面判定処理（ステップＳＴ３００２）では、当該座標に前面に描画すべきグラフィックス表示部品が存在するかどうかを判定する。ＹＥＳであれば、ステップＳＴ３００８に進む。そうでなければステップＳＴ３００３に進む。
マスクリスト取得処理（ステップＳＴ３００３）では、前面描画部１０５よりマスクのリストを取得する。マスクリストの要素ループ（ステップＳＴ３００４）はループの初端であり、マスクの要素数分だけループを開始する。マスク取得処理（ステップＳＴ３００５）では、リストの末尾からマスクを取得する。座標判定処理（ステップＳＴ３００６）では、前記の座標値が、マスクの中のマスク値が０の部分に該当するかどうかを判定する。該当すればステップＳＴ３００８に進む。そうでなければステップＳＴ３００７に進む。
【００７１】
部品特定処理（ステップＳＴ３００８）では、判定したマスクに対応するグラフィックス表示部品に対しイベントが発せられたものと特定する。必要であれば、そのグラフィックス表示部品に対し、表示内容を更新するなど予め定められた処理を行うよう指示を与えることもできる。マスクの要素ループ（ステップＳＴ３００７）はループの終端であり、終了条件を満たしていれば終了する。そうでなければ、ステップＳＴ３００４に戻る。
【００７２】
尚、図２９に示した例は実施の形態１のグラフィックス表示装置に対してユーザ入力部１１３とイベント判定部１１４とを付加した例であるが、実施の形態２〜４のいずれかのグラフィックス表示装置を用いてもよい。
【００７３】
以上のように、実施の形態５のグラフィカルユーザインタフェース実行装置によれば、実施の形態１から実施の形態４のうちのいずれかのグラフィックス表示装置を用い、入力があった場合に入力をイベントに変換する入力部と、前面描画部が保持しているマスクの内容に応じてイベントが発生したグラフィックス表示部品を特定するイベント判定部を備えたので、ユーザからの入力が発生した際に、それがどのグラフィックス表示部品に対して入力が発生したのかを前面描画部で一元的に管理されたマスクから判断できるため、イベント処理のための処理量を減らすことができ、ユーザからの入力に俊敏に対応できるようになるという効果が得られる。
【００７４】
また、実施の形態５のグラフィカルユーザインタフェース実行装置によれば、イベント判定部は、イベントが発生した座標値がマスクの透過部分であった場合に、マスクによって透過されるグラフィックス表示部品であると判定するようにしたので、容易かつ的確に入力が発生したグラフィックス表示部品を認識することができる。
【図面の簡単な説明】
【００７５】
【図１】本発明の実施の形態１によるグラフィックス表示装置を示す構成図である。
【図２】本発明の実施の形態１によるグラフィックス表示装置の動作を示すフローチャートである。
【図３】本発明の実施の形態１による後面描画処理のフローチャートである。
【図４】本発明の実施の形態１によるマスク生成処理のフローチャートである。
【図５】本発明の実施の形態１によるマスク構築処理のフローチャートである。
【図６】本発明の実施の形態１による前面描画処理のフローチャートである。
【図７】本発明の実施の形態１によるマスク適用処理のフローチャートである。
【図８】本発明の実施の形態１による合成処理のフローチャートである。
【図９】本発明の実施の形態１による出力処理のフローチャートである。
【図１０】本発明の実施の形態１による後面描画処理部が保持するグラフィックス表示部品の情報と描画イメージの例を示す説明図である。
【図１１】本発明の実施の形態１による前面描画処理部が保持するグラフィックス表示部品の情報と描画イメージの例を示す説明図である。
【図１２】本発明の実施の形態１による後面描画処理部の描画結果イメージの例を示す説明図である。
【図１３】本発明の実施の形態１によるマスク生成部の出力結果イメージの例を示す説明図である。
【図１４】本発明の実施の形態１による前面描画部の描画イメージの例を示す説明図である。
【図１５】本発明の実施の形態１による合成部の出力描画イメージの例を示す説明図である。
【図１６】本発明の実施の形態２によるマスク生成処理のフローチャートである。
【図１７】本発明の実施の形態２による前面描画処理のフローチャートである。
【図１８】本発明の実施の形態２による後面描画処理部が保持するグラフィックス表示部品の情報と描画イメージの例を示す説明図である。
【図１９】本発明の実施の形態２による前面描画処理部が保持するグラフィックス表示部品の情報と描画イメージの例を示す説明図である。
【図２０】本発明の実施の形態２による後面描画処理部の描画結果イメージの例を示す説明図である。
【図２１】本発明の実施の形態２によるマスク生成部の出力結果イメージの例を示す説明図である。
【図２２】本発明の実施の形態２による前面描画部の描画イメージの例を示す説明図である。
【図２３】本発明の実施の形態２による合成部の出力描画イメージの例を示す説明図である。
【図２４】本発明の実施の形態３によるグラフィックス表示装置を示す構成図である。
【図２５】本発明の実施の形態３による後面描画処理のフローチャートである。
【図２６】本発明の実施の形態４によるグラフィックス表示装置を示す構成図である。
【図２７】本発明の実施の形態４による後面描画処理のフローチャートである。
【図２８】本発明の実施の形態４によるマスク生成処理のフローチャートである。
【図２９】本発明の実施の形態５によるグラフィカルユーザインタフェース実行装置を示す構成図である。
【図３０】本発明の実施の形態５によるイベント判定処理のフローチャートである。
【符号の説明】
【００７６】
１０１  後面プレーン格納部、１０１ａ  第１後面プレーン格納部、１０１ｂ  第２後面プレーン格納部、１０２  前面プレーン格納部、１０３  後面描画部、１０３ａ  グラフィックス表示部品情報、１０３ｂ  第２後面描画部、１０４  マスク生成部、１０４ａ  第１マスク生成部、１０４ｂ  第２マスク生成部、１０５，１１０  前面描画部、１０５ａ  グラフィックス表示部品情報、１０６  プレーン合成部、１０７  出力部、１０８，１１２  第２マスク生成部、１０９，１１１  第１後面描画部、１１３  ユーザ入力部（入力部）、１１４  イベント判定部。
【図１】
2010152257.tif 000003
【図２】
2010152257.tif 000004
【図３】
2010152257.tif 000005
【図４】
2010152257.tif 000006
【図５】
2010152257.tif 000007
【図６】
2010152257.tif 000008
【図７】
2010152257.tif 000009
【図８】
2010152257.tif 000010
【図９】
2010152257.tif 000011
【図１０】
2010152257.tif 000012
【図１１】
2010152257.tif 000013
【図１２】
2010152257.tif 000014
【図１３】
2010152257.tif 000015
【図１４】
2010152257.tif 000016
【図１５】
2010152257.tif 000017
【図１６】
2010152257.tif 000018
【図１７】
2010152257.tif 000019
【図１８】
2010152257.tif 000020
【図１９】
2010152257.tif 000021
【図２０】
2010152257.tif 000022
【図２１】
2010152257.tif 000023
【図２２】
2010152257.tif 000024
【図２３】
2010152257.tif 000025
【図２４】
2010152257.tif 000026
【図２５】
2010152257.tif 000027
【図２６】
2010152257.tif 000028
【図２７】
2010152257.tif 000029
【図２８】
2010152257.tif 000030
【図２９】
2010152257.tif 000031
【図３０】
2010152257.tif 000032