(57)【要約】【課題】  各ウィンドウに対して設定されるＺオーダに依存することなく、かつ、アプリケーション側の処理負荷を増大させることなく、アプリケーションが、重なり合う複数のウィンドウに係る重ね合わせ合成を自在に指定することを可能とする。【解決手段】  アプリケーション１１から送られてくる各ウィンドウの任意の領域における重なり順序情報を解析するためのＺオーダ情報解析部２４をウィンドウシステム１２に設ける。１つのスクリーン内で複数のウィンドウが相互に重なり合った状態において、アプリケーションは、ウィンドウシステムに対して、複数のウィンドウが相互に重なり合う領域内において選択された選択領域と、選択領域においてスクリーンに表示すべき複数のウィンドウのうちのいずれか１つのウィンドウとの対応関係を示す情報を通知する。Ｚオーダ情報解析部は、この情報を解析して、指定されたウィンドウを指定された選択領域に描画する。【選択図】  図１
2005346619.tif 000002
【特許請求の範囲】
【請求項１】
１つの表示スクリーン内において、複数のウィンドウの重なりを管理するウィンドウシステムを利用したウィンドウの描画処理方法であって、
前記ウィンドウシステムを利用するアプリケーションが、前記ウィンドウシステムに対して、複数のウィンドウが重なり合う領域内における任意の指定領域と、前記指定領域において前記表示スクリーンに表示すべき前記複数のウィンドウのうちのいずれか１つのウィンドウと当該１つのウィンドウ以外のウィンドウとの重なり順序の関係を指定する重なり順序情報を生成する生成ステップと、
前記アプリケーションが、前記ウィンドウシステムに対して、前記生成ステップで生成された前記重なり順序情報を通知する通知ステップと、
前記ウィンドウシステムが、前記通知ステップで通知された前記重なり順序情報を解析する解析ステップと、
前記ウィンドウシステムが、前記解析ステップにおける解析結果に基づいて、前記アプリケーションに対して、前記ウィンドウの再描画イベントを発行するイベント発行ステップと、
前記アプリケーションが、前記イベント発行ステップで発行された前記再描画イベントに基づいて、前記ウィンドウシステムに対して、前記ウィンドウのイメージ描画指示を送出する描画指示ステップと、
前記ウィンドウシステムが、前記描画指示ステップで受けた前記イメージ描画指示に係る前記ウィンドウを、前記重なり順序情報によって指定された前記ウィンドウに対応する前記指定領域内に描画する描画ステップとを、
有する描画処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同一スクリーン（表示スクリーン）上に複数のウィンドウと呼ばれる表示領域を表示し、複数のウィンドウのそれぞれにおいて、異なる処理を行うことができるようにするウィンドウシステムを利用した描画処理方法に関する。
【背景技術】
【０００２】
従来、ＰＣ（Personal Computer：パーソナルコンピュータ）やワークステーションなどのコンピュータでは、ユーザが利用しやすいＧＵＩ（Graphical User Interface：グラフィカルユーザインタフェース）環境を提供するために、ウィンドウシステムが採用されている。ウィンドウシステムは、同一スクリーン（例えば、モニタなどの表示画面）上に複数のウィンドウと呼ばれる表示領域を表示し、複数のウィンドウのそれぞれにおいて、異なる処理を行うことができるようにするためのシステムである。このウィンドウシステムは、あるスクリーン上における複数のウィンドウのそれぞれの位置や大きさ、ウィンドウの重なりが生じた場合の上下関係（手前及び奥の関係）を表現するための重なり順序情報（Ｚオーダ）などを管理している。
【０００３】
ここで、上述のようなウィンドウシステムに対して、アプリケーションが図６に示すような複数の重なり合うウィンドウＷ１、Ｗ２、Ｗ３を生成している状態を仮定する。なお、図６では、ウィンドウＷ３が一番奥、その手前にウィンドウＷ２、さらに、その手前にウィンドウＷ１が存在し、ウィンドウＷ３の一部は、ウィンドウＷ１、Ｗ２によって隠れており、ウィンドウＷ２の一部は、ウィンドウＷ１によって隠れている状態が図示されている。
【０００４】
図６に示す状態において、ウィンドウＷ２をすべて可視状態にしたい場合には、アプリケーションは、ウィンドウシステムに対して、ウィンドウＷ２をウィンドウＷ１より手前に位置させるような指示を行う。これにより、図７に示すように、ウィンドウＷ２の領域をすべて可視状態にすることが可能である。
【０００５】
また、下記の特許文献１には、複数のウィンドウを表示した場合に、他のウィンドウと重なっているウィンドウに関しては、重なり合う上下のウィンドウを混合して表示する透明モードによるウィンドウ描画を行うことが可能な技術が開示されている。この場合、図６に示すような複数のウィンドウＷ１、Ｗ２、Ｗ３が重なり合っている状態では、すべてのウィンドウＷ１、Ｗ２、Ｗ３は、図８に示すような混合した状態で表示される。
【０００６】
また、下記の特許文献２には、複数のウィンドウが重なり合う場合に、上位（手前）のウィンドウが、その下位（奥）に存在して隠蔽するウィンドウに関する情報を承継し、上位のウィンドウのタイトルバーなどに下位のウィンドウに関するシンボルを付加表示することが可能な技術が開示されている。この場合、図６に示すような複数のウィンドウＷ１、Ｗ２、Ｗ３が重なり合っている状態では、図９に示すように、ウィンドウＷ２のタイトルバーにウィンドウＷ３に係るシンボル情報［Ｗ３］が表示され、ウィンドウＷ１のタイトルバーにウィンドウＷ２、Ｗ３に係るシンボル情報［Ｗ２］、［Ｗ３］が表示される。
【特許文献１】特開平５−１７３７４３号公報（図６）
【特許文献２】特開平１１−９５９６９号公報（図１０、段落００４８−００６０）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、上述のように、図６に示す状態から図７に示す状態に変えることが可能なウィンドウシステムによれば、複数のウィンドウが重なり合う場合には、各ウィンドウのＺオーダに応じて、奥に存在するウィンドウの一部が常に手前のウィンドウによって隠蔽される状態となり、奥のウィンドウ上の隠蔽された領域に存在する情報は不可視となってしまうという問題がある。また、手前のウィンドウによって奥のウィンドウ全体が完全に隠蔽されてしまう状態では、奥のウィンドウ上の情報だけではなく、奥のウィンドウの位置が不明となるだけではなく、そもそもウィンドウが隠蔽されているか否かが判別不可能な状態となってしまうという問題がある。
【０００８】
また、特許文献１に記載されている技術によれば、図８に示すように、複数のウィンドウが重なり合っている場合でも、すべてのウィンドウに関してウィンドウ全体を可視状態とすることが可能であるが、重なり合う上下のウィンドウを混合して透過表示するため、各ウィンドウ上の情報が重なり合った状態で表示されてしまい、情報の認識や操作が困難になるという問題がある。
【０００９】
また、特許文献２に記載されている技術によれば、図９に示すように、あるウィンドウと他のウィンドウとの上下関係を即座に判別することは可能となるものの、各ウィンドウのＺオーダに応じて、奥に存在するウィンドウの一部が常に手前のウィンドウによって隠蔽される状態となり、奥のウィンドウ上の隠蔽された領域に存在する情報は不可視となってしまうという問題が残る。
【００１０】
また、例えば、アプリケーションが、後述の図３に示すようなウィンドウが複雑に配置されている状態に見える状態としたい場合には、アプリケーションは、図３に示す第１の領域Ｗ１ａ、第２の領域Ｗ２ａ、第３の領域Ｗ２ｂのそれぞれに対応する複雑な形状のイメージを自ら生成し、任意形状のウィンドウを描画できるウィンドウシステムに対して、これらの複雑な形状のイメージを各ウィンドウとして描画する処理を行うことになる。
【００１１】
しかしながら、多数の複雑な形状のウィンドウを描画するような場合には、アプリケーション側における処理負荷が非常に高くなってしまうという問題がある。
【００１２】
上記問題に鑑み、本発明は、各ウィンドウに対して設定されるＺオーダに依存することなく、かつ、アプリケーション側の処理負荷を増大させることなく、アプリケーションが、重なり合う複数のウィンドウに係る重ね合わせ合成を自在に指定することを可能とする描画処理方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明によれば、１つの表示スクリーン内において、複数のウィンドウの重なりを管理するウィンドウシステムを利用したウィンドウの描画処理方法であって、
前記ウィンドウシステムを利用するアプリケーションが、前記ウィンドウシステムに対して、複数のウィンドウが重なり合う領域内における任意の指定領域と、前記指定領域において前記表示スクリーンに表示すべき前記複数のウィンドウのうちのいずれか１つのウィンドウと当該１つのウィンドウ以外のウィンドウとの重なり順序の関係を指定する重なり順序情報を生成する生成ステップと、
前記アプリケーションが、前記ウィンドウシステムに対して、前記生成ステップで生成された前記重なり順序情報を通知する通知ステップと、
前記ウィンドウシステムが、前記通知ステップで通知された前記重なり順序情報を解析する解析ステップと、
前記ウィンドウシステムが、前記解析ステップにおける解析結果に基づいて、前記アプリケーションに対して、前記ウィンドウの再描画イベントを発行するイベント発行ステップと、
前記アプリケーションが、前記イベント発行ステップで発行された前記再描画イベントに基づいて、前記ウィンドウシステムに対して、前記ウィンドウのイメージ描画指示を送出する描画指示ステップと、
前記ウィンドウシステムが、前記描画指示ステップで受けた前記イメージ描画指示に係る前記ウィンドウを、前記重なり順序情報によって指定された前記ウィンドウに対応する前記指定領域内に描画する描画ステップとを、
有する描画処理方法が提供される。
【発明の効果】
【００１４】
本発明は、上記構成を有しており、各ウィンドウに対して設定されるＺオーダに依存することなく、アプリケーションが、重なり合う複数のウィンドウに係る重ね合わせ合成を自在に指定することが可能であるという効果を有する。また、特に、ウィンドウの重ね合わせ合成をアプリケーションからウィンドウシステムに指定できるようにすることにより、複雑なウィンドウの重ね合わせを実現する場合でも、アプリケーション側の処理負荷の増大を防ぐことが可能であるという効果を有する。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照しながら、本発明の実施の形態について説明する。まず、本発明の実施の形態における描画処理方法を実現するための描画処理システムについて説明する。図１は、本発明の実施の形態における描画処理方法を実現するための描画処理システムの構成を示すモジュールの概略図である。図１に示す描画処理システムは、アプリケーション１１、ウィンドウシステム１２、ハードウェア１３を有している。この構成は、例えば、ＯＳ（Operating System：オペレーティングシステム）及びアプリケーション１１が搭載されたＰＣやワークステーションなどのコンピュータによって実現される。
【００１６】
また、ウィンドウシステム１２は、アプリケーションＩ／Ｆ部２１、ウィンドウオーダ管理部２２、ウィンドウ位置サイズ管理部２３、Ｚオーダ情報解析部２４、描画処理部２５を有している。アプリケーションＩ／Ｆ部２１は、アプリケーション１１とのインタフェースである。また、ウィンドウオーダ管理部２２は、各ウィンドウの重なり順序を管理するための処理部である。また、ウィンドウ位置サイズ管理部２３は、各ウィンドウの大きさやスクリーン上での位置を管理するための処理部である。また、Ｚオーダ情報解析部２４は、アプリケーション１１から送られてくる各ウィンドウの任意の領域における重なり順序情報（以下、領域Ｚオーダ情報と呼ぶ）を解析するための処理部である。また、描画処理部２５は、スクリーン上にウィンドウを描画するための処理を行い、実際にフレームメモリを書き換えることが可能な処理部である。なお、本発明は、上記のＺオーダ情報解析部２４に新規な特徴を有している。
【００１７】
次に、図２に示すフローチャートを参照しながら、図１に示す描画処理システムにおける描画処理動作について説明する。なお、ここでは、図６に示す状態から図３に示す状態にスクリーン上のウィンドウの重ね合わせを変更する場合を一例に挙げて説明する。
【００１８】
まず、図３に示す状態について説明する。図３では、ウィンドウＷ３の上に、ウィンドウＷ１の一部（ウィンドウＷ１の右下部（Ｌ字形状））、ウィンドウＷ２の一部（ウィンドウＷ２の左上部（Ｌ字形状））、ウィンドウＷ２の別の一部（ウィンドウＷ２の右下部（矩形））がそれぞれ表示された状態が図示されている。なお、説明を明瞭にするため、上記のウィンドウＷ１の右下部（Ｌ字形状）を第１の領域Ｗ１ａ、ウィンドウＷ２の左上部（Ｌ字形状）を第２の領域Ｗ２ａ、ウィンドウＷ２の右下部（矩形）を第３の領域Ｗ２ｂと呼ぶことにする。また、図３では、後述の説明を理解しやすくするため、スクリーン上における座標を規定するための座標軸及び主要な点Ａ〜Ｄの座標Ａ（３００，１００）、Ｂ（４００，２００）、Ｃ（５００，４００）、Ｄ（６００，５００）が図示されている。
【００１９】
図２のフローチャートに示すように、図６に示す状態から図３に示す状態にスクリーン上のウィンドウの重ね合わせを変更する場合、まず、アプリケーション１１は、図４に示すスクリーン上の任意の領域を指定するとともに、その任意の領域におけるウィンドウの重なり順序を指定する情報（領域Ｚオーダ情報、重なり順序情報と記載することもある）を生成する（ステップＳ１０１）。この領域Ｚオーダ情報は、スクリーン上における任意の位置情報（座標や領域）と、各座標において可視状態にしたいウィンドウを識別するためのウィンドウ識別情報とにより構成されている。
【００２０】
ここでは、図６に示す状態から図３に示す状態にスクリーン上のウィンドウの重ね合わせを変更する例を考えており、図４に示すように、点Ａ及び点Ｄを対角とする矩形領域αと、点Ｂ及び点Ｃを対角とする矩形領域βとによって定められる領域に係るウィンドウの再描画を行うことによって、図６に示す状態から図３に示す状態に変更可能である。具体的には、矩形領域βによって特定される領域ＸをウィンドウＷ２の描画領域とし、矩形領域αから矩形領域βを除いた領域ＹをウィンドウＷ３の描画領域とすればよい。
【００２１】
図４に示す領域において、可視状態にしたいウィンドウを示す領域Ｚオーダ情報は、例えば、図５に示すようなデータ配列によって表すことが可能である。なお、図５に示すデータ配列では、スクリーンの横座標及び縦座標を示す座標値と、ウィンドウＷ２やウィンドウＷ３の値を有するウィンドウ識別情報（図５中では、それぞれＷ２、Ｗ３と記載）との合計３つの値を１組として、各座標において可視状態とするウィンドウが示されている。
【００２２】
また、図５では、図４に示す描画領域に係る領域Ｚオーダ情報が、スクリーン上の各座標を示すビットマップ形式によって構成されているが、例えば、形状を示すシンボルや数式などによって表現されるベクタ形式によって構成されてもよい。
【００２３】
そして、アプリケーション１１は、ステップＳ１０１で生成した領域Ｚオーダ情報をウィンドウシステム１２に対して通知する（ステップＳ１０３）。領域Ｚオーダ情報の通知を受けたウィンドウシステム１２は、Ｚオーダ情報解析部２４で領域Ｚオーダ情報を解析し（ステップＳ１０５）、アプリケーション１１に対して再描画イベントを発行する（ステップＳ１０７）。そして、アプリケーション１１は、ウィンドウシステム１２から受けた再描画イベントに応じたウィンドウのイメージ描画指示をウィンドウシステム１２に対して送り（ステップＳ１０９）、ウィンドウシステム１２は、ウィンドウの重なり順序（ウィンドウのＺオーダ）に関係なく、領域Ｚオーダ情報によって指定された描画領域及びウィンドウの関係に基づいて、再描画処理を行う（ステップＳ１１１）。
【００２４】
例えば、図４に示す領域Ｘに関して、ウィンドウシステム１２は、ウィンドウＷ２の再描画イベントをアプリケーションに対して発行する。ウィンドウシステム１２から再描画イベントを受けたアプリケーション１１は、ウィンドウＷ２のイメージ描画指示をウィンドウシステム１２に対して送り、ウィンドウシステム１２は、現在設定されているウィンドウのＺオーダに依存することなく、ウィンドウＷ２によって領域Ｘのメモリバッファを描画する。これにより、図４に示す領域ＸがウィンドウＷ２によって描画され、すなわち、図３に示す第３の領域Ｗ２ｂが描画される。
【００２５】
また、図４に示す領域Ｙに関しても同様に、ウィンドウＷ３によって描画される。これにより、図４に示す領域ＹがウィンドウＷ３によって描画され、すなわち、図３に示す第３の領域Ｗ２ｂの周囲がウィンドウＷ３によって囲まれるように描画されるとともに、図３に示す第１の領域Ｗ１ａ、第２の領域Ｗ２ａが形成され、図６に示す状態から図３に示す状態への変更が完了する。
【００２６】
なお、上述の例では、図６に示す状態から図３に示す状態への変更の過程で、図４に示す領域において、領域ＸにウィンドウＷ２を描画し、領域ＹにウィンドウＷ３を描画する場合について説明したが、他の過程を経て図３に示す状態に変更することも可能であり、こうした過程は任意に選択可能である。また、上述の例では、アプリケーション１１が重なり順序を変更する領域が矩形によって表すことができる場合について説明したが、他の任意の形状によって表される場合についても、同様に処理することが可能である。また、重なり合うウィンドウの数や重ね合わせ状態に関しても特に限定されず、任意のウィンドウ数及び任意の重ね合わせ状態において、本発明の適用が可能である。
【００２７】
以上、説明したように、本発明によれば、アプリケーション１１から送られてくる各ウィンドウの任意の領域における重なり順序を示す領域Ｚオーダ情報を解析するＺオーダ情報解析部２４をウィンドウシステム１２に設けたことにより、アプリケーション１１は、可視状態にしたい任意のウィンドウの任意の領域をウィンドウシステム１２に対して直接通知し、ウィンドウシステム１２から受けた再描画イベントに応じて、ウィンドウのイメージ描画指示をウィンドウシステム１２に対して行うだけで、アプリケーション側の処理負荷を増大させることなく、ウィンドウの自由な重ね合わせ合成が実現される。
【産業上の利用可能性】
【００２８】
本発明は、各ウィンドウに対して設定されるＺオーダに依存することなく、アプリケーションが、重なり合う複数のウィンドウに係る重ね合わせ合成を自在に指定することが可能であるという効果を有しており、同一スクリーン上に複数のウィンドウを表示し、複数のウィンドウのそれぞれにおいて、異なる処理を行うことができるようにするウィンドウシステム技術や、このウィンドウシステムを利用するアプリケーションに係る技術に適用可能である。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施の形態における描画処理方法を実現するための描画処理システムの構成を示すモジュールの概略図である。
【図２】本発明の実施の形態における描画処理動作を示すフローチャートである。
【図３】本発明の実施の形態における描画処理動作によって生成されるスクリーン内における複数のウィンドウの重ね合わせ状態の一例を示す図である。
【図４】本発明の実施の形態における描画処理動作によってアプリケーション側から指定される領域Ｚオーダ情報に含まれる領域を示す図である。
【図５】本発明の実施の形態における描画処理動作によってアプリケーション側から指定される領域Ｚオーダ情報を構成するデータ配列例を示す図である。
【図６】従来の技術及び本発明を説明するためのスクリーン内における複数のウィンドウの重ね合わせ状態の第１の例を示す図である。
【図７】従来の技術及び本発明を説明するためのスクリーン内における複数のウィンドウの重ね合わせ状態の第２の例を示す図である。
【図８】従来の技術に係る複数のウィンドウの重ね合わせ表示の第１の例を示す図である。
【図９】従来の技術に係る複数のウィンドウの重ね合わせ表示の第２の例を示す図である。
【符号の説明】
【００３０】
１１  アプリケーション
１２  ウィンドウシステム
１３  ハードウェア
２１  アプリケーションＩ／Ｆ部
２２  ウィンドウオーダ管理部
２３  ウィンドウ位置サイズ管理部
２４  Ｚオーダ情報解析部
２５  描画処理部
【図１】
2005346619.tif 000003
【図２】
2005346619.tif 000004
【図３】
2005346619.tif 000005
【図４】
2005346619.tif 000006
【図５】
2005346619.tif 000007
【図６】
2005346619.tif 000008
【図７】
2005346619.tif 000009
【図８】
2005346619.tif 000010
【図９】
2005346619.tif 000011