(57)【要約】【課題】上位階層のウインドウが存在していても下位階層のウインドウヘの入力操作を阻害することなく簡単に行うことができるようにする。【解決手段】第１のウインドウ４０１のカーソル４０３によって指定された入力位置が、第２のウインドウ４０２から所定距離か否かを判別する判別手段と、第１のウインドウ４０１で使用されていない領域を算出する算出手段と、第２のウインドウ４０２が収まる場所を探し出す検索手段と、判別手段によって、指定された入力位置が所定距離離れていないとき、検索手段から該当した場所に第２のウインドウ４０２を移動させるウインドウ移動手段と、を有する。【選択図】図１
2009199456.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも表示装置を備え、該表示装置に複数のウインドウが同時に表示され得る情報処理装置であって、
入力操作の対象となっている第１のウインドウと、
前記第１のウインドウの上面に重なって表示される第２のウインドウと、
前記第１のウインドウにおけるカーソルによって指定された入力位置が、前記第２のウインドウから所定距離だけ離れているか否かを判別する判別手段と、
前記第１のウインドウで使用されていない領域を算出する算出手段と、
前記第２のウインドウのサイズが収まる場所を探し出す検索手段と、
前記判別手段によって、前記指定された入力位置が前記第２のウインドウから前記所定距離だけ離れていないと判別されたとき、前記検索手段から該当した場所に前記第２のウインドウを移動させるウインドウ移動手段と、を有することを特徴とする情報処理装置。
【請求項２】
少なくとも表示装置を備え、該表示装置に入力操作の対象となっている第１のウインドウが表示されると共に、該第１のウインドウの上面に重なって第２のウインドウが表示される情報処理装置における表示方法であって、
前記第１のウインドウにおけるカーソルによって指定された入力位置が、前記第２のウインドウから所定距離だけ離れているか否かを判別する判別ステップと、
前記第１のウインドウで使用されていない領域を算出する算出ステップと、
前記第２のウインドウのサイズが収まる場所を探し出す検索ステップと、
前記判別ステップによって、前記指定された入力位置が前記第２のウインドウから前記所定距離だけ離れていないと判別されたとき、前記検索ステップから該当した場所に前記第２のウインドウを移動させるウインドウ移動ステップと、を有することを特徴とする表示方法。
【請求項３】
請求項２記載の表示方法の各ステップをコンピュータにて実施させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、ウインドウ表示方法及びプログラムに関する。
【背景技術】
【０００２】
従来、マルチウインドウ形式のオペレーティングシステムにおいては、複数のウインドウを限られた広さの表示画面に表示するため、ウインドウ同士が重なってしまうことがある。このような装置においてウインドウの階層関係を保持したまま重なったウインドウ部分を見るために、前面のウインドウを半透明化する技術（例えば特許文献１参照）がある。これにより、ウインドウを移動させる手間なく、ウインドウの階層関係を変えることなく、同時に複数のウインドウの情報を見て操作することができる。
【０００３】
ウインドウを半透明化する方法の例として、特許文献１のように複数のウインドウを持つ端末装置（株式会社東芝）が知られている。この例では、複数のウインドウが存在しており、それらのウインドウが重なり合っていた場合、重なり合っている下位層のウインドウが半透明化になり前面に表示することで、上下層のウインドウの状態を見ることができる。
【０００４】
【特許文献１】特開平１１−２４９７８２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記のようなウインドウ表示方法では以下のような問題点を持つ。即ち、或るウインドウでポインティングデバイスを用いて連続的に入力を行い、そのポインティングデバイスを移動させながら入力を行っている。その際に、カーソルの移動先で、「或るウインドウ」よりも前面位置に、「他のウインドウ」が表示されていた場合、例えそれらの「他のウインドウ」が半透明化になっていても入力の妨げになってしまう。
【０００６】
そのため「或るウインドウ」における入力を一旦中断し、その「他のウインドウ」をアクティブにして邪魔にならない位置に移動させ、その上で「或るウインドウ」をアクティブにして入力を再開するようにしていた。
【０００７】
かかる例について、従来のマルチウインドウシステムのディスプレイ画面を示す図１２及び図１３を参照して具体的に説明する。
このシステムでは映像通信を行いながら自由描画アプリケーションが実行されているものとし、ディスプレイにはアプリケーションウインドウ１２０１が「或るウインドウ」として表示されている。
そして、通信先の映像ウインドウ１２０２が「他のウインドウ」であり、アプリケーションウインドウ１２０１の上面に半透明化状態で表示されている。
【０００８】
図１３において、ウインドウ１３０１でカーソル１３０３を用いて描画内容１３０４を描画中に、ウインドウ１３０２の下面に隠れたアプリケーションウインドウ１３０１の部分に長時間描画を行いたい場合等を考える。この場合、映像ウインドウ１３０２を移動させるために描画操作を中断する。
【０００９】
このように上位のウインドウを半透明化することで、上下層のウインドウを同時に見ることができるようになっても、描画などの作業を行う環境では上位のウインドウが邪魔になって、従来と変わらない操作を行う必要があった。
【００１０】
本発明はこのような問題点に鑑みてなされたものであって、上位階層のウインドウが存在していても下位階層のウインドウヘの入力操作を阻害することなく簡単に行うことができるようにすることを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために本発明は、少なくとも表示装置を備え、該表示装置に複数のウインドウが同時に表示され得る情報処理装置であって、
入力操作の対象となっている第１のウインドウと、
前記第１のウインドウの上面に重なって表示される第２のウインドウと、
前記第１のウインドウにおけるカーソルによって指定された入力位置が、前記第２のウインドウから所定距離だけ離れているか否かを判別する判別手段と、
前記第１のウインドウで使用されていない領域を算出する算出手段と、
前記第２のウインドウのサイズが収まる場所を探し出す検索手段と、
前記判別手段によって、前記指定された入力位置が前記第２のウインドウから前記所定距離だけ離れていないと判別されたとき、前記検索手段から該当した場所に前記第２のウインドウを移動させるウインドウ移動手段と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明では、下位ウインドウで作業中に作業上必要な上位ウインドウの階層関係を変えることなく、作業内容に応じて上位ウインドウが作業に邪魔にならない場所に移動する。これにより、下位ウインドウでの作業を中断することなしに進めることができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して本発明に関わる実施形態を詳細に説明する。
図１は、本発明に係るマルチウインドウシステムのハードウェアの基本構成の一例を示すブロック図である。マルチウインドウシステムは、ＣＰＵ、メモリ、記憶装置、入力装置、出力装置、バスを具備している。
【００１４】
ＣＰＵ１０１は処理の演算を行なう。メモリ１０２は演算に必要な記憶領域を実現する。記憶装置１０３はマルチウインドウシステムのプログラムデータ自体やマルチウインドウシステムで表示している内容、及びその動作に必要なデータの格納も行なうものとする。入力装置１０４はユーザがマウスやデジタイザ、キーボードなどを用いて入力された情報を受け付ける。出力装置１０５は、入力装置１０４で入力された情報及びＣＰＵ１０１で演算された結果を表示する。バス１０６は、これらの装置間を繋ぎデータを転送する。マルチウインドウシステムのプログラムデータ１０７は、記憶装置１０３の一部データとして格納されている。
【００１５】
図２は、本発明のマルチウインドウシステムのハードウェアの機能構成の一例を示すブロック図である。
情報記憶手段２０１とは、情報管理手段２０２からの要求に従い、現在管理や表示しているオブジェクト情報などを書き込み、又は書き込まれた情報を読み出されるものである。情報管理手段２０２は、情報記憶手段２０１を操作・管理するものであり、制御手段２０３からの要求に従い、情報を情報記憶手段２０１に書き込み、又は情報を削除し、あるいは情報を情報記憶手段２０１から読み出す。制御手段２０３は、受信手段２０４で受信した情報に応じて記憶や表示をするための指示を与える。受信手段２０４は、ユーザがデジタイザなどによって書き込んだ描画情報やカーソルの移動指示の受信を行う。表示手段２０５は、ユーザがデジタイザなどによって書き込まれた描画情報に基づいて表示を行うものである。
【００１６】
図３は、本発明のマルチウインドウシステムにおいて実行される本発明に係るディスプレイ表示処理の手順を示すフローチャートである。
ステップＳ３０１では描画するためのウインドウがフォーカスを取得したかを判定する。フォーカスを取得したということは、描画ウインドウに何かを入力するアクションである。
【００１７】
ここで、テレビ電話アプリケーションなどで使われる相手映像ウインドウのような描画には、不必要であるけれどもアプリケーション上必要なウインドウが存在するため、ステップＳ３０２によって描画ウインドウ以外のウインドウを半透明化する。また、描画ウインドウのフォーカスが失った場合は、入力を終了した、もしくは別のウインドウに注視したいというアクションであるため、ステップＳ３０３ではステップＳ３０２で半透明化したウインドウの表示を元に戻す。
【００１８】
ステップＳ３０４では描画ウインドウがフォーカスを取得してユーザが入力作業を開始した際に、その入力作業の所定距離以内に半透明化したウインドウが存在しているか、即ち使用されていない領域を確認する。存在していなければ、ここまでの処理を繰り返すことで待機する。半透明化のウインドウが存在していた場合、ステップＳ３０５において描画ウインドウの未描画領域と、その半透明化したウインドウのサイズを算出する。
【００１９】
図４は、ステップＳ３０２においてユーザが描画を行う際に、描画ウインドウにフォーカスをあてたときのディスプレイに表示される画面を示す図である。
４０１は描画ウインドウのウインドウ（第１のウインドウ）であり、その上位階層に映像である別ウインドウ４０２（第２のウインドウ）が表示されている。４０３はカーソルであり、既にオブジェクト４０４ａ〜４０４ｃがオブジェクトとして書き込まれている。特に、４０４ａは今書き始めたオブジェクトである。なお、以下の図１１までの図中、各オブジェクトの符号の末尾（ａ〜ｆ）により対応関係が示される。
【００２０】
図５は、図４の状態から半透明になっているウインドウ方向に描画を行っている最中のディスプレイに表示される画面を示す図である。描画最中のオブジェクト５０４ａが映像ウインドウ５０２方向に向かって描画をしている。
【００２１】
ここで、描画の最先端であるカーソル５０３にて指定された入力位置と映像ウインドウ５０２の間隔５０５が、所定距離以内かどうかをステップＳ３０４で測定して判別する。所定距離はウインドウによって可変しても問題はない。また、距離が０、即ち半透明化ウインドウと重なった場合にステップＳ３０５の処理を行っても問題はない。
【００２２】
ステップＳ３０６ではステップＳ３０５で取得した未描画領域に対して、対象となっている半透明化ウインドウサイズが収めることができる部分を検索する。存在している場合は、半透明化ウインドウを移動するための処理ステップＳ３０７に進み、存在しない場合は別の手段を行うためにステップＳ３０８に進む。ステップＳ３０７では、半透明化ウインドウを未描画領域（使用されていない領域）に移動する処理（ウインドウ移動）を行う。移動可能箇所が複数存在していた場合は、半透明化ウインドウにとって重要度の高い場所にそのウインドウを移動する。そして、処理はスタートに戻る。
【００２３】
図６は、図５の状態からステップＳ３０５の処理を行った際に描画ウインドウが描画されていない部分を取得したときのイメージ図である。網掛け部分６０６が、描画ウインドウ６０１が描画されていない部分である。
【００２４】
図７は、図６の状態からステップＳ３０６、ステップＳ３０７の処理を行った後のディスプレイに表示される画面を示す図である。図６と比較すると、半透明化ウインドウである映像ウインドウ７０２が以前より上部に移動していることが分る。
【００２５】
移動箇所は描画ウインドウ７０１の下部も候補として挙げられるが、映像ウインドウの場合は画面上部もしくは描画入力部分の周辺が重要度として高いため、結果として図７のような表示になったのである。例えばツールバーのようなウインドウの場合は下の方に存在している場合が多く、この場合は下の方が重要度が高いため下の方から重要度を高く設定させてもよい。
【００２６】
ステップＳ３０８以降では、半透明化ウインドウの移動できる領域がなかったときの処理を行う。先ず、半透明化ウインドウは可変可能か確認する。可変できない場合はステップＳ３１１の処理を行う。可能の場合は、次のステップＳ３０９に進む。ステップＳ３０９では半透明化ウインドウを小さくして、その小さくしたウインドウの大きさで再びステップＳ３０６と同じ処理を行う。このとき、小さくしたウインドウが収まる箇所が存在した場合は次のステップＳ３１０に進み、小さくしてもそのウインドウが収まることができない場合はステップＳ３１１に進む。
【００２７】
図８は、図５と比較して描画オブジェクトが広範囲に多数配置されている場合のディスプレイに表示される画面を示す図である。
この場合も同様に描画の最先端であるカーソル８０３の位置と映像ウインドウ８０２の間隔が所定距離以内であるために未描画領域に移動を試みる。しかし、現在の映像ウインドウサイズでは移動する場所が存在しないので、映像ウインドウサイズを小さくすることで解決を試みる。
【００２８】
図９は、図８の状態から映像ウインドウを小さくして移動した際のディスプレイに表示される画面を示す図である。
移動する前の映像ウインドウサイズでは移動する箇所が存在しなかったため、サイズを小さくして移動可能場所を探し出し、重要度の高い場所に表示を行ったため、図９のような表示になった。
【００２９】
ステップＳ３１１では半透明化ウインドウが移動するための描画作業に邪魔にならない場所が見つからなかったため、最低でも今の描画作業の邪魔にならない箇所に移動する処理を行う。そのために、描画入力とは反対方向に半透明化ウインドウを移動させる処理を行い、スタート処理に戻る。
【００３０】
図１０は、図８から更に描画オブジェクトが広範囲、高密度に多数配置されている場合のディスプレイに表示される画面を示す図である。
【００３１】
図１１は、図１０の状態から描画最中のオブジェクト１００４ａが、映像ウインドウ１００２方向に向かって描画をした時のディスプレイに表示される画面を示す図である。
この場合、映像ウインドウ１１０２を可変させても未描画領域に移動することができないため、最終的に描画最中のオブジェクト１１０４ａの邪魔にならない場所に移動する。この例では描画最中のオブジェクト１００４ａは右方向に描画が行われているので、映像ウインドウ１１０２はその描画に対して左側に移動することになる。この場合は一例であり、映像ウインドウの所定の格納場所が存在していた場合はその場所に格納表示してもかまわない。
【００３２】
以上が、マルチウインドウシステムにおける上位下位のウインドウの作業内容によって表示の処理を行う流れであり、これによって描画作業の邪魔にならず、作業の中断を回避することができる。
【００３３】
本実施形態では入力対象と上位のウインドウの距離のみで判定をする例を述べたが、上位ウインドウ周辺で入力をしている時間などと組み合わせて行ってもかまわない。
例えば、上位ウインドウを一瞬で通り過ぎて描く描画に対しては上位ウインドウの表示に変化はないが、一定時間その上位ウインドウ周辺に滞在して描く描画に関しては先ほど述べた処理を行うようにしても問題はない。
【００３４】
なお、前述した実施の形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体をシステムあるいは装置に供給し、そのシステム等のコンピュータが記憶媒体に格納されたプログラムコードを読み出して実行することでも本発明が達成される。
この場合、記憶媒体から読み出されたプログラムコード自体が、前述の実施の形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体が本発明を構成することになる。
【００３５】
上記記憶媒体として、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
また、そのプログラムコードの指示に基づき、コンピュータ上のＯＳなどが実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も、本発明に含まれることは言うまでもない。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施の形態にかかるマルチウインドウシステムのハードウェアの基本構成を示すブロック図である。
【図２】本発明の実施の形態にかかるマルチウインドウシステムのハードウェアの機能構成を示すブロック図である。
【図３】本発明の実施の形態にかかるマルチウインドウシステムの基本構成を示すフローチャートである。
【図４】本発明の実施の形態にかかる上位ウインドウが半透明化状態になった場合にディスプレイに表示される画面を示す図である。
【図５】本発明の実施の形態にかかる入力中の描画オブジェクトが半透明化状態になった上位ウインドウに接近したときにディスプレイに表示される画面を示す図である。
【図６】本発明の実施の形態にかかる描画ウインドウの未描画領域を図示したイメージ図である。
【図７】本発明の実施の形態にかかる入力中の描画オブジェクトが半透明化状態になった上位ウインドウに接近した後にディスプレイに表示される画面を示す図である。
【図８】本発明の実施の形態にかかる入力中の描画オブジェクトが半透明化状態になった上位ウインドウに接近したときにディスプレイに表示される画面を示す図である。
【図９】本発明の実施の形態にかかる入力中の描画オブジェクトが半透明化状態になった上位ウインドウに接近した後にディスプレイに表示される画面を示す図である。
【図１０】本発明の実施の形態にかかる入力中の描画オブジェクトが半透明化状態になった上位ウインドウに接近したときにディスプレイに表示される画面を示す図である。
【図１１】本発明の実施の形態にかかる入力中の描画オブジェクトが半透明化状態になった上位ウインドウに接近した後にディスプレイに表示される画面を示す図である。
【図１２】従来のマルチウインドウシステムのディスプレイ画面を示す図である。
【図１３】従来のマルチウインドウシステムのディスプレイ画面を示す図である。
【符号の説明】
【００３７】
１０１  ＣＰＵ
１０２  メモリ
１０３  記憶装置
１０４  入力装置
１０５  出力装置
１０６  バス
１０７  プログラムデータ
２０１  情報記憶手段
２０２  情報管理手段
２０３  制御手段
２０４  受信手段
【図１】
2009199456.tif 000003
【図２】
2009199456.tif 000004
【図３】
2009199456.tif 000005
【図４】
2009199456.tif 000006
【図５】
2009199456.tif 000007
【図６】
2009199456.tif 000008
【図７】
2009199456.tif 000009
【図８】
2009199456.tif 000010
【図９】
2009199456.tif 000011
【図１０】
2009199456.tif 000012
【図１１】
2009199456.tif 000013
【図１２】
2009199456.tif 000014
【図１３】
2009199456.tif 000015