(57)【特許請求の範囲】
【請求項１】
アプリケーションからの要求に応答して表示装置の表示画面上に表示するウィンドウの表示位置を制御するウィンドウ表示制御プログラムであって、
前記表示画面上での利用者の目線中央点を表示装置ごとに定義する中央点定義テーブルに該目線中央点の入力を受け付けて登録する中央点定義テーブル作成プロセスと、
前記中央点定義テーブル作成プロセスにより中央点定義テーブルに登録された目線中央点に基づいて前記表示画面上での前記ウィンドウの表示位置を制御する表示位置制御プロセスを、
コンピュータに実行させることを特徴とするウィンドウ表示制御プログラム。
【請求項２】
前記表示位置制御プロセスは、前記表示画面上に表示された第１のウィンドウ上に新たな第２のウィンドウを表示する場合には、前記中央点定義テーブルに定義された目線中央点に基づいて前記第２のウィンドウを表示制御するとともに、前記第１のウィンドウと第２のウィンドウの重畳表示部分を低減するように前記第１のウィンドウを移動させることを特徴とする請求項１に記載のウィンドウ表示制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、アプリケーションからの要求に応答して表示装置の表示画面上に表示するウィンドウの表示位置を制御するウィンドウ表示制御プログラム、ウィンドウ表示制御方法およびウィンドウ表示制御装置に関し、特に、ウィンドウを利用者の目線の位置に合わせて表示して、利用者の視線の移動量を少なくし、もって見やすいウィンドウを表示することができるウィンドウ表示制御プログラム、ウィンドウ表示制御方法およびウィンドウ表示制御装置に関する。
【０００２】
【従来の技術】
近年、コンピュータのヒューマンインタフェースとして、ウィンドウ表示を利用したものが数多く見られる。このウィンドウ表示は、ウィンドウの表示位置、大きさを自由に変えられ、複数のウィンドウを使うことにより関連する情報を同時に見られるなど優れた特性を有するので、ヒューマンインタフェースの中心として利用されている。
【０００３】
このため、コンピュータの利用者はウィンドウを操作する機会が多く、ウィンドウの操作性を向上するための技術が必要となっている。特に、かかるウィンドウを表示する際には、利用者の目の疲労を減らし、作業効率を向上させることが重要となる。
【０００４】
従来、表示装置に新たなウィンドウを表示する場合には、特にアプリケーションからの表示位置の指定がなければ、表示装置の物理的中央に表示するように位置決めされている。
【０００５】
【発明が解決しようとする課題】
しかしながら、かかる従来技術のようにただ単純に表示画面の物理的な中央に新たなウィンドウを表示することとすると、利用者が表示画面上で目線を頻繁に動かさねばならなくなるケースが生じる。
【０００６】
たとえば、天井からスクリーンを吊り下げる方式のプロジェクタの場合には、利用者の目線はスクリーンの下部に集中する傾向があるので、ウィンドウをスクリーンの物理的な中央に表示すると、利用者が目線を移動する移動量が大きくなる。また、卓上に置くディスプイレイ装置の場合には、利用者の目線は画面のやや上部に集中する傾向があるので、この場合にも利用者が目線を移動する移動量が大きくなる。
【０００７】
このように、従来の表示装置の中央に表示する方式では、利用者の視線の移動量が多く、疲労が大きくなるという問題がある。特に、長時間にわたって表示画面を注視する必要がある計算機システムの運用オペレータなどにとっては、かかる疲労を改善することが強く望まれている。
【０００８】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、ウィンドウを利用者の目線の位置に合わせて表示して、利用者の視線の移動量を少なくし、もって見やすいウィンドウを表示することができるウィンドウ表示制御プログラム、ウィンドウ表示制御方法およびウィンドウ表示制御装置を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、請求項１の発明に係るウィンドウ表示制御プログラムは、アプリケーションからの要求に応答して表示装置の表示画面上に表示するウィンドウの表示位置を制御するウィンドウ表示制御プログラムであって、前記表示画面上での利用者の目線中央点を表示装置ごとに定義する中央点定義テーブルに該目線中央点の入力を受け付けて登録する中央点定義テーブル作成プロセスと、前記中央点定義テーブル作成プロセスにより中央点定義テーブルに登録された目線中央点に基づいて前記表示画面上での前記ウィンドウの表示位置を制御する表示位置制御プロセスを、コンピュータに実行させることを特徴とする。
【００１０】
この請求項１にかかる発明によれば、表示画面上での利用者の目線中央点を表示装置ごとに定義する中央点定義テーブルに目線中央点の入力を受け付けて登録し、登録した目線中央点に基づいて表示画面上でのウィンドウの表示位置を制御することとしたので、ウィンドウを利用者の目線の位置に合わせて表示して、利用者の視線の移動量を少なくし、もって見やすいウィンドウを表示することができる。
【００１３】
また、請求項２の発明に係るウィンドウ表示制御プログラムは、請求項１の発明において、前記表示位置制御プロセスは、前記表示画面上に表示された第１のウィンドウ上に新たな第２のウィンドウを表示する場合には、前記中央点定義テーブルに定義された目線中央点に基づいて前記第２のウィンドウを表示制御するとともに、前記第１のウィンドウと第２のウィンドウの重畳表示部分を低減するように前記第１のウィンドウを移動させることを特徴とする。
【００１４】
この請求項２の発明によれば、表示画面上に表示された第１のウィンドウ上に新たな第２のウィンドウを表示する場合には、中央点定義テーブルに定義された目線中央点に基づいて第２のウィンドウを表示制御するとともに、第１のウィンドウと第２のウィンドウの重畳表示部分を低減するように第１のウィンドウを移動させることとしたので、複数のウィンドウを同一画面上に表示する場合にも、目線の移動量を効率良く低減することができる。
【００１９】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係るウィンドウ表示制御プログラム、ウィンドウ表示制御方法およびウィンドウ表示制御装置の好適な実施の形態を詳細に説明する。
【００２０】
（実施の形態１）
まず、本実施の形態１に係るウィンドウのセンタリングの概念について説明する。図１は、本実施の形態１に係るウィンドウのセンタリングを説明するための説明図である。同図（ａ）に示すように、従来のセンタリングでは、ウィンドウが表示画面の物理的中央に表示される。
【００２１】
一方、同図（ｂ）に示すように、本実施の形態１に係るセンタリングでは、ウィンドウを単に表示画面の物理的中央に表示するのではなく、ウィンドウを表示画面の上部に表示することとしている。その理由は、卓上ディスプレイ装置では利用者の目線が表示画面のやや上部に集中することから、利用者の目線の位置に合わせて中央位置を上部に設定したためである。
【００２２】
このように、本実施の形態１では、ウィンドウを画面中央に表示する場合に、単に画面の物理的中央に表示するのではなく、利用者の目線の位置に合わせて表示して、利用者の視線の移動量を少なくし、もって見やすいウィンドウを表示することとしている。
【００２３】
次に、本実施の形態１に係るウィンドウ表示制御装置の構成について説明する。図２は、本実施の形態１に係るウィンドウ表示制御装置の構成を示す機能ブロック図である。同図に示すように、このウィンドウ表示制御装置は、コンピュータ２００と、キーボード２１０と、マウス２２０と、ディスプレイ２３０とからなる。
【００２４】
コンピュータ２００は、このウィンドウ表示制御装置の主体をなすものであり、利用者の目線の位置に合わせてウィンドウの表示位置を決定し、ディスプレイ２３０にウィンドウを表示する。具体的には、表示装置上の利用者の目線中央点を中央点定義テーブル２０２に定義しておき、この中央点定義テーブル２０２に基づいてウィンドウの表示位置を制御する。
【００２５】
キーボード２１０は、コンピュータ２００への処理の指示およびデータの入力をおこなうための装置である。ここでは、表示装置に対する利用者の目線の位置を定義する場合に、表示装置名を入力するためなどの目的に使われる。
【００２６】
マウス２２０は、表示画面上の任意の場所を指定するための装置である。ここでは、ディスプレイ２３０に表示されるカーソルを使い、利用者の目線の位置を指定するなど、画面上の座標を入力するために使われる。
【００２７】
ディスプレイ２３０は、コンピュータ２００により表示位置を決められたウィンドウを表示する。また、利用者の目線の位置を定義する場合には、マウス２２０の動きに合わせてカーソルを移動し、利用者の目線の位置の指定に使われる。
【００２８】
次に、コンピュータ２００の構成について説明する。図２に示すように、コンピュータ２００は、アプリケーション２０１と、中央点定義テーブル２０２と、ウィンドウ管理テーブル２０３と、表示ウィンドウ位置決定部２０４と、ウィンドウ表示部２０５と、ディスプレイインタフェース２０６とからなる。
【００２９】
アプリケーション２０１は、ディスプレイ２３０へのウィンドウ表示を必要とする任意のプログラムである。具体的には、処理結果の表示、利用者への入力依頼、操作結果の確認などにウィンドウ表示を利用する。
【００３０】
中央点定義テーブル２０２は、各種表示装置についての利用者の目線の位置に関するデータを格納したテーブルである。ディスプレイ２３０へ表示されるウィンドウは、この中央点定義テーブル２０２に基づき表示位置が決定される。なお、この中央点定義テーブル２０２の一例については後述する。
【００３１】
ウィンドウ管理テーブル２０３は、ディスプレイ２３０へ表示されるウィンドウに関するデータを格納したテーブルであり、具体的には、各ウィンドウの大きさ、原点の座標などが格納される。
【００３２】
表示ウィンドウ位置決定部２０４は、アプリケーション２０１からの画面中央へのウィンドウ表示要求に対して、中央点定義テーブル２０２に基づき、ウィンドウ管理テーブル２０３を参照しながらウィンドウの表示位置を決定する処理部である。また、決定した表示位置へのウィンドウ表示をウィンドウ表示部２０５に依頼する処理もおこなう。
【００３３】
ウィンドウ表示部２０５は、ディスプレイ２３０に表示するウィンドウデータを作成する処理部である。このウィンドウ表示部２０５により作成されたウィンドウデータは、ディスプレイインタフェース２０６を介してディスプレイ２３０に送られ、ウィンドウとして表示される。
【００３４】
ディスプレイインタフェース２０６は、ディスプレイ２３０を制御し、ウィンドウ表示部２０５で作成されたデータを表示する。また、ディスプレイ２３０の初期化、故障等に対応した処理をおこなう。
【００３５】
次に、利用者の目線の中央点に基づいて表示ウィンドウの位置を求める要領について説明する。図３は、利用者の目線の中央点に基づいて表示ウィンドウの位置を求める要領を説明するための説明図である。同図（ａ）は、表示画面上での利用者の目線の中央点Aを示しており、ax1、ax2、ay1、ay2は各々Aから画面左端、画面右端、画面上端、画面下端までの距離を示している。
【００３６】
同図（ｂ）は、表示ウィンドウの中央点Bの求め方を示しており、bx1、bx2、by1、by2は各々Bからウィンドウ左端、ウィンドウ右端、ウィンドウ上端、ウィンドウ下端までの距離を表す。ここでbx1、bx2、by1、by2は、
ax1:ax2 = bx1:bx2  かつ  ay1:ay2=by1:by2
となるように決められる。このようにして求めたBがAに重なるように表示ウィンドウの位置を決定する。
【００３７】
次に、図２に示した中央点定義テーブル２０２の一例について説明する。図４は、図２に示した中央点定義テーブル２０２の一例を示す図である。同図に示すように、この中央点定義テーブル２０２は、表示装置ごとに利用者の目線中央点の位置を表示画面の横の長さと縦の長さに対する百分率で示したものである。
【００３８】
たとえば、ＣＲＴの場合には、表示画面の横の長さの５０％、縦の長さの６５％の位置に利用者の目線中央点があることを示しており、液晶の場合には、表示画面の横の長さの５０％、縦の長さの７０％の位置に利用者の目線中央点があることを示している。また、プロジェクタの場合には、表示画面の横の長さの５０％、縦の長さの３５％の位置に利用者の目線中央点があることを示しており、ディスプレイ装置１の場合には、表示画面の横の長さの５０％、縦の長さの４０％の位置に利用者の目線中央点があることを示しており、ディスプレイ装置２の場合は、表示画面の横の長さの５０％、縦の長さの４０％の位置に利用者の目線の中央点があることを示している。以下、他の表示装置に対しても同様に、利用者の目線中央点が定義される。
【００３９】
次に、中央点定義テーブル２０２を用いた表示ウィンドウ位置決定部２０４の処理手順について説明する。図５は、図２に示した表示ウィンドウ位置決定部２０４の処理手順を示すフローチャートである。同図に示すように、表示ウィンドウ位置決定部２０４は、中央点データを中央点定義テーブル２０２より取得し（ステップＳ５０１）、表示画面の大きさと中央点データから表示画面の中央点Aを求める（ステップＳ５０２）。
【００４０】
さらに、表示ウィンドウの大きさから、その中央点Bを求め（ステップＳ５０３）、最後に、AとBを重ねることにより、表示ウィンドウの原点の座標を求める（ステップＳ５０４）。
【００４１】
次に、具体例を使って、中央点定義テーブル２０２を用いた表示ウィンドウ位置決定部２０４の処理手順について説明する。なお、ここでは、表示画面の大きさは横の長さ(AX)が640、縦の長さ(AY)が480とする。
【００４２】
図４に示す中央点定義テーブル２０２の中で、対象とする中央点データを液晶：X=50%、Y=70%とし、ウィンドウ管理テーブル２０３が図６に示す内容であるとする。すなわち、図６（ａ）において、表示ウィンドウは横の長さ(BX)が200、縦の長さ(BY)が100であり、原点は未定義である。この原点を求めることが、表示ウィンドウの位置を決めることになる。
【００４３】
まず、中央点データのX=50%、Y=70%を取得し（ステップＳ５０１）、これら中央点データと表示画面の大きさ(AX, AY)=(640, 480)から、表示画面の中央点Aは、A=(640*0.50, 480*0.70)=(320, 336)となる（ステップＳ５０２）。また、中央点データと表示ウィンドウの大きさ(BX, BY)=(200, 100)から、表示ウィンドウの中央点Bは、B=(200*0.50, 100*0.70)=(100, 70)となる（ステップＳ５０３）。
【００４４】
ここで、A=Bとなるように表示ウィンドウの原点を求めると、表示ウィンドウの原点＝A-B=(320, 336)-(100, 70)=(220, 266)となる（ステップＳ５０４）。この結果、図６（ｂ）に示すようなウィンドウ管理テーブル２０３が得られ、表示ウィンドウの位置が決定される。
【００４５】
ところで、上記説明では、コンピュータ２００の構成を機能面から特定したが、実際には各機能部はソフトウェアにより形成される。そこで、以下では、本実施の形態１に係るウィンドウ表示制御装置のソフトウェア構成について具体的に説明する。
【００４６】
図７は、図２に示したコンピュータ２００のソフトウェア構成を示す図である。同図（ａ）に示すように、このコンピュータ２００は、アプリケーション２０１とオペレーティングシステム７２０ａが提供するウィンドウ表示のためのランタイムライブラリ７２１の間の表示制御ライブラリ７１０ａとして実現される。ここで、ランタイムライブラリ７２１は図２に示したウィンドウ表示部２０５に対応し、表示制御ライブラリ７１０ａは図２に示した表示ウィンドウ位置決定部２０４に対応する。
【００４７】
すなわち、アプリケーション２０１が直接ランタイムライブラリ７２１を呼び出すことによってウィンドウを表示するかわりに、表示制御ライブラリ７１０ａを呼び出し、表示制御ライブラリ７１０ａが利用者の目線の位置に基づいたウィンドウ表示位置の決定をおこなった後にランタイムライブラリ７２１を呼び出し、ウィンドウを表示する。
【００４８】
図７（ｂ）は、別のオペレーティングシステム７２０ｂを用いた場合のコンピュータ２００のソフトウェア構成を示す図である。このオペレーティングシステム７２０ｂでは、ウィンドウシステム７３０が利用可能であり、コンピュータ２００は、アプリケーション２０１とウィンドウシステム７３０の間の表示制御ライブラリ７１０ｂとして実現される。ここで、ウィンドウシステム７３０は図２に示したウィンドウ表示部２０５に対応し、表示制御ライブラリ７１０ｂは図２に示した表示ウィンドウ位置決定部２０４に対応する。
【００４９】
また、ウィンドウシステム７３０は、一つのコンピュータ２００で実現されるとは限らない。むしろ、ネットワークに接続された複数のコンピュータ２００を使って、クライアント・サーバ型のシステムとして実現される場合が多い。
【００５０】
図７（ｃ）は、ＪＡＶＡ(登録商標、以下同様)を用いた場合のコンピュータ２００のソフトウェア構成を示す図である。ＪＡＶＡが利用できるオペレーティングシステム７２０ｃでは、コンピュータ２００は、アプリケーション２０１とＪＡＶＡの提供するクラスライブラリ７４０の間の表示制御ライブラリ７１０ｃとして実現される。ここで、クラスライブラリ７４０は図２に示したウィンドウ表示部２０５に対応し、表示制御ライブラリ７１０ｃは図２に示した表示ウィンドウ位置決定部２０４に対応する。
【００５１】
次に、本実施の形態１に係るウィンドウ表示の一例について説明する。図８は、本実施の形態１に係るウィンドウ表示の一例を示す図である。なお、ここでは、表示画面は全画面表示されたウィンドウで示されている。同図に示すように、表示画面の中央よりやや上に新たなウィンドウを表示する。この例では、利用者の目線は基準となるウィンドウの中央よりやや上にあるため、ウィンドウを利用者の目線の位置に合わせて表示して、利用者の視線の移動量を少なくし、もって見やすいウィンドウを表示することができる。
【００５２】
図９は、本実施の形態１に係る他のウィンドウ表示を示す図である。同図（ａ）は、天井からスクリーンを吊り下げる方式のプロジェクタでの表示例を示している。多数の閲覧者に利用されるスクリーンでは、閲覧者の目線が下部に集中するため、中央点定義テーブル２０２に基づいて表示ウィンドウ位置決定部２０４が新たなウィンドウを中央やや下部に表示することになる。
【００５３】
同図（ｂ）は、机上に配設するディスプレイでの表示例を示している。かかるディスプレイでは、利用者が上部からやや下方に見下ろす形で画面を視認するため、新たなウィンドウを表示画面に対してはやや上部に表示することになる。
【００５４】
このように、利用者の目線の位置は、表示装置の種類、表示装置の使われる環境、表示画面の他のウィンドウの表示状況などによって異なる。したがって、これらの条件を考慮してウィンドウの表示位置を決定することが重要となる。
【００５５】
これまでの説明では、図２の中央点定義テーブル２０２は作成済みのものとして扱ってきた。しかし、上述したように、各表示装置に対する利用者の目線は、その表示装置を使用する環境に応じて変化すると考えられる。このような場合、中央点定義テーブル２０２の内容を変更する必要がある。
【００５６】
図１０は、かかる必要性に対処できる、中央点定義テーブル作成機能を備えたウィンドウ表示制御装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図２に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【００５７】
同図に示すように、コンピュータ２００は、アプリケーション２０１と、中央点定義テーブル２０２と、ウィンドウ管理テーブル２０３と、表示ウィンドウ位置決定部２０４と、ウィンドウ表示部２０５と、ディスプレイインタフェース２０６に、中央点定義テーブル作成部１０００を付加した構成となる。
【００５８】
中央点定義テーブル作成部１０００は、オペレータの指定に基づいて中央点定義テーブル２０２の変更を可能とする。具体的には、中央点定義テーブル作成部１０００は、オペレータにマウス２２０を用いてディスプレイ２３０上に利用者の目線の位置をカーソルで指定させ、カーソルの座標を入力する。また、キーボード２１０から表示装置名を入力させる。
【００５９】
そして、入力した座標の値と物理的画面の大きさから中央点データを作成し、表示装置名とともに中央点定義テーブル２０２に格納する。オペレータはこのような簡単な操作で中央点定義テーブル２０２を変更することができる。
【００６０】
上述してきたように、本実施の形態１では、アプリケーション２０１から画面中央へのウィンドウ表示要求があると、表示ウィンドウ位置決定部２０４が中央点定義テーブル２０２の中央点データに基づき、表示ウィンドウの位置を決定する構成としたので、ウィンドウを利用者の目線の位置に合わせて表示して、利用者の視線の移動量を少なくし、もって見やすいウィンドウを表示することができる。
【００６１】
（実施の形態２）
ところで、上記実施の形態１では、新たに表示するウィンドウに着目して、利用者にとって見やすい表示について示したが、複数のウィンドウを利用する場合には、新たなウィンドウを目視中央点に表示するとともに関連するウィンドウをできるだけ重ならないように表示することが重要となる。
【００６２】
そこで、本実施の形態２では、利用者の視線の移動量をできるだけ少なくすると同時に、関連ウィンドウと表示ウィンドウができるだけ重ならないように表示するウィンドウ表示制御装置について説明する。具体的には、表示ウィンドウにできるだけ重ならないように、関連ウィンドウを移動する。
【００６３】
まず、本実施の形態２に係るウィンドウ表示制御装置の構成について説明する。図１１は、本実施の形態２に係るウィンドウ表示制御装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図２に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【００６４】
同図に示すように、コンピュータ２００は、アプリケーション２０１と、中央点定義テーブル２０２と、ウィンドウ管理テーブル２０３と、表示位置決定部１１００と、ウィンドウ表示部２０５と、ディスプレイインタフェース２０６と画面管理テーブル１１０１とからなる。
【００６５】
表示位置決定部１１００は、表示ウィンドウの位置を決定する表示ウィンドウ位置決定部２０４の他に、関連ウィンドウを移動する関連ウィンドウ移動部１１０２を付加した構成となる。すなわち、コンピュータ２００で実行されるアプリケーション２０１から画面中央へのウィンドウ表示要求があると、表示位置決定部１１００が中央点定義テーブル２０２に基づき、ウィンドウ管理テーブル２０３と画面管理テーブル１１０１を参照しながら表示ウィンドウの位置および関連ウィンドウの移動先を決定する。
【００６６】
関連ウィンドウ移動部１１０２は、表示ウィンドウ位置決定部２０４で決定された表示ウィンドウの位置と、画面管理テーブル１１０１に格納された表示画面の大きさおよび重心から、関連ウィンドウを移動する。
【００６７】
図１２は、図１１に示した画面管理テーブル１１０１の一例を示す図である。同図に示すように、画面管理テーブル１１０１は、表示画面の物理的大きさと重心の位置を格納する。この例では、表示画面の大きさは(640, 480)で、重心は(320, 240)である。
【００６８】
次に、表示ウィンドウと関連ウィンドウとの重なりを少なくする表示要領について説明する。図１３は、表示ウィンドウと関連ウィンドウとの重なりを少なくする表示要領を説明するための説明図である。同図（ａ）に示すように、本実施の形態１に係る表示では、関連ウィンドウに重なるかたちで新たなウィンドウを表示する。一方、同図（ｂ）に示すように、本実施の形態２に係る表示では、新たに表示されるウィンドウにできるだけ重ならないように関連ウィンドウを右下に移動する。なお、表示ウィンドウについてはすでに説明したように中央点定義テーブル２０２に基づいて表示制御される。
【００６９】
次に、関連ウィンドウ移動部１１０２の処理手順について説明する。図１４は、図１１に示した関連ウィンドウ移動部１１０２の処理手順を示すフローチャートである。同図に示すように、関連ウィンドウ移動部１１０２は、まず、画面管理テーブル１１０１から画面の重心(acx, acy)を取得する（ステップＳ１４０１）。また、ウィンドウ管理テーブル２０３の表示ウィンドウに関するデータから、表示ウィンドウの重心(bcx, bcy)を求める（ステップＳ１４０２）。表示ウィンドウの重心は、原点に表示ウィンドウの大きさの１／２を加えることによって求めることができる。
【００７０】
ここで、画面の重心のｘ座標acxと表示ウィンドウの重心のｘ座標bcxを比較し、表示ウィンドウが表示画面の左右どちらに寄っているかを調べる（ステップＳ１４０３）。もし、表示ウィンドウが表示画面の左によっていれば、関連ウィンドウをできるだけ右に寄せる（ステップＳ１４０４）。すなわち、関連ウィンドウの原点のｘ座標(DX0)=画面の横の長さ(AX)-関連ウィンドウの横の長さ(DX)となる。
【００７１】
逆に、表示ウィンドウが表示画面の右によっていれば、関連ウィンドウをできるだけ左に寄せる（ステップＳ１４０５）。すなわち、DX0=0となる。表示ウィンドウが表示画面の中心にあれば、関連ウィンドウは移動しない。
【００７２】
同様に、画面の重心のy座標acyと表示ウィンドウの重心のy座標bcyを比較し、表示ウィンドウが表示画面の上下どちらに寄っているかを調べる（ステップＳ１４０６）。もし、表示ウィンドウが表示画面の下によっていれば、関連ウィンドウをできるだけ上に寄せる（ステップＳ１４０７）。すなわち、関連ウィンドウの原点のy座標(DY0)=画面の縦の長さ(AY)-関連ウィンドウの縦の長さ(DY)となる。
【００７３】
逆に、表示ウィンドウが表示画面の上によっていれば、関連ウィンドウをできるだけ下に寄せる（ステップＳ１４０８）。すなわち、DY0=0となる。表示ウィンドウが表示画面の中心にあれば、関連ウィンドウは移動しない。最後に、ウィンドウ管理テーブル２０３の関連ウィンドウの原点の値を、上述した値に変更する（ステップＳ１４０９）。
【００７４】
次に、具体例を使って、関連ウィンドウ移動部１１０２の処理手順について説明する。図１５は、表示ウィンドウの位置が決定した時点でのウィンドウ管理テーブル２０３と画面管理テーブル１１０１の一例を示す図である。同図（ａ）、（ｂ）に示すように、関連ウィンドウの原点(DX0, DY0)は(0, 0)に設定されており、画面の重心(acx, acy)は(320, 240)である。まず、画面の重心のｘ座標acx=320と表示ウィンドウの重心のｘ座標bcx=BX0+BX/2=200+200/2=300を比較する（ステップＳ１４０３）と、acx>bcxなので、関連ウィンドウをできるだけ右に寄せる（ステップＳ１４０４）。すなわち、DX0=AX-DX=640-600=40となる。
【００７５】
同様に、画面の重心のy座標acy=240と表示ウィンドウの重心のy座標bcy=BY0+BY/2=210+100/2=260を比較する（ステップＳ１４０６）と、acy<bcyなので、関連ウィンドウをできるだけ下に寄せる（ステップＳ１４０８）。すなわち、DY0=0となる。この結果、関連ウィンドウの原点は、図１５（ｃ）に示すように(40, 0)に変更される（ステップＳ１４０９）。
【００７６】
図１６は、本実施の形態２に係るウィンドウ表示の一例を示す図である。同図に示すように、表示ウィンドウと関連ウィンドウができるだけ重ならないように、関連ウィンドウを右下に移動する。
【００７７】
上述してきたように、本実施の形態２では、関連ウィンドウ移動部１１０２が、表示ウィンドウの画面位置に基づき、関連ウィンドウと表示ウィンドウができるだけ重ならないように、関連ウィンドウを移動することとしたので、利用者にとって視線の移動量を少なくするだけでなく、関連するウィンドウを見やすく表示することができる。
【００７８】
（実施の形態３）
上記の実施の形態１および２では、本発明に係るウィンドウの位置制御をコンピュータ２００で実行されるプログラムとして実現した場合を示したが、本発明はこれに限定されるものではなく、ディスプレイ２３０上のソフトウエアとして実現することもできる。そこで、本実施の形態３では、ディスプレイ２３０を用いたウィンドウ表示制御装置を示すこととする。
【００７９】
図１７は、本実施の形態３に係るウィンドウ表示制御装置の構成を示す機能ブロック図である。なお、ここでは説明の便宜上、図２に示した各部と同様の役割を果たす機能部については同一符号を付すこととしてその詳細な説明を省略する。
【００８０】
同図に示すように、ディスプレイ１７００は、コンピュータインタフェース１７０１と、中央点定義データ１７０２と、表示位置変更部１７０３と、表示処理部１７０４とからなる。
【００８１】
コンピュータインタフェース１７０１は、コンピュータ２００から画面中央へのウィンドウ表示要求を受け付け、表示位置変更部１７０３に対して画面中央へのウィンドウ表示要求があることを伝える。
【００８２】
表示位置変更部１７０３は、中央点定義データ１７０２に基づき、画面中央へ表示されるウィンドウの表示位置を変更し、表示処理部１７０４へウィンドウの表示を依頼する。
【００８３】
表示処理部１７０４は、表示画面へウィンドウを表示する。また、コンピュータ上のディスプレイインタフェース１７０５は、画面中央へのウィンドウ表示に必要なデータをコンピュータインタフェース１７０１を介してディスプレイ１７００に送る。
【００８４】
図１８は、本実施の形態３に係るディスプレイの概念を説明するための説明図である。同図に示すように、アプリケーション２０１が要求する画面中央へのウィンドウ表示（実線で示すウィンドウ）は、ディスプレイ１７００により、利用者の目線の中央点に基づき、画面の上方への表示となる（破線で示すウィンドウ）。なお、ディスプレイ１７００によって表示位置を変更されたウィンドウに対する座標入力がある場合には、入力座標は元のウィンドウの座標に変更されてコンピュータに送られる。
【００８５】
上述してきたように、本実施の形態３では、アプリケーション２０１からの画面中央へのウィンドウ表示要求に対して、ディスプレイ１７００が利用者の目線の中央点に基づいて表示位置を決定することとしたので、コンピュータは利用者の目線の中央点に基づく処理をすることなく、ウィンドウを利用者の目線の位置に合わせて表示して、利用者の視線の移動量を少なくし、もって見やすいウィンドウを表示することができる。
【００８６】
（付記１）アプリケーションからの要求に応答して表示装置の表示画面上に表示するウィンドウの表示位置を制御するウィンドウ表示制御プログラムであって、
前記表示画面上での利用者の目線中央点を定義した中央点定義テーブルと、
前記中央点定義テーブルに定義された目線中央点に基づいて前記表示画面上での前記ウィンドウの表示位置を制御する表示位置制御プロセスと、
を含んだことを特徴とするウィンドウ表示制御プログラム。
【００８７】
（付記２）前記中央点定義テーブルは、各表示装置ごとに目線中心点の位置をそれぞれ記憶したことを特徴とする付記１に記載のウィンドウ表示制御プログラム。
【００８８】
（付記３）前記表示画面上での利用者の目線中央点の入力を受け付けて中央点定義テーブルに登録する中央点定義テーブル作成プロセスをさらに含んだことを特徴とする付記１または２に記載のウィンドウ表示制御プログラム。
【００８９】
（付記４）前記中央点定義テーブル作成プロセスは、所定の指示部によって前記表示画面上の位置を目線中央点として指示された際に、指示された座標位置を前記中央点定義テーブルに登録することを特徴とする付記３に記載のウィンドウ表示制御プログラム。
【００９０】
（付記５）前記表示位置制御プロセスは、前記表示画面上に表示された第１のウィンドウ上に新たな第２のウィンドウを表示する場合には、前記中央点定義テーブルに定義された目線中央点に基づいて前記第２のウィンドウを表示制御するとともに、前記第１のウィンドウと第２のウィンドウの重畳表示部分を低減するように前記第１のウィンドウを移動させることを特徴とする付記１〜４のいずれか一つに記載のウィンドウ表示制御プログラム。
【００９１】
（付記６）前記表示位置制御プロセスは、前記アプリケーションとオペレーティングシステムのランタイムライブラリとの間に介在する表示制御ライブラリであることを特徴とする付記１〜５のいずれか一つに記載のウィンドウ表示制御プログラム。
【００９２】
（付記７）前記表示位置制御プロセスは、前記アプリケーションとオペレーティングシステム上で動作するウィンドウシステムとの間に介在する表示制御ライブラリであることを特徴とする付記１〜５のいずれか一つに記載のウィンドウ表示制御プログラム。
【００９３】
（付記８）前記表示位置制御プロセスは、前記アプリケーションとＪＡＶＡ仮想マシン上で動作するクラスライブラリとの間に介在する表示制御ライブラリであることを特徴とする付記１〜５のいずれか一つに記載のウィンドウ表示制御プログラム。
【００９４】
（付記９）アプリケーションからの要求に応答して表示装置の表示画面上に表示するウィンドウの表示位置を制御するウィンドウ表示制御方法であって、
前記表示画面上での利用者の目線中央点を定義した中央点定義テーブルに基づいて前記表示画面上での前記ウィンドウの表示位置を制御することを特徴とするウィンドウ表示制御方法。
【００９５】
（付記１０）アプリケーションからの要求に応答して表示装置の表示画面上に表示するウィンドウの表示位置を制御するウィンドウ表示制御装置であって、
前記表示画面上での利用者の目線中央点を定義した中央点定義テーブルと、
前記中央点定義テーブルに定義された目線中央点に基づいて前記表示画面上での前記ウィンドウの表示位置を制御する表示位置制御手段と、
を備えたことを特徴とするウィンドウ表示制御装置。
【００９６】
【発明の効果】
以上説明したように、請求項１の発明によれば、表示画面上での利用者の目線中央点を表示装置ごとに定義する中央点定義テーブルに目線中央点の入力を受け付けて登録し、登録した目線中央点に基づいて表示画面上でのウィンドウの表示位置を制御するよう構成したので、ウィンドウを利用者の目線の位置に合わせて表示して、利用者の視線の移動量を少なくし、もって見やすいウィンドウを表示することが可能なウィンドウ表示制御プログラムが得られるという効果を奏する。
【００９８】
また、請求項２の発明によれば、表示画面上に表示された第１のウィンドウ上に新たな第２のウィンドウを表示する場合には、中央点定義テーブルに定義された目線中央点に基づいて第２のウィンドウを表示制御するとともに、第１のウィンドウと第２のウィンドウの重畳表示部分を低減するように第１のウィンドウを移動させるよう構成したので、複数のウィンドウを同一画面上に表示する場合にも、目線の移動量を効率良く低減することが可能なウィンドウ表示制御プログラムが得られるという効果を奏する。
【図面の簡単な説明】
【図１】本実施の形態１に係るウィンドウのセンタリングの概念を説明するための説明図である。
【図２】本実施の形態１に係るウィンドウ表示制御装置の構成を示す機能ブロック図である。
【図３】利用者の目線の中央点に基づいて表示ウィンドウの位置を求める要領を説明するための説明図である。
【図４】図２に示した中央点定義テーブルの一例を示す図である。
【図５】図２に示した表示ウィンドウ位置決定部の処理手順を示すフローチャートである。
【図６】図２に示したウィンドウ管理テーブルの一例を示す図である。
【図７】図２に示したコンピュータのソフトウェアの構成を示す図である。
【図８】本実施の形態１に係るウィンドウ表示の一例を示す図である。
【図９】本実施の形態１に係る他のウィンドウ表示を示す図である。
【図１０】中央点定義テーブル作成機能を備えたウィンドウ表示制御装置の構成を示す機能ブロック図である。
【図１１】本実施の形態２に係るウィンドウ表示制御装置の構成を示す機能ブロック図である。
【図１２】図１１に示した画面管理テーブルの一例を示す図である。
【図１３】表示ウィンドウと関連ウィンドウとの重なりを少なくする表示要領を説明するための説明図である。
【図１４】図１１に示した関連ウィンドウ移動部の処理手順を示すフローチャートである。
【図１５】表示ウィンドウの位置が決定した時点でのウィンドウ管理テーブルと画面管理テーブルの一例を示す図である。
【図１６】本実施の形態２に係るウィンドウ表示の一例を示す図である。
【図１７】本実施の形態３に係るウィンドウ表示制御装置の構成を示す機能ブロック図である。
【図１８】本実施の形態３に係るディスプレイの概念を説明するための説明図である。
【符号の説明】
２００    コンピュータ
２０１    アプリケーション
２０２    中央点定義テーブル
２０３    ウィンドウ管理テーブル
２０４    表示ウィンドウ位置決定部
２０５    ウィンドウ表示部
２０６，１７０５    ディスプレイインタフェース
２１０    キーボード
２２０    マウス
２３０，１７００    ディスプレイ
７１０ａ，７１０ｂ，７１０ｃ    表示制御ライブラリ
７２０ａ，７２０ｂ，７２０ｃ    オペレーティングシステム
７３０    ウィンドウシステム
７４０    クラスライブラリ
７５０    ＪＡＶＡ仮想マシン
１０００    中央点定義テーブル作成部
１１００    表示位置決定部
１１０１    画面管理テーブル
１１０２    関連ウィンドウ移動部
１７０１    コンピュータインタフェース
１７０２    中央点定義データ
１７０３    表示位置変更部
１７０４    表示処理部
【図１】
0004465142.tif 000002
【図２】
0004465142.tif 000003
【図３】
0004465142.tif 000004
【図４】
0004465142.tif 000005
【図５】
0004465142.tif 000006
【図６】
0004465142.tif 000007
【図７】
0004465142.tif 000008
【図８】
0004465142.tif 000009
【図９】
0004465142.tif 000010
【図１０】
0004465142.tif 000011
【図１１】
0004465142.tif 000012
【図１２】
0004465142.tif 000013
【図１３】
0004465142.tif 000014
【図１４】
0004465142.tif 000015
【図１５】
0004465142.tif 000016
【図１６】
0004465142.tif 000017
【図１７】
0004465142.tif 000018
【図１８】
0004465142.tif 000019