説明

ヒットテスト装置及びヒットテスト方法

【課題】演算量を低減させ、高速でヒットテスト処理を実現する。
【解決手段】ヒットテスト装置10は、表示画面上に表示中のオブジェクトデータを表示階層の順にソートし、ソートされたオブジェクトデータ毎にそれぞれ異なる色情報を関連付けるオブジェクト・色関連付け部12と、関連付けられたオブジェクトデータと色情報に基づき、その色情報に対応した色のオブジェクトを表示階層の下から順にヒットテストプレーンに描画する。描画されたヒットテストプレーン上の色情報を読み出すオブジェクト・色読み出し部14と、オブジェクト・色関連付け部12で関連付けられたオブジェクトデータと色情報から、オブジェクト・色読み出し部14で読み出した色情報に関連付けられたオブジェクトデータを検索し、当該検索結果のオブジェクトデータを選択されたオブジェクトとして決定するオブジェクト検索部15とを備えた。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、表示画面上に表示されているオブジェクトを選択するヒットテスト装置及びヒットテスト方法に関するものである。
【背景技術】
【0002】
コンピュータなどにおける表示画面上で、マウスやタッチパネルなどの選択装置により表示画面上のアイコンや図形などのオブジェクトを選択するヒットテスト方法としてピック処理を用いる方法がある。ピック処理では、選択場所を示す座標が各オブジェクトの外接矩形内に含まれるかどうかを判定する処理が行われる。
例えば特許文献1のピック処理によれば、各オブジェクトの外接矩形を演算し、表示画面上の選択場所を示す矩形とオブジェクトの外接矩形との重なり状態を算出して重なり具合を判定し、2つの矩形が重なった場合、選択場所を示す矩形に対応したビットマップを作成し、重なった外接矩形に対応するオブジェクトをビットマップに書き込み、そのビットマップの変化を確認することでオブジェクトを選択したかを判定する方法が開示されている。この方法だと、ビットマップにnビットを割り当てることで最大n個のオブジェクトを判定できる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平06−083923号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来のピック処理によるヒットテストは、表示画面に表示するオブジェクト数が多い場合には、オブジェクトの外接矩形の演算量が増加してヒットテストの処理速度が遅くなるという課題があった。また、オブジェクト同士が重なり合う場合、そのオブジェクト間の前後関係を算出するため、演算量がさらに増加するという課題があった。また、組込向けなどのCPU性能が低い環境や、ヒットテストを含む表示関連の処理以外にCPUの演算処理時間を割り当てる必要がある場合には、ヒットテスト処理の演算処理時間を削減する必要があるため、ヒットテストの処理速度が遅くなるという課題があった。
【0005】
この発明は、上記のような課題を解決するためになされたもので、演算量を低減させ、高速でヒットテスト処理を実現できるヒットテスト装置及びヒットテスト方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
この発明に係るヒットテスト装置は、表示画面上に表示中のオブジェクトデータを表示階層の順にソートするオブジェクトデータソート部と、オブジェクトデータソート部でソートされたオブジェクトデータ毎にそれぞれ異なる色情報を関連付けるオブジェクト・色関連付け部と、オブジェクト・色関連付け部で関連付けられたオブジェクトデータと色情報に基づき、その色情報に対応した色のオブジェクトを表示階層の下から順にヒットテストプレーンに描画するオブジェクト描画部と、表示画面上の選択座標に基づき、その座標に対応するオブジェクト描画部で描画されたヒットテストプレーン上の色情報を読み出すオブジェクト・色読み出し部と、オブジェクト・色関連付け部で関連付けられたオブジェクトデータと色情報から、オブジェクト・色読み出し部で読み出した色情報に関連付けられたオブジェクトデータを検索し、当該検索結果のオブジェクトデータを選択されたオブジェクトとして決定するオブジェクト検索部とを備えたものである。
【発明の効果】
【0007】
この発明に係るヒットテスト装置及びヒットテスト方法によれば、上記のように構成したことにより、表示画面上のオブジェクト毎に関連付けた色情報を用いてヒットテストプレーンに描画し、選択座標に相当するヒットテストプレーン上の色情報を読み出して対応するオブジェクトを検索することでオブジェクトを選択するので、ヒットテスト処理の演算量を低減させることができる。その結果、高速でヒットテスト処理を行うことができる。
【図面の簡単な説明】
【0008】
【図1】この発明の実施の形態1に係るヒットテスト装置の構成を示す図(a),(b)である。
【図2】この発明の実施の形態1に係るヒットテスト装置の動作処理を示すフロー図である。
【図3】実施の形態1における表示画面の一例を示す図である。
【図4】この発明の実施の形態1に係るヒットテスト装置におけるオブジェクト参照テーブルを示す図である。
【図5】実施の形態1に係るヒットテスト装置におけるヒットテストプレーンを示す図である。
【図6】この発明の実施の形態2に係るヒットテスト装置における動作処理を説明する図である。
【図7】この発明の実施の形態4に係るヒットテスト装置の構成を示す図である。
【図8】この発明の実施の形態4に係るヒットテスト装置の動作処理を示すフロー図である。
【図9】実施の形態4における表示画面の一例を示す図である。
【図10】実施の形態4に係るヒットテスト装置におけるヒットテストプレーンを示す図(a),(b)である。
【発明を実施するための形態】
【0009】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態1.
図1(a)は、実施の形態1に係るヒットテスト装置を実現するための構成を示している。ヒットテスト装置は、演算プロセッサ1、システムメモリ2、描画グラフィックスLSI(Large Scale Integration)3がバスによりそれぞれ通信可能に接続された描画制御装置において、例えば演算プロセッサ1で実行される処理プログラム4により実現される。また、これらの構成に加え、既知の技術で構成されたモニタ等の表示装置(不図示)やマウス、キーボード、タッチパネル等の選択装置(不図示)と通信可能に接続されている。
【0010】
演算プロセッサ1は、例えばCPUで構成され、演算処理を実行する機能を有している。
演算プロセッサ1は、OS(Operating System)を実装し、このOS上で複数のアプリケーションや複数のタスクを動作させており、その一つとして表示装置に表示された表示画面上のオブジェクトが選択されたかを検出するヒットテスト処理プログラムを実行させている。
【0011】
システムメモリ2は、演算プロセッサ1の命令コードやデータ、ヒットテスト処理プログラム、後述する参照テーブルを保持しており、演算プロセッサ1からの要求に応じてこれらのデータの入出力を行う。
【0012】
描画グラフィックスLSI3は、表示装置の表示画面上に表示する描画プレーンを生成するよう機能する。また、描画グラフィックスLSI3は、演算プロセッサ1からの指示にしたがってヒットテスト用のヒットテストプレーンにオブジェクトを描画する。描画グラフィックスLSI3にはグラフィックスメモリ5が接続されており、グラフィックスメモリ5は、描画グラフィックスLSI3で生成された表示画面のイメージとしての描画プレーンやヒットテスト用のヒットテストプレーンを保持するフレームバッファとしての機能と、非表示イメージ(非表示画面データ)を記憶する機能を有する。また、グラフィックスメモリ5は、描画グラフィックスLSI3からの要求に応じて記憶したデータの入出力を行う。
【0013】
次にヒットテスト装置の機能的構成について図1(b)を用いて説明する。
ヒットテスト装置10は、オブジェクトデータソート部11、色情報関連付け部12(オブジェクト・色関連付け部)、オブジェクト描画部13、色情報読み出し部14(オブジェクト・色読み出し部)、オブジェクト検索部15で構成されている。
【0014】
オブジェクトデータソート部11は、グラフィックスメモリ5に記憶されている描画プレーンに基づき表示画面上に表示中のオブジェクト毎のデータ(オブジェクトデータ)を取得し、その表示中のオブジェクトデータに対して表示階層の下から順に並び替え(ソート)を行う。ここで、オブジェクトデータは、オブジェクトを描画するための座標、オブジェクトを識別する名称などの情報に加え、オブジェクト毎にそれぞれ異なる表示階層を示す情報を含んでいる。このオブジェクトデータの表示階層を示す情報により、複数のオブジェクトが重なる位置に描画される場合、各オブジェクトの前後関係を考慮して描画されている。
【0015】
色情報関連付け部12は、オブジェクトデータソート部11でソートされた表示中のオブジェクトデータに対し一意に識別可能な色情報を関連付けて付加し、システムメモリ2内のオブジェクト参照テーブルに記憶する。ここで一意に識別可能な色情報を関連付けるとは、表示中のオブジェクトデータ毎にそれぞれ異なる色情報を割り当てるということである。
【0016】
オブジェクト描画部13は、オブジェクト参照テーブルを参照し、色情報関連付け部12で関連付けられたオブジェクトデータと色情報に基づき、色情報に対応した色のオブジェクトを表示階層の下から順にヒットテストプレーンに描画するよう機能する。ここでヒットテストプレーンは、表示画面上に表示しないヒットテスト用の描画面であり、グラフィックメモリ31内に用意されている。
【0017】
色情報読み出し部14は、ユーザから選択装置を用いて入力された表示装置の表示画面上の選択座標に基づき、その選択座標に対応する、オブジェクト描画部13で描画されたヒットテストプレーン上の色情報を読み出すよう機能する。
【0018】
オブジェクト検索部15は、色情報読み出し部14で読み出した色情報を取得すると、オブジェクト参照テーブルを参照し、色情報関連付け部12で関連付けられたオブジェクトデータと色情報から、色情報読み出し部14で読み出した色情報に関連付けられたオブジェクトデータを検索し、その検索結果のオブジェクトデータを選択されたオブジェクトのデータ(選択オブジェクトデータ)として決定するよう機能する。
【0019】
なお、ここでは、オブジェクトデータソート部11がオブジェクトデータを表示階層の下から順に並び替える構成について説明しているが、オブジェクトが表示階層の下から順番にヒットテストプレーンに描画されるよう構成されていればよい。例えば、オブジェクトデータソート部11がオブジェクトデータのソートを行う構成に替えて、図形描画を管理する外部の画面描画装置または画面描画プログラムからオブジェクト毎の表示階層を示すソート情報を通知してもらうよう構成した場合、オブジェクト描画部13はソート情報を用いて表示階層の下から順にオブジェクトを描画するように構成される。
【0020】
次に、実施の形態1のヒットテスト装置10の動作処理について図2のフロー図を用いて説明する。
ヒットテスト装置10は、ユーザにより選択装置を介して表示装置の表示画面上の位置が指定されると処理を開始する(スタート)。
ヒットテスト装置10のオブジェクトデータソート部11は、グラフィックスメモリ5に記憶されている描画プレーンに基づき、表示画面上に表示中のオブジェクト毎のデータ(オブジェクトデータ)を取得し、そのオブジェクトデータを表示階層の下から順にソートする(ステップST101)(オブジェクトデータソート工程)。
【0021】
色情報関連付け部12は、オブジェクトデータソート部11でソートされたオブジェクトデータ毎にそれぞれ異なる色を示す色情報を関連付け、システムメモリ2内のオブジェクト参照テーブルに記憶する(ステップST102)(オブジェクト・色関連付け工程)。
オブジェクト描画部13は、オブジェクト参照テーブルを参照し、色情報関連付け部12で関連付けられたオブジェクトデータと色情報に基づき、その色情報に対応した色のオブジェクトを表示階層の下から順にヒットテストプレーンに描画する(ステップST103)(オブジェクト描画工程)。
【0022】
色情報読み出し部14は、選択装置から選択された表示画面上の選択座標を取得し、その選択座標に対応する、オブジェクト描画部13で描画されたヒットテストプレーン上の座標における色情報を読み出す(ステップST104)(オブジェクト・色読み出し工程)。
オブジェクト検索部15は、色情報読み出し部14で読み出した色情報を取得すると、参照テーブルを参照し、色情報関連付け部12で関連付けられたオブジェクトデータと色情報から、色情報読み出し部14で読み出した色情報に関連付けられたオブジェクトデータを検索する(ステップST105)(オブジェクト検索工程)。オブジェクト検索部15は、検索結果のオブジェクトデータをヒットテスト結果の選択オブジェクトデータとして決定して処理を終了する(エンド)。このとき、外部の描画制御装置は、オブジェクト検索部15からの選択オブジェクトデータに対応する描画プレーン上のオブジェクトに対して、例えば選択されたことを強調表示する。
【0023】
ここで、実施の形態1に係るヒットテスト装置10の動作処理の具体的一例について図3から図5を用いて説明する。図3は外部の表示装置に表示される表示画面としての描画プレーン130を示している。図4はヒットテスト装置10で用いるオブジェクト参照テーブル140を示している。図5はヒットテスト装置10において描画するヒットテストプレーン150を示している。なお、ここではヒットテストターゲットとしてのオブジェクトが矩形である場合の具体的一例を示す。
【0024】
図3に示すように、表示画面のイメージを保持する描画プレーン130には、オブジェクトとして、表示階層の下から順に図形131、図形132、図形133がそれぞれ重なり合った状態で描画されている。また、描画プレーン130には、選択装置で指定された選択位置134が表示されている。
このとき、上記ステップST101において、オブジェクトデータソート部11が、表示階層の最下位に位置する図形131のオブジェクトデータから、図形132のオブジェクトデータ、図形133のオブジェクトデータの順にソートする。
【0025】
上記ステップST102において、色情報関連付け部12により関連付けられたオブジェクトデータと色情報を示すオブジェクト参照テーブル140は、例えば図4に示すように、オブジェクト名称と色情報で構成されており、図形131は赤、図形132は緑、図形133は青に関連付けられる。このとき、カラーフォーマットRGBのR(Red)を8ビット、G(Green)を8ビット、B(Blue)を8ビットとすると、赤は「0xFF0000」、緑は「0x00FF00」、青は「0x0000FF」で示すことができ、これらを色情報とする。色情報のビット数により、ヒットテスト可能なオブジェクト数が変化する。上記のようにRGBがそれぞれ8ビットの24ビットプレーンとする場合には、2の24乗で16777216色を表せるため、16777216個のオブジェクトを判別が可能である。また、Rが5ビット、Gが6ビット、Bが5ビットの場合は、2の16乗で65536色が表せるため、65536個のオブジェクトの判別が可能である。すなわち、色情報で表現できる色の数と同じ数のオブジェクトを判別することができる。
【0026】
上記ステップST103において描画されたヒットテストプレーン150には、例えば図5に示すように、図4のオブジェクト参照テーブル140を参照して、赤色の図形151、緑色の図形152、青色の図形153、および選択位置134が描画される。ここで、赤色の図形151は描画プレーン130の図形131に関連付けられた色情報「0xFF0000」に対応して描画されたものであり、緑色の図形152は描画プレーン130の図形132に関連付けられた色情報「0x00FF00」に対応して描画されたものであり、青色の図形153は描画プレーン130の図形133に関連付けられた色情報「0x0000FF」に対応して描画されたものである。このヒットテストプレーン150は、表示用の描画プレーン130と同様のカラープレーンで構成されているが、表示用に使用せずヒットテスト用に使用する点が異なるものである。そのため、表示用の描画プレーン130に対してデータを読み取るのと同様に、上記ステップST104において、選択位置134の座標値に相当するヒットテストプレーン150上の色情報「0x0000FF」を読み出すことができ、複雑な処理を必要としない。
【0027】
上記ステップST105では、オブジェクト検索部15がオブジェクト参照テーブル140を参照して、色情報「0x0000FF」に対応する図形133を検索する。このようにして、選択位置134が示す選択座標に相当する図形133を検出することができる。
【0028】
なお、この実施の形態では、ユーザから選択装置により指定される表示画面上の選択位置に基づきヒットテスト処理を行っているが、この選択位置を選択領域として指定される構成であってもよい。その場合、色情報読み出し部14が表示画面上の選択領域に対応するヒットテストプレーン上の色情報を読み出し、オブジェクト検索部15が色情報読み出し部14で読み出された色情報に基づきオブジェクトデータを検索することで、選択領域に含まれるオブジェクトを検出することができる。選択領域は、矩形に限定されず、星形や三角形など任意の形状の領域でもよい。また、選択領域に複数のオブジェクトが含まれる場合、それらのオブジェクトのうち、表示階層の最も上位(表示画面上の最前面)のオブジェクトを検出するよう構成してもよい。
【0029】
なお、この実施の形態においては、描画グラフィックスLSI3がヒットテストプレーンへの描画を行っているが、演算プロセッサ1としてのCPUが十分高速な場合には演算プロセッサ1で描画するよう構成してもよい。また、演算プロセッサ1に描画グラフィックスLSI3が内蔵されている場合、演算プロセッサ1に内蔵されている描画グラフィックスLSI3を用いて描画するよう構成してもよい。
【0030】
なお、この実施の形態において、ヒットテスト装置10は、CPU、メモリ、LSIなどのハードウェアと各種処理プログラムなどのソフトウェアの組み合わせで実現されているものとして説明しているが、オブジェクトデータソート部11、色情報関連付け部12、オブジェクト描画部13、色情報読み出し部14、オブジェクト検索部15が、それぞれ異なるハードウェアで実現されるものであってもよい。
【0031】
以上のように、実施の形態1のヒットテスト装置10およびヒットテスト方法は、表示画面(描画プレーン)上のオブジェクト毎に関連付けた色情報を用いてヒットテストプレーンに描画し、選択座標に相当するヒットテストプレーン上の色情報を読み出して対応するオブジェクトデータを検索することでオブジェクトを選択するので、ヒットテスト処理の演算量を低減させることができる。その結果、高速でヒットテスト処理を行うことができるという効果が得られる。
また、表示可能な色の数と同じ数のオブジェクトを扱うことができるため、大量のオブジェクトに対するヒットテスト処理ができるという効果が得られる。
【0032】
実施の形態2.
実施の形態1においては、オブジェクトデータ毎にそれぞれ異なる色情報を関連付けてオブジェクト参照テーブルに記憶させる構成について説明した。実施の形態2は、ハッシュ法を用いて、オブジェクトデータ毎にそれぞれ異なる色情報を関連付ける構成について説明する。
なお、実施の形態2のヒットテスト装置は、実施の形態1のヒットテスト装置10の構成とほぼ同一であるため、図示を省略して、同じ構成については同一の符号を用いる。ここで、実施の形態2においては、実施の形態1のヒットテスト装置10、色情報関連付け部12、オブジェクト検索部15と区別するため、ヒットテスト装置20、色情報関連付け部22、オブジェクト検索部25を用いて説明する。
【0033】
ヒットテスト装置20は、処理プログラムにより、例えばオブジェクトデータソート部11、色情報関連付け部22(オブジェクト・色関連付け部)、オブジェクト描画部13、色情報読み出し部14(オブジェクト・色読み出し部)、オブジェクト検索部25で構成される。ここで、色情報関連付け部22とオブジェクト検索部25以外の構成は実施の形態1と同様であるため説明を省略する。
【0034】
色情報関連付け部22は、オブジェクトデータソート部11でソートされたオブジェクトデータに対し、ハッシュ法を用いて一意に識別可能な色情報を関連付けて付加し、参照テーブルに記憶する。
オブジェクト検索部25は、色情報読み出し部14で読み出した色情報を取得すると、参照テーブルを参照し、色情報関連付け部22で関連付けられたオブジェクトデータと色情報から、ハッシュ法を用いて、色情報読み出し部14で読み出した色情報に関連付けられたオブジェクトデータを検索し、その検索結果のオブジェクトデータを選択されたオブジェクトデータ(選択オブジェクトデータ)として出力するよう機能する。
【0035】
実施の形態2に係るヒットテスト装置20の動作処理は、上述した図2とほぼ同じであるが、実施の形態1のヒットテスト装置10における図2のステップST102とステップST105でハッシュ法を用いる点が異なっている。ここで、ハッシュ法としては、ハッシュ関数をハッシュテーブルで実現している。
ステップST102において、色情報関連付け部22は、ハッシュテーブルを用いて、オブジェクトデータからハッシュ値としての色情報を出力することで、オブジェクトデータと色情報を関連付ける。このとき、例えば、色情報関連付け部22は、オブジェクトの名称「図面131」という文字列からハッシュテーブルを用いて「図面131」に対応するハッシュ値「0xFF0000」を出力する。
ステップST105において、オブジェクト検索部25は、ハッシュテーブルを用いて、色情報からオブジェクトデータを出力する。このとき、例えば、オブジェクト検索部25は、図6に示すように、色情報「0xFF0000」からハッシュテーブル200を用いて「0xFF0000」に対応するオブジェクト名「図面131」を出力する。オブジェクト検索部25は、このようにオブジェクトを検索する際に、ハッシュ法により色情報に対応するオブジェクトデータを出力することで演算量を低減させ、検索速度を上げることができる。
【0036】
以上のように、実施の形態2のヒットテスト装置20およびヒットテスト方法によれば、ハッシュ法を用いたことにより、検索速度を向上させることができるという効果が得られる。
【0037】
実施の形態3.
実施の形態1においては、色情報読み出し部14とオブジェクト検索部15を演算プロセッサ1で実現する構成について説明したが、描画グラフィックスLSI3がプログラマブルユニットを備える場合には、色情報読み出し部14とオブジェクト検索部15を描画グラフィックスLSI3のプログラマブルユニットにおいて実行するよう構成してもよい。このように構成すれば、演算プロセッサ1の演算量を低減することができる。また、描画グラフィックスLSI3は、GPU(Graphics Processing Unit)と呼ばれ、並列演算を行うことができる。その結果、ヒットテスト処理を高速化することができる。
【0038】
実施の形態4.
実施の形態1では、表示画面上に直接表示されているオブジェクトを選択するためのヒットテスト処理を行う構成について説明した。実施の形態4では、表示画面上のウィンドウ内にオブジェクトを表示する動作環境においてヒットテスト処理を行う構成について説明する。なお、実施の形態4において、実施の形態1〜3と同様の構成は、図1から図6で用いた符号と同じ符号を用いて、その構成の詳細な説明を省略する。
図7は、実施の形態4に係るヒットテスト装置40の機能的構成を示している。
ヒットテスト装置40は、実施の形態1のオブジェクトデータソート部11、色情報関連付け部12(オブジェクト・色関連付け部)、オブジェクト描画部13、色情報読み出し部14(オブジェクト・色読み出し部)、オブジェクト検索部15に加え、ウィンドウデータソート部41、色情報関連付け部42(ウィンドウ・色関連付け部)、ウィンドウ描画部43、色情報読み出し部44(ウィンドウ・色読み出し部)、ウィンドウ検索部45で構成されている。ここで、オブジェクトデータソート部11、色情報関連付け部12、オブジェクト描画部13、色情報読み出し部14、オブジェクト検索部15の構成については、実施の形態1と同様であるため説明を省略する。
【0039】
ウィンドウデータソート部41は、グラフィックスメモリ5に記憶されている描画プレーンに基づき表示画面上に表示中のウィンドウ毎のデータ(ウィンドウデータ)を取得し、その表示中のウィンドウデータに対して表示階層の下から順に並び替え(ソート)を行う。ここで、ウィンドウデータは、ウィンドウを描画するための座標などの情報と、ウィンドウ毎にそれぞれ異なる表示階層を示す情報を含んでいる。このウィンドウデータの表示階層を示す情報により、複数のウィンドウが重なる位置に描画される場合、各ウィンドウの前後関係を考慮して描画されている。
【0040】
色情報関連付け部42は、ウィンドウデータソート部41でソートされた表示中のウィンドウデータに対し一意に識別可能な色情報を関連付けて付加し、システムメモリ2内のウィンドウ参照テーブルに記憶する。
ウィンドウ描画部43は、ウィンドウ参照テーブルを参照し、色情報関連付け部42で関連付けられたウィンドウデータと色情報に基づき、色情報に対応した色のウィンドウを表示階層の下から順にヒットテストプレーンに描画するよう機能する。
色情報読み出し部44は、ユーザから選択装置を用いて入力された表示装置の表示画面上の選択座標に基づき、その選択座標に対応する、ウィンドウ描画部43で描画されたヒットテストプレーン上の色情報を読み出すよう機能する。
ウィンドウ検索部45は、色情報読み出し部44で読み出した色情報を取得すると、ウィンドウ参照テーブルを参照し、色情報関連付け部42で関連付けられたウィンドウデータと色情報から、色情報読み出し部44で読み出した色情報に関連付けられたウィンドウデータを検索し、その検索結果のウィンドウデータを選択されたウィンドウのデータ(選択ウィンドウデータ)として決定するよう機能する。
【0041】
なお、ここでは、ウィンドウデータソート部41がウィンドウデータを表示階層の下から順に並び替える構成について説明しているが、ウィンドウが表示階層の下から順番にヒットテストプレーンに描画されるよう構成されていればよい。例えば、ウィンドウデータソート部41がウィンドウデータのソートを行う構成に替えて、図形描画を管理する外部の画面描画装置または画面描画プログラムからウィンドウ毎の表示階層を示すソート情報を通知してもらうよう構成した場合、ウィンドウ描画部43はソート情報を用いて表示階層の下から順にウィンドウを描画するように構成される。
【0042】
次に、実施の形態4のヒットテスト装置40の動作処理について図8のフロー図を用いて説明する。
ヒットテスト装置40は、ユーザにより選択装置を介して表示装置の表示画面上の位置が指定されると処理を開始する(スタート)。
ヒットテスト装置40のウィンドウデータソート部41は、グラフィックスメモリ5に記憶されている描画プレーンに基づき、表示画面上に表示中のウィンドウ毎のデータ(ウィンドウデータ)を取得し、そのウィンドウデータを表示階層の下から順にソートする(ステップST401)(ウィンドウデータソート工程)。
【0043】
色情報関連付け部42は、ウィンドウデータソート部41でソートされたウィンドウデータ毎にそれぞれ異なる色を示す色情報を関連付け、システムメモリ2内のウィンドウ参照テーブルに記憶する(ステップST402)(ウィンドウ・色関連付け工程)。
ウィンドウ描画部43は、ウィンドウ参照テーブルを参照し、色情報関連付け部42で関連付けられたウィンドウデータと色情報に基づき、その色情報に対応した色のウィンドウを表示階層の下から順にヒットテストプレーンに描画する(ステップST403)(ウィンドウ描画工程)。
【0044】
色情報読み出し部44は、選択装置から選択された表示画面上の選択座標を取得し、その選択座標に対応する、ウィンドウ描画部43で描画されたヒットテストプレーン上の座標における色情報を読み出す(ステップST404)(ウィンドウ・色読み出し工程)。
ウィンドウ検索部45は、色情報読み出し部44で読み出した色情報を取得すると、ウィンドウ参照テーブルを参照し、色情報関連付け部42で関連付けられたウィンドウデータと色情報から、色情報読み出し部44で読み出した色情報に関連付けられたウィンドウデータを検索する(ステップST405)(ウィンドウ検索工程)。ウィンドウ検索部45は、グラフィックスメモリ5内の描画プレーンを参照し、検索結果の選択ウィンドウデータをオブジェクトデータソート部11に出力する。
【0045】
オブジェクトデータソート部11は、ウィンドウ検索部45からの選択ウィンドウデータとグラフィックスメモリ5に記憶されている描画プレーンに基づき、表示画面上の選択ウィンドウに表示中のオブジェクト毎のデータ(オブジェクトデータ)を取得し、そのオブジェクトデータを表示階層の下から順にソートする(ステップST406)(オブジェクトデータソート工程)。
このステップST406以降、ステップST407からステップST410までの動作処理は、実施の形態1のステップST102からステップST105に相当するため、その説明を省略する。
【0046】
ここで、実施の形態4のヒットテスト装置40の動作処理の具体的一例について図9を用いて説明する。図9は表示画面としての描画プレーン400を示している。図10(a)はヒットテスト装置40において描画するヒットテストプレーン410を示している。図10(b)はヒットテスト装置40において描画するヒットテストプレーン420を示している。なお、ここでは選択装置により表示装置の表示画面上に指定される選択位置が選択領域であるものとして説明する。
【0047】
図9に示すように、表示画面のイメージを保持する描画プレーン400には、表示階層の下から順にウィンドウ401、ウィンドウ402、ウィンドウ403がそれぞれ一部が重なり合った状態で描画されている。ウィンドウ401内にはオブジェクトとしての図形404が描画されており、ウィンドウ402内にはオブジェクトとしての図形405と図形406が描画されており、ウィンドウ403内にはオブジェクトとしての図形407が描画されている。また、描画プレーン400には、選択装置で指定された選択領域408が表示されている。
このとき、ユーザにより選択装置を介して表示装置の表示画面上の位置が指定されると、上記ステップST401において、ウィンドウデータソート部41が、表示階層の最下位に位置するウィンドウ401のウィンドウデータから、ウィンドウ402のウィンドウデータ、ウィンドウ403のウィンドウデータの順にソートする。
【0048】
上記ステップST402において、色情報関連付け部42により、例えば各ウィンドウを識別するウィンドウ名と一意の色情報を関連付け、システムメモリ2内のウィンドウ参照テーブルに記憶する。ウィンドウ参照テーブルは、例えば上述した図4のオブジェクト参照テーブル140のオブジェクト名の項目部分がウィンドウ名で構成されるテーブルデータである。ここではウィンドウ名としてのウィンドウ401が赤、ウィンドウ402が緑、ウィンドウ403が青に関連付けられるものとする。そして、上記ステップST403において描画されたヒットテストプレーン410には、例えば図10(a)に示すように、表示階層の下から順に赤色のウィンドウ411、緑色のウィンドウ412、青色のウィンドウ413が描画される。
【0049】
上記ステップST404において、選択領域408の範囲に相当するヒットテストプレーン410上の色情報(ここでは緑色を示す色情報)を読み出すと、上記ステップST405において、ウィンドウ検索部45がウィンドウ412を検出する。上記ステップST406、ステップST407を経て、ステップST408においては、ウィンドウ描画部43が、表示画面上のウィンドウ412に対応するヒットテストプレーン420を描画する。ヒットテストプレーン420には、図10(b)に示すように、例えば表示画面上の図形405に対応する図形425が桃色で描画され、表示画面上の図形406に対応する図形426が黄色で描画される。色情報読み出し部44は、上記ステップST409において、選択領域408の範囲に相当するヒットテストプレーン420上の色情報(ここでは桃色を示す色情報)を読み出す。そして、上記ステップST410において、オブジェクト検索部15がオブジェクト参照テーブルを参照して、桃色を示す色情報に対応する図形405を検索する。このようにして、選択範囲408が示す選択座標に相当する図形405を検出することができる。
【0050】
以上のように実施の形態4のヒットテスト装置40およびそのヒットテスト方法は、実施の形態1の効果に加え、ウィンドウの概念を導入し、選択された表示画面上の座標に対応するウィンドウを検索してからウィンドウ内のオブジェクトを検索することで、ヒットテスト処理の階層化を実現できる。その結果、ヒットテストプレーンへの描画数を減らしてヒットテストの処理時間を低減させることができるという効果が得られる。
【0051】
なお、色情報関連付け部42がウィンドウデータと色情報の関連付けを行う際、または色情報関連付け部12がオブジェクトデータと色情報の関連付けを行う際、それぞれで別々の参照テーブル(ウィンドウ参照テーブルとオブジェクト参照テーブル)を用いることなく、色情報を構成するビットを、ウィンドウデータを識別するビットとオブジェクトデータを識別するビットに所定の割合で割り当てて1つの参照テーブルを用いる構成にしてもよい。例えば、ビットマップのカラーフォーマットがRGB888の24ビットである場合、上位8ビットの色成分をウィンドウデータ用、下位16ビットの色成分をオブジェクト用に割り当てて1つの参照テーブルを用いるようにすれば、参照テーブルを記憶する領域を低減させることができる。
【0052】
なお、本発明は、その発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【符号の説明】
【0053】
1 演算プロセッサ、2 システムメモリ、3 描画グラフィックスLSI、4 処理プログラム、5 グラフィックスメモリ、10,20,40 ヒットテスト装置、11 オブジェクトデータソート部、12,22 色情報関連付け部(オブジェクト・色関連付け部)、13 ヒットテストプレーン描画部(オブジェクト描画部)、14 色情報読み出し部(オブジェクト・色読み出し部)、15,25 オブジェクト検索部、41 ウィンドウデータソート部、42 色情報関連付け部(ウィンドウ・色関連付け部)、43 ヒットテストプレーン描画部(ウィンドウ描画部)、44 色情報読み出し部(ウィンドウ・色読み出し部)、45 ウィンドウ検索部、130,400 描画プレーン、131,132,133,151,152,153,404,405,406,407,425,426 図形、134 選択位置、140 オブジェクト参照テーブル、150,410,420 ヒットテストプレーン、200 ハッシュテーブル、401,402,403,411,412,413 ウィンドウ、408 選択領域。

【特許請求の範囲】
【請求項1】
表示画面上に表示されているオブジェクトを選択するヒットテスト装置において、
前記表示画面上に表示中のオブジェクトデータを表示階層の順にソートするオブジェクトデータソート部と、
前記オブジェクトデータソート部でソートされたオブジェクトデータ毎にそれぞれ異なる色情報を関連付けるオブジェクト・色関連付け部と、
前記オブジェクト・色関連付け部で関連付けられたオブジェクトデータと色情報に基づき、その色情報に対応した色のオブジェクトを表示階層の下から順にヒットテストプレーンに描画するオブジェクト描画部と、
前記表示画面上の選択座標に基づき、その座標に対応する前記オブジェクト描画部で描画されたヒットテストプレーン上の色情報を読み出すオブジェクト・色読み出し部と、
前記オブジェクト・色関連付け部で関連付けられたオブジェクトデータと色情報から、前記オブジェクト・色読み出し部で読み出した色情報に関連付けられたオブジェクトデータを検索し、当該検索結果のオブジェクトデータを選択されたオブジェクトとして決定するオブジェクト検索部と、
を備えたことを特徴とするヒットテスト装置。
【請求項2】
オブジェクト・色関連付け部は、ハッシュ法を用いてオブジェクトデータ毎にそれぞれ異なる色情報を関連付け、
オブジェクト検索部は、前記オブジェクト・色関連付け部で関連付けられたオブジェクトデータと色情報から、ハッシュ法を用いて、オブジェクト・色読み出し部で読み出した色情報に対応するオブジェクトデータを検索する
ことを特徴とする請求項1記載のヒットテスト装置。
【請求項3】
オブジェクトデータソート部、オブジェクト・色関連付け部、およびオブジェクト描画部の機能を実行する演算プロセッサと、
オブジェクト・色読み出し部およびオブジェクト検索部の機能を実行するプログラマブルユニットを内蔵した描画グラフィックスLSI(Large Scale Integration)と、
を備えたことを特徴とする請求項1または請求項2記載のヒットテスト装置。
【請求項4】
表示画面上に表示されているウィンドウと当該ウィンドウ内のオブジェクトを選択するヒットテスト装置において、
前記表示画面上に表示中のウィンドウデータを表示階層の順にソートするウィンドウデータソート部と、
前記ウィンドウデータソート部でソートされたウィンドウデータ毎にそれぞれ異なる色情報を関連付けるウィンドウ・色関連付け部と、
前記ウィンドウ・色関連付け部で関連付けられたウィンドウデータと色情報に基づき、その色情報に対応する色のウィンドウを表示階層の下から順にヒットテストプレーンに描画するウィンドウ描画部と、
前記表示画面上の選択座標に基づき、その座標に対応する前記ウィンドウ描画部で描画されたヒットテストプレーン上の色情報を読み出すウィンドウ・色読み出し部と、
前記ウィンドウ・色関連付け部で関連付けられたウィンドウデータと色情報から、前記ウィンドウ・色読み出し部で読み出した色情報に関連付けられたウィンドウデータを検索し、当該検索結果のウィンドウデータを選択されたウィンドウとして決定するウィンドウ検索部と、
前記ウィンドウ検索部で選択されたウィンドウ内に表示中のオブジェクトデータを表示階層の順にソートするオブジェクトデータソート部と、
前記オブジェクトデータソート部でソートされたオブジェクトデータ毎にそれぞれ異なる色情報を関連付けるオブジェクト・色関連付け部と、
前記オブジェクト・色関連付け部で関連付けられたオブジェクトデータと色情報に基づき、その色情報に対応した色のオブジェクトを表示階層の下から順にヒットテストプレーンに描画するオブジェクト描画部と、
前記表示画面上の選択座標に基づき、その座標に対応する前記オブジェクト描画部で描画されたヒットテストプレーン上の色情報を読み出すオブジェクト・色読み出し部と、
前記オブジェクト・色関連付け部で関連付けられたオブジェクトデータと色情報から、前記オブジェクト・色読み出し部で読み出した色情報に関連付けられたオブジェクトデータを検索し、当該検索結果のオブジェクトデータを選択されたオブジェクトとして決定するオブジェクト検索部と、
を備えたことを特徴とするヒットテスト装置。
【請求項5】
色情報を構成するビットが、ウィンドウデータを識別するビットとオブジェクトデータを識別するビットに所定の割合で割り当てられる
ことを特徴とする請求項4記載のヒットテスト装置。
【請求項6】
表示画面上に表示されているオブジェクトを選択するヒットテスト方法において、
前記表示画面上に表示中のオブジェクトデータを表示階層の順にソートするオブジェクトデータソート工程と、
前記オブジェクトデータソート工程でソートされたオブジェクトデータ毎にそれぞれ異なる色情報を関連付けるオブジェクト・色関連付け工程と、
前記オブジェクト・色関連付け工程で関連付けられたオブジェクトデータと色情報に基づき、その色情報に対応した色のオブジェクトを表示階層の下から順にヒットテストプレーンに描画するオブジェクト描画工程と、
前記表示画面上の選択座標に基づき、その座標に対応する前記オブジェクト描画工程で描画されたヒットテストプレーン上の色情報を読み出すオブジェクト・色読み出し工程と、
前記オブジェクト・色関連付け工程で関連付けられたオブジェクトデータと色情報から、前記オブジェクト・色読み出し工程で読み出した色情報に関連付けられたオブジェクトデータを検索し、当該検索結果のオブジェクトデータを選択されたオブジェクトとして決定するオブジェクト検索工程と、
を有することを特徴とするヒットテスト方法。
【請求項7】
表示画面上に表示されているウィンドウと当該ウィンドウ内のオブジェクトを選択するヒットテスト方法において、
前記表示画面上に表示されているウィンドウデータを表示階層の順にソートするウィンドウデータソート工程と、
前記ウィンドウデータソート工程でソートされたウィンドウデータ毎にそれぞれ異なる色情報を関連付けるウィンドウ・色関連付け工程と、
前記ウィンドウ・色関連付け工程で関連付けられたウィンドウデータと色情報に基づき、その色情報に対応する色のウィンドウを表示階層の下から順にヒットテストプレーンに描画するウィンドウ描画工程と、
前記表示画面上の選択座標に基づき、その座標に対応する前記ウィンドウ描画工程で描画されたヒットテストプレーン上の色情報を読み出すウィンドウ・色読み出し工程と、
前記ウィンドウ・色関連付け工程で関連付けられたウィンドウデータと色情報から、前記ウィンドウ・色読み出し工程で読み出した色情報に関連付けられたウィンドウデータを検索し、当該検索結果のウィンドウデータを選択されたウィンドウとして決定するウィンドウ検索工程と、
前記ウィンドウ検索部で選択されたウィンドウ内に表示中のオブジェクトデータを表示階層の順にソートするオブジェクトデータソート工程と、
前記オブジェクトデータソート工程でソートされたオブジェクトデータ毎にそれぞれ異なる色情報を関連付けるオブジェクト・色関連付け工程と、
前記オブジェクト・色関連付け工程で関連付けられたオブジェクトデータと色情報に基づき、その色情報に対応した色のオブジェクトを表示階層の下から順にヒットテストプレーンに描画するオブジェクト描画工程と、
前記表示画面上の選択座標に基づき、その座標に対応する前記オブジェクト描画工程で描画されたヒットテストプレーン上の色情報を読み出すオブジェクト・色読み出し工程と、
前記オブジェクト・色関連付け工程で関連付けられたオブジェクトデータと色情報から、前記オブジェクト・色読み出し工程で読み出した色情報に関連付けられたオブジェクトデータを検索し、当該検索結果のオブジェクトデータを選択されたオブジェクトとして決定するオブジェクト検索工程と、
を備えたことを特徴とするヒットテスト方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−208852(P2012−208852A)
【公開日】平成24年10月25日(2012.10.25)
【国際特許分類】
【出願番号】特願2011−75404(P2011−75404)
【出願日】平成23年3月30日(2011.3.30)
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】