(57)【要約】【課題】  本発明は、下レイヤのウィンドウの描画データが上レイヤのウィンドウに透過表示されることによる視認性の低下を改善し、視認性を向上させることを目的とする。【解決手段】  第１のウィンドウの下位レイヤに表示される第２のウィンドウに描画される描画データを表示する表示領域の大きさが、ウィンドウの重複領域において所定の大きさ以下であると判断した場合、重複領域において描画データが描画されないように制御し、又は、第１のウィンドウの透過度を低くして描画データを描画させる。【選択図】  図８
2012234493.tif 000002
【特許請求の範囲】
【請求項１】
第１のウィンドウの下位レイヤに表示される第２のウィンドウに描画される描画データを表示する表示領域の大きさを検出する検出手段と、
前記表示領域の大きさが所定の大きさより大きいか判断する判断手段と、
前記第１のウィンドウと前記第２のウィンドウとが重複する重複領域における前記表示領域の大きさが前記所定の大きさより大きいと前記判断手段が判断した場合、前記重複領域において前記描画データが前記第１のウィンドウに透過されるように制御し、前記重複領域における前記表示領域の大きさが前記所定の大きさ以下であると前記判断手段が判断した場合、前記重複領域において前記描画データが描画されないように制御し、又は、前記表示領域の大きさが前記所定の大きさより大きい場合よりも前記第１のウィンドウの透過度を低くして前記描画データが描画されるように制御する制御手段とを有することを特徴とする表示制御装置。
【請求項２】
前記第１のウィンドウについての設定された透過度を記録する記録手段を有し、
前記記録手段に記録された透過度が所定の透過度以上である場合には、前記制御手段は、前記重複領域における前記表示領域の大きさが前記所定の大きさ以下であると前記判断手段が判断した場合に、前記重複領域において前記描画データが描画されないように制御し、又は、前記記録された透過度よりも前記第１のウィンドウの透過度を低くして前記描画データが描画されるように制御し、前記記録手段に記録された透過度が所定の透過度よりも低い場合には、前記制御手段は、前記表示領域の大きさが前記所定の大きさ以下であると前記判断手段が判断した場合であっても、前記記録手段に記録された透過度で前記描画データが描画されるように制御することを特徴とする請求項１に記載の表示制御装置。
【請求項３】
第１のウィンドウの下位レイヤに表示される第２のウィンドウに描画される文字のフォントサイズが所定のフォントサイズよりも大きいか判断する判断手段と、
前記第１のウィンドウと前記第２のウィンドウとが重複する重複領域における前記フォントサイズの大きさが前記所定のフォントサイズよりも大きいと前記判断手段が判断した場合、前記重複領域において前記文字が前記第１のウィンドウに透過されるように制御し、前記重複領域における前記フォントサイズの大きさが前記所定のフォントサイズ以下であると前記判断手段が判断した場合、前記重複領域において前記文字が描画されないように制御し、又は、前記フォントサイズが前記所定のフォントサイズより大きい場合よりも前記第１のウィンドウの透過度を低くして前記文字が描画されるように制御する制御手段とを有することを特徴とする表示制御装置。
【請求項４】
第１のウィンドウの下位レイヤに表示される第２のウィンドウに描画される図形の模様と所定の模様とが対応するか判断する判断手段と、
前記第１のウィンドウと前記第２のウィンドウとが重複する重複領域における前記図形の模様が前記所定の模様と対応しないと前記判断手段が判断した場合、前記重複領域において前記図形を前記第１のウィンドウに透過して描画させ、前記重複領域における前記図形の模様が前記所定の模様と対応すると前記判断手段が判断した場合、前記重複領域において前記図形が描画されないように制御し、又は、前記図形の模様が前記所定の模様と対応する場合よりも前記第１のウィンドウの透過度を低くして前記図形が描画されるように制御する制御手段とを有することを特徴とする表示制御装置。
【請求項５】
検出手段が、第１のウィンドウの下位レイヤに表示される第２のウィンドウに描画される描画データを表示する表示領域の大きさを検出する検出ステップと、
判断手段が、前記表示領域の大きさが所定の大きさよりも大きいか判断する判断ステップと、
制御手段が、前記第１のウィンドウと前記第２のウィンドウとが重複する重複領域における前記表示領域の大きさが前記所定の大きさより大きいと前記判断ステップにおいて判断された場合、前記重複領域において前記描画データが前記第１のウィンドウに透過されるように制御し、前記重複領域における前記表示領域の大きさが前記所定の大きさ以下であると前記判断ステップにおいて判断された場合、前記重複領域において前記描画データが描画されないように制御し、又は、前記表示領域の大きさが前記所定の大きさより大きい場合よりも前記第１のウィンドウの透過度を低くして前記描画データが描画されるように制御する制御ステップとを有することを特徴とする表示制御方法。
【請求項６】
第１のウィンドウと前記第１のウィンドウの下位レイヤに表示される第２のウィンドウの表示制御を行うコンピュータに、
前記第２のウィンドウに描画される描画データを表示する表示領域の大きさを検出する検出手順と、
前記表示領域の大きさが所定の大きさよりも大きいか判断する判断手順と、
前記第１のウィンドウと前記第２のウィンドウとが重複する重複領域における前記表示領域の大きさが前記所定の大きさより大きいと前記判断手順において判断された場合、前記重複領域において前記描画データが前記第１のウィンドウに透過されるように制御し、前記重複領域における前記表示領域の大きさが前記所定の大きさ以下であると前記判断手順において判断された場合、前記重複領域において前記描画データが描画されないように制御し、又は、前記表示領域の大きさが前記所定の大きさより大きい場合よりも前記第１のウィンドウの透過度を低くして前記描画データが描画されるように制御する制御手順とを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のウィンドウを重ねて表示させる表示制御装置、表示制御方法、及び、プログラムに関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータ、デジタル家電、モバイル機器等の表示画面上に、複数の異なるアプリケーションがそれぞれ独立にウィンドウを描画するシステムが一般的に用いられている。近年では、グラフィックス描画性能の向上により、ウィンドウが下レイヤのウィンドウに描画される描画データを透過するシステムも用いられている。このようなシステムにおいては、複数のウィンドウが重複した場合に、下レイヤのウィンドウの描画データが上レイヤのウィンドウに透過して描画される。
下レイヤのウィンドウの描画データが上レイヤのウィンドウに透過するシステムとして、複数のウィンドウの重複部分の描画データの種類に基づいて透過度を調整する技術が公開されている（例えば、特許文献１）。またウィンドウが重複する領域で、下レイヤのウィンドウに描画される内容を上レイヤのウィンドウの表示よりも薄く表示する技術も公開されている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１０−１７７４６６
【特許文献２】特開平０８−１２３６５２
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、ウィンドウ同士が重複する領域においては、独立に描画された複数の描画データが重なって表示されるため、ウィンドウの表示位置の関係、および描画された描画データの組み合わせ、大きさ等によって視認性が低下する場合がある。図２に、半透明ウィンドウの重畳例を示す。図２（ａ）の表示では、表示領域の一部で文字同士が重なり合い、メインで作業を行っている上レイヤのウィンドウ、およびその下に重なる下レイヤのウィンドウの両方で表示内容が視認しづらい領域が存在する。同様に図２（ｂ）の表示では、上レイヤのウィンドウでＣＡＤや地図で用いるような微細なグラフィックスを編集する場合に、類似のグラフィックスデータが下レイヤのウィンドウに描画されると、パターンの混在による錯視により視認性が低下する恐れがある。
【課題を解決するための手段】
【０００５】
上述の課題を解決するために本発明は、第１のウィンドウの下位レイヤに表示される第２のウィンドウに描画される描画データを表示する表示領域の大きさを検出する検出手段と、前記表示領域の大きさが所定の大きさより大きいか判断する判断手段と、前記第１のウィンドウと前記第２のウィンドウとが重複する重複領域における前記表示領域の大きさが前記所定の大きさより大きいと前記判断手段が判断した場合、前記重複領域において前記描画データが前記第１のウィンドウに透過されるように制御し、前記重複領域における前記表示領域の大きさが前記所定の大きさ以下であると前記判断手段が判断した場合、前記重複領域において前記描画データが描画されないように制御し、又は、前記表示領域の大きさが前記所定の大きさより大きい場合よりも前記第１のウィンドウの前記透過度を低くして前記描画データを描画させるように制御する制御手段とを有することを特徴とする
【発明の効果】
【０００６】
本発明によれば、下レイヤのウィンドウの描画データが上レイヤのウィンドウに透過するように描画されることによる視認性の低下を改善し、視認性を向上させることができる。
【図面の簡単な説明】
【０００７】
【図１】本発明にかかる表示制御装置の構成例を示す図。
【図２】重複領域における描画データの重なりについて説明するための図。
【図３】制御部１０３の動作を説明するためのフローチャート。
【図４】管理部１０２の動作を説明するためのフローチャート。
【図５】グローバル座標系におけるウィンドウの表示例を示す図。
【図６】ウィンドウ管理テーブル及びローカルウィンドウ管理テーブルを示す図。
【図７】ウィンドウ制御情報及び重複領域情報を示す図。
【図８】実施例１における描画部の動作を説明するためのフローチャート。
【図９】実施例２における描画部の動作を説明するためのフローチャート。
【発明を実施するための形態】
【０００８】
以下、図面を参照して本発明の実施の形態を説明する。
【０００９】
＜実施例１＞
本実施例にかかる表示制御装置を実現するための構成を図１に示す。図１に示した各構成要素は、物理的に独立なハードウェアとして構成してもよいし、同等の機能を有するソフトウェアの１つ以上のインスタンスとして構成してもよい。
【００１０】
入力制御部１０１は、不図示の入力装置から入力された描画データを後述の制御部１０３に出力する。ここで、描画データとは表示装置の表示画面に表示されたウィンドウ内に描画される文字や図形、ビットマップデータ等のことをいう。
管理部１０２は、表示装置の表示画面に表示されるウィンドウの位置とサイズ、複数のウィンドウが重複する重複領域の位置とサイズ、重複領域の数、ウィンドウの上下関係を表すＺレベル、及び、ウィンドウの透過度を後述の制御部１０３から取得して管理する。これらの情報の管理については図５および図６を用いて詳細を後述する。
【００１１】
描画部１０４及び描画部１０５（以下、これらの描画部を総称して「描画部」という。）は、それぞれウィンドウ内に描画される文字や図形などの描画データを生成する。描画部１０４及び描画部１０５は、並列に動作する描画モジュールとして構成する方法のほかに、ソフトウェア的に複数のアプリケーションを１つの描画モジュールやプロセッサの上にインスタンスし、シーケンシャルに描画を行う方法をとってもよい。また、描画モジュールの数はアプリケーションの性質やウィンドウ数に応じて、任意の数としてよい。描画部によって描画された複数のウィンドウの描画データは、合成部１０６に入力される。
また描画部１０４、１０５は、下レイヤのウィンドウに描画される描画データを表示する表示領域の大きさを検出する。描画データを表示する表示領域の大きさとは、例えば、描画された描画データの面積である。または、描画データが内接する多角形の領域の面積を表示領域の大きさとしてもよい。あるいは、描画データが文字である場合は、文字を入力するための領域であるテキストボックスの大きさを表示領域の大きさとしてもよい。
描画部１０４、１０５は、図５を用いて後述するグローバル座標系における重複領域の位置と、グローバル座標系における描画データの表示領域の位置とから、重複領域に全部または一部が含まれる描画データの表示領域を検出する。そして、描画部は、重複領域に含まれる描画データ表示領域の大きさ、あるいは、描画データの表示領域のうち重複領域に含まれる部分の大きさを検出する。
また描画部１０４、１０５は、検出した表示領域の大きさが、後述の制御部１０３から受信した所定の大きさよりも大きいか判断する。
【００１２】
合成部１０６は、描画部１０４、１０５が描画した複数のウィンドウを合成する。合成部１０６によるウィンドウの合成結果は、表示制御部１０７に入力される。表示制御部１０７は、合成部１０６が合成した複数のウィンドウを表示装置に表示させる。
制御部１０３は、入力制御部１０１から受信した入力データを用いて管理部１０２、描画部１０４、描画部１０５、合成部１０６の制御を行う。制御部１０３が行う制御については、詳細を後述する。
【００１３】
次に、管理部１０２が管理する情報について図５および図６を用いて説明する。本実施例では、管理部１０２は表示画面におけるウィンドウの位置やサイズをグローバル座標系を用いて管理する。また、管理部１０２は各ウィンドウ領域内における重複領域の位置やサイズをローカル座標系を用いて管理する。
【００１４】
グローバル座標系におけるウィンドウの表示例を図５に示す。本実施例では、ウィンドウ５０１およびウィンドウ５０２が不透明、ウィンドウ５０３が半透明であるものとする。本実施例では、背景にもっとも近いレイヤに描画されるウィンドウのＺレベルを０と定義する。図５の表示例では、Ｚレベル０のレイヤとしてウィンドウ５０２、Ｚレベル１のレイヤとしてウィンドウ５０１、Ｚレベル２のレイヤとしてウィンドウ５０３が描画されている。
【００１５】
管理部１０２が、図５を用いて説明した各ウィンドウの情報管理に用いるウィンドウ管理テーブルを図６（ａ）に示す。ウィンドウ管理テーブルは、各ウィンドウについて、ウィンドウの識別に用いられるＩＤ６０８、Ｚレベル６０１、グローバル座標系におけるウィンドウの座標６０２、サイズ６０３、透過度６０４の情報を持つ。ウィンドウの透過度は、そのウィンドウの下位レイヤ（以下、下レイヤという。）のウィンドウに描画される描画データが、そのウィンドウに透過する度合いを示す。本実施例では、不透過の場合（描画データを描画しない場合）を透過度０、半透明の場合を透過度０．５として表す。また、ウィンドウ管理テーブルは、あるウィンドウ内の領域であって、そのウィンドウの上位レイヤ（以下、上レイヤという。）に別のウィンドウが重複している領域である重複領域についての情報を持つ。例えばウィンドウ管理テーブルは、重複領域の座標６０５、サイズ６０６、上に重なるウィンドウの透過度である重複透過度６０９、重複領域数６０７の情報を持つ。
【００１６】
例えば、図６（ａ）に示したウィンドウ管理テーブルにおいて、ウィンドウ５０１はＩＤが２０のエントリとして表現される。本実施例においては、ウィンドウの左上の頂点の座標をウィンドウ座標として用いる。ウィンドウ５０１のウィンドウ座標は、（１，１）となる。また、ウィンドウサイズは（６，３）である。これは、グローバル座標において、ウィンドウ５０２の横幅が６目盛分であり、縦幅が３目盛分であることを表している。以下、ウィンドウのサイズについて同様に表記する。また、ウィンドウ５０１は上述の通り不透明であるため、ウィンドウ透過度は０である。また、ウィンドウ５０１は、半透明のウィンドウ５０３が上に重なるため、重複領域数は１である。ウィンドウ５０１と、ウィンドウ５０３の重複領域５０４は、グローバル座標系において（４，２）と表される。また、重複領域サイズは（３，２）と表される。また、ウィンドウ５０１の上レイヤに重複しているウィンドウ５０３の透過度が０．５であることから、重複透過度は０．５と表される。
ウィンドウ５０２は、ウィンドウ管理テーブルにおいて、ＩＤが３０のエントリとして表現される。ウィンドウ５０２についてもウィンドウ５０１と同様にして各情報がウィンドウ管理テーブルに保持される。
ウィンドウ５０３は、ウィンドウ管理テーブルにおいて、ＩＤが１０のエントリとして表現される。ウィンドウ５０３は半透明であり、ウィンドウ透過度は０．５である。ウィンドウ５０３は、最上位のウィンドウであり、上に重なる他のウィンドウがないため、ウィンドウ重複領域数は０である。
【００１７】
次に、管理部１０２が各ウィンドウ領域内における重複領域の位置等を管理するために用いるローカルウィンドウ管理テーブルを図６（ｂ）に示す。ローカルウィンドウ管理テーブルは、ＩＤ６０８、重複透過度６０９、ローカル重複領域座標７０３、ローカル重複領域サイズ７０４、重複領域数６０７についての情報を持つ。
重複領域サイズ６０６、重複領域数６０７、重複透過度６０９、ＩＤ６０８については図６（ａ）のウィンドウ位置テーブルに記録される情報と同じ情報であるため同一の符号を付し説明を省略する。
【００１８】
ローカル重複領域座標７０３は重複領域の位置を、ウィンドウごとのローカル座標系によって表現するものである。本実施例では、各ウィンドウのウィンドウ座標６０２がローカル座標の原点（０，０）であるとする。
例えば本実施例において、ＩＤ２０で表されるウィンドウ５０１のローカル座標系の原点はグローバル座標系における（１，１）である。また、ウィンドウ５０１上にウィンドウが重複している重複領域の座標はグローバル座標系における（４，２）である。そして、ウィンドウ５０１のローカル重複領域座標は、ローカル座標系では（４−１，２−１）＝（３，１）として表される。
【００１９】
また、ＩＤ３０で表されるウィンドウ５０２のローカル座標系の原点はグローバル座標系における（２，３）である。また、ウィンドウ５０２上にウィンドウが重畳している重複領域の座標もグローバル座標系における（２，３）である。そして、ウィンドウ５０２のローカル重複領域座標はローカル座標系では（２−２、３−３）＝（０，０）として表される。
ローカル座標の原点の位置はウィンドウ座標６０２に限られない。ローカル座標の原点を任意に設定し、ウィンドウ管理テーブルにおいて各ウィンドウのエントリにローカル座標系の原点情報を持たせることとしてもよい。この場合、グローバル座標系における重複領域の座標値と原点情報とを用いてローカル座標系における重複領域の位置を導出することができる。以上のようにして、管理部１０２はウィンドウや重複領域についての上述の情報の管理を行う。以上のようにして管理部１０２は、ウィンドウの位置とサイズ、ウィンドウの重複領域の位置とサイズ、重複領域の数、ウィンドウの上下関係、及び、ウィンドウの透過度の管理を行う。
【００２０】
次に、制御部１０３が行う描画指示制御の内容について説明する。制御部１０３は、入力制御部１０１から入力されたデータから、ウィンドウ位置の変更及びウィンドウのサイズ変更に関する情報を抽出し、管理部１０２にウィンドウ制御情報として通知する。ウィンドウ制御情報を受信した管理部１０２は、当該ウィンドウ制御情報に基づいて図６に示したウィンドウ管理テーブル及びローカルウィンドウ管理テーブルを更新する。ウィンドウ制御情報について図７（ａ）を用いて説明する。
【００２１】
ウィンドウ制御情報は、ＩＤ６０８、Ｚ制御フラグ９０１、変更後ウィンドウ座標９０２、変更後ウィンドウサイズ９０３、変更後ウィンドウ透過度９０４についての情報を持つ。Ｚ制御フラグ９０１は、ウィンドウの表示位置を最前面に変更させるために用いる。Ｚ制御フラグが１である場合に、ウィンドウを最前面に表示させる。制御部１０３は、変更先のウィンドウ座標として変更後ウィンドウ座標９０２を通知する。また、制御部１０３は、変更後のウィンドウサイズとして変更後ウィンドウサイズ９０３を通知する。さらに、制御部１０３は、変更後のウィンドウ透過度として変更後ウィンドウ透過度９０４を通知する。
【００２２】
また制御部１０３は、入力制御部１０１から描画データを取得すると、取得した描画データの描画を行う描画部を決定して決定した描画部に描画指示を行う。制御部１０３は、ウィンドウの位置、サイズ、透過度等の変更に伴ってウィンドウの描画を指示する。描画指示の際に、制御部１０３は重複領域情報を描画部に通知する。重複領域情報の例を図７（ｂ）に示す。制御部１０３は、重複領域情報として重複透過度８０１、重複領域座標８０２、重複領域サイズ８０３、および重複領域数８０４を通知する。制御部１０３は、図６（ｂ）のローカルウィンドウ管理テーブルから描画データの描画を行うウィンドウについての重複領域数６０７、ローカル重複領域座標７０３、重複領域サイズ６０６、重複透過度７０２を読み出して図７（ｂ）の重複領域情報の通知を行う。
【００２３】
また制御部１０３は、描画部に対する初期化処理を行った後、描画データを描画部に入力する。初期化処理において制御部１０３は、描画部に対して、ウィンドウ内の描画データを表示する表示領域の大きさが所定の大きさ以下である場合に描画データの描画をスキップさせる描画省略処理を行うように設定する。制御部１０３は、描画省略処理の設定として、描画データの表示領域の大きさと比較するための所定の大きさの設定を描画部に対して行う。また、上記の描画省略処理に替えて、描画データを表示する表示領域の大きさが所定の大きさよりも大きい場合に比べて上に重なるウィンドウの透過度を透過しにくくするようにしてもよい。また、表示領域の大きさと比較する所定の大きさは、重複領域の大きさに応じて変化させることとしてもよい。さらに、初期化処理において上に重なるウィンドウの透過度が所定の透過度より高い（描画データを透過しやすい）場合のみ、制御部１０３は描画データの描画省略処理を実施させるように設定してもよい。この場合、初期化処理では、描画省略処理を適用する重複透過度の閾値となる描画省略透過度を、各描画部に対して設定する。また制御部１０３は、描画部から描画が完了したことを示す通知を受信すると、合成部１０６に対してウィンドウの合成指示を行う。
【００２４】
次に、本実施例における制御部１０３の動作を図３のフローチャートを用いて説明する。プロセッサ及びメモリを用いて制御部１０３の機能を実現する形態では、図３の処理フローは、図３に示される手順をこのプロセッサに実行させるためのプログラムを示す。このプロセッサは、コンピュータであり、メモリから読み出したプログラムを実行する。メモリは、このプロセッサが読み出すことができるようにこのプログラムを記録した記録媒体である。
【００２５】
まず制御部１０３は、画面更新の開始タイミングを待つ（Ｓ３０１）。画面更新のタイミングとして例えば、図示しないアプリケーションプログラムからの画面更新指示の受信や、入力制御部１０１からのウィンドウ操作指示の受信等がある。画面の更新を行う場合（Ｓ３０１でｙｅｓの場合）、制御部１０３は更新するウィンドウについて、図６（ｂ）に示した管理部１０２のローカルウィンドウ管理テーブルに記憶された情報を取得する（Ｓ３０２）。
そして制御部１０３は、表示位置又はサイズの変更が指示されたウィンドウの描画を行う描画部を決定する（Ｓ３０３）。描画部の決定には任意の方法を用いることができる。描画部の決定方法については、発明の本質ではないので説明を省略する。
【００２６】
続いて、制御部１０３は描画部を決定したウィンドウの領域内に半透明ウィンドウとの重複領域があるか判定する（Ｓ３０４）。判定は、取得したステップＳ３０２で取得した図６（ｂ）の重複領域数６０７と重複透過度６０９に基づいて行う。制御部１０３は、重複領域数６０７が０より大きく、かつ、重複透過度６０９が０より大きいウィンドウは半透明ウィンドウとの重複領域があると判定する。半透明ウィンドウとの重複領域がない場合（Ｓ３０４でｎｏの場合）には、後述するステップＳ３０６に進む。
半透明ウィンドウとの重複領域があると判定された場合（Ｓ３０４でｙｅｓの場合）、制御部１０３は、ステップＳ３０３において決定した描画部に対し、図７（ｂ）に示した重複領域情報を通知する（Ｓ３０５）。
【００２７】
次に制御部１０３は、ステップＳ３０３において決定した描画部に対してウィンドウの描画開始の指示を行う。そして制御部１０３は、表示位置又はサイズの変更が指示された全てのウィンドウについて描画開始処理が行われたか判断する（Ｓ３１１）。まだ描画開始処理が行われていないウィンドウがある場合（Ｓ３１１でｎｏの場合）は、ステップＳ３０３からステップＳ３１１までの処理を繰り返す。
全てのウィンドウについて描画が開始された場合（Ｓ３１１でｙｅｓの場合）、制御部１０３は、描画開始の指示により起動されたすべての描画部がウィンドウの描画を完了したか判断する（Ｓ３０７）。ウィンドウの描画完了は、後述する描画部からの描画完了割り込みによって検出する。
【００２８】
次に制御部１０３は、合成部１０６に合成パラメータを指定して合成開始を指示し、描画された複数のウィンドウを合成する（Ｓ３０８）。以上で１フレームの描画処理を完了する。
制御部１０３は、入力制御部１０１から入力されたデータにウィンドウの位置の変更、およびサイズ変更の要求を含むものがあるか否かを判断する（Ｓ３０９）。ウィンドウの位置の変更、およびサイズ変更の要求がない場合は、ステップ３０１に戻り次の画面更新を待つ。制御部１０３は、ウィンドウの位置の変更、又は、サイズ変更の要求がある場合には、管理部１０２に対して、図７（ａ）に示したウィンドウ制御情報を出力する（Ｓ３１０）。
【００２９】
次に、管理部１０２の動作について図４のフローチャートを用いて説明する。プロセッサ及びメモリを用いて管理部１０２の機能を実現する形態では、図４の処理フローは、図４に示される手順をこのプロセッサに実行させるためのプログラムを示す。このプロセッサは、コンピュータであり、メモリから読み出したプログラムを実行する。メモリは、このプロセッサが読み出すことができるようにこのプログラムを記録した記録媒体である。
【００３０】
まず管理部１０２は、制御部１０３からウィンドウの位置変更、又は、サイズ変更等に関する指示があるか否かを判断する（Ｓ４０１）。本実施例では、制御部１０３から図７（ａ）のウィンドウ制御情報を受信した場合に、管理部１０２はウィンドウの位置変更又はサイズ変更等があったと判断する。
ウィンドウの位置変更、又は、サイズ変更等の指示がある場合（Ｓ４０１でｙｅｓの場合）、管理部１０２は、ウィンドウの位置又はサイズ等を更新する（Ｓ４０２）。更新する内容はウィンドウの位置やサイズに限られない。例えば、管理部１０２は、ウィンドウの重複順序の変更がＺ制御フラグ９０１によって指示された場合は、図６（ａ）に示したウィンドウ管理テーブルのＺレベルを更新し、ウィンドウの上下関係を変更する。ウィンドウの透過度が変更された場合は、ウィンドウ透過度６０４の値を更新する。
【００３１】
一方、ウィンドウの位置変更、又は、サイズ変更等の指示がない場合（Ｓ４０１でｎｏの場合）、管理部１０２は、後述のステップＳ４１０の処理を行う。
【００３２】
続いて管理部１０２は、ステップＳ４０３からステップＳ４１０において、図６（ａ）に示したウィンドウ管理テーブルのうち、重複領域座標６０５、重複領域サイズ６０６、重複領域座標６０５、及び、重複領域数６０７の更新を行う。
管理部１０２は、Ｚレベル６０１が０のウィンドウをカレントとして指定する。（Ｓ４０３）。そして管理部１０２は、カレントに指定したウィンドウ（以下、「カレントウィンドウ」という。）より大きいＺレベルを有するウィンドウが存在するか否かを判断する（Ｓ４０４）。
カレントウィンドウより大きいＺレベルを有するウィンドウが存在する場合（Ｓ４０４でｎｏの場合）、管理部１０２はカレントウィンドウとの重複領域が存在するか判断するための比較ウィンドウを設定する。ステップＳ４０５では、管理部１０２はカレントウィンドウよりも１レイヤ上にあるウィンドウを比較ウィンドウとして設定する。例えば、カレントウィンドウのＺレベルが０の場合、比較ウィンドウとしてまずＺレベル１のウィンドウが比較ウィンドウとして設定される。
【００３３】
管理部１０２は、カレントウィンドウと比較ウィンドウに重複領域があるかどうかを判断する（Ｓ４０６）。重複領域があるかどうかの判断は、例えば、図６（ａ）のウィンドウ管理テーブルのウィンドウ座標６０２及びウィンドウサイズ６０３により特定されるカレントウィンドウの領域内に、比較ウィンドウの一部又は全部が含まれるか判断して行うことができる。
ウィンドウの重複領域が存在する場合（Ｓ４０６でｙｅｓの場合）は、管理部１０２は、カレントのウィンドウの重複領域数６０７をインクリメントし、さらに、重複領域座標６０５、重複領域サイズ６０６を更新する（Ｓ４０７）。そして管理部１０２は、現在の比較ウィンドウよりもＺレベルがひとつ大きいウィンドウを新たな比較ウィンドウとして設定する（Ｓ４０８）。重複領域がない場合は（Ｓ４０６でｎｏの場合）、管理部１０２はステップＳ４０７の処理を実行しないでステップＳ４０８の処理を行う。
【００３４】
次に管理部１０２は、ステップＳ４０８において新たに設定した比較ウィンドウが実際に存在するか否かを判断する（Ｓ４０９）。新たに設定したＺレベルの比較ウィンドウが存在する場合（Ｓ４０９でｙｅｓの場合）、管理部１０２はステップＳ４０６からステップＳ４０８を繰り返す。新たに設定したＺレベルに対応するウィンドウが存在しない場合（Ｓ４０９でｎｏの場合）、管理部１０２はカレントウィンドウをＺレベルが１つ大きいウィンドウに変更し、ステップＳ４０４からステップＳ４０９を繰り返す（Ｓ４１０）。
カレントウィンドウが最上位のウィンドウになると（Ｓ４０４でｙｅｓの場合）、管理部１０２は、制御部１０３からのウィンドウ制御情報のリクエストを判断する（Ｓ４１１）。制御部１０３からウィンドウ制御情報をリクエストされた場合、管理部１０２は、図６（ａ）のウィンドウ管理テーブルの重複領域座標６０５から、ウィンドウ制御情報のローカル重複領域座標７０３を計算する。そして管理部１０２は、図７（ｂ）の重複領域情報を生成して制御部１０３に送信する（Ｓ４１２）。
【００３５】
次に、描画部の動作を図８のフローチャートを用いて説明する。プロセッサ及びメモリを用いて制御部１０３の機能を実現する形態では、図８の処理フローは、図８に示される手順をこのプロセッサに実行させるためのプログラムを示す。このプロセッサは、コンピュータであり、メモリから読み出したプログラムを実行する。メモリは、このプロセッサが読み出すことができるようにこのプログラムを記録した記録媒体である。
【００３６】
まず描画部は、制御部１０３から描画データの入力を受け付ける（Ｓ１００１）。次に描画部は、制御部１０３から描画データの描画を指示されたウィンドウについて、図７（ｂ）に示した重複領域情報を制御部１０３から受信しているか判断する（Ｓ１００２）。描画を指示されたウィンドウのＩＤに対応する重複領域情報を受信していない場合（Ｓ１００２でｎｏの場合）、描画部は描画データの描画指示に従って描画処理を行う（Ｓ１００５）。描画を指示されたウィンドウのＩＤに対応する重複領域情報を受信している場合（１００２でｙｅｓの場合）、描画部は描画データが重複領域に含まれるか否かを判断する（Ｓ１００３）。本実施例では、ステップＳ１００３の判断は、図７（ｂ）の重複領域情報に含まれる重複領域座標８０２、及び重複領域サイズ８０３の情報に基づいて行う。これらの情報と、ウィンドウにおける描画データのローカル座標とを比較することにより、ステップＳ１００３の判断を行うことができる。描画データが重複領域に含まれない場合（Ｓ１００３でｎｏの場合）、描画部はステップＳ１００５へ進み描画データの描画を行う。
【００３７】
描画データが重複領域に含まれる場合（Ｓ１００３でｙｅｓの場合）、描画部は描画データの表示領域の大きさが所定の大きさである描画省略サイズより大きいか判断する。描画データの表示領域の大きさが描画省略サイズより大きい場合（ステップＳ１００４においてｙｅｓの場合）、描画部は描画データの描画を行う（Ｓ１００５）。描画データの表示領域の大きさが描画省略サイズ以下である場合（ステップＳ１００４においてｎｏの場合）は描画データの描画が終了したか判断する（Ｓ１００６）。このようにして、描画部はステップＳ１００４での判断結果に応じて、重複領域において、下レイヤのウィンドウの描画データを上レイヤのウィンドウに透過させるか否か決定する。
【００３８】
ステップＳ１００６では、描画部は入力された描画データが１フレーム分すべて終了したか否かを判断し、終了していない場合は、ステップＳ１００１へ戻り、次の描画データの処理を行う。ステップＳ１００６において１フレームの描画完了が検出されると、ステップ１００７において制御部１０３に対し、フレーム終了を通知する。
【００３９】
上記の例では、重複領域が存在する場合、描画部は必ずステップＳ１００３において描画データが重複領域に含まれるか判断することとしたがこれに限られない。例えば、重複領域が存在すると判断された場合（Ｓ１００２でｙｅｓの場合）、描画部は図７（ｂ）に示した重複透過度８０１が所定の透過度以上であるか判断することとしてもよい。例えば、所定の透過度は０．３とすることができる。重複透過度８０１が所定の透過度より小さい場合、ステップＳ１００５に進み、描画データの描画を行う。一方、重複透過度８０１が所定の透過度以上である場合、描画部はステップＳ１００３に進み、描画データが重複領域に含まれるか判断することとしてもよい。
このようにして、透過度が低く、下レイヤのウィンドウの描画データが上レイヤの描画データの視認性を低下させる可能性が低い場合には、描画省略処理を行わないようにすることができる。
【００４０】
制御部１０３は、上述した様に、すべての描画部の処理の終了を待ち、描画データを合成し画面へ表示する指示を合成部１０６に対して出力する。
合成部１０６は、上述のようにして描画部が描画したカレントウィンドウと上レイヤのウィンドウとを合成する。合成部１０６によるウィンドウの合成結果は、表示制御部１０７に入力される。
表示制御部１０７は、合成部１０６が合成した複数のウィンドウを表示装置に表示させる。このようにして、表示制御部１０７は、カレントウィンドウに描画される描画データの表示領域の大きさが所定の大きさよりも大きい場合には重複領域においてカレントウィンドウの描画データを上レイヤのウィンドウに透過して表示させる。また表示制御部１０７は、カレントウィンドウに描画される描画データの表示領域の大きさが所定の大きさ以下である場合には、重複領域においてカレントウィンドウに描画される描画データが描画されないようにする。
【００４１】
本実施例に係る発明は、制御部が、下レイヤのウィンドウに描画される描画データを表示する表示領域の大きさが所定の大きさよりも大きいと判断した場合、下レイヤのウィンドウの描画データを上レイヤのウィンドウに透過するように描画させる。従って、不透過ウィンドウの表示のみのシステムと比較して画面に表示すべき情報量が増加し作業効率を向上させることができる。一方、下レイヤのウィンドウの描画データの表示領域の大きさが所定の大きさよりも小さい場合には、重複領域において、下レイヤのウィンドウの描画データを描画しない。このようにして、表示領域の大きさが小さく、情報量の少ない描画データの表示を省略することができる。従って、重複領域における視認性の低下を改善し、視認性を向上させることができる。さらに、本実施例では、下レイヤのウィンドウの描画データの表示領域の大きさが所定の大きさ以下である場合には、重複領域において、下レイヤのウィンドウの描画データを描画しない。従って、描画データを構成するために必要な画像処理や描画処理の負荷を低減させることができる。描画処理の付加低減により、画面の描画速度の向上が期待できる。
【００４２】
また、図８に示したステップＳ１００４において、下レイヤのウィンドウに描画される描画データを表示する表示領域の大きさが所定の大きさよりも小さい場合に描画データの描画を行う（Ｓ１００５）こととしてもよい。この場合、当該描画データを表示する表示領域の大きさが描画省略サイズ以上である場合はステップＳ１００６に進んで処理を行う。このようにすれば、下レイヤのウィンドウの大きさが所定の大きさよりも小さい場合には、重複領域の視認性を低下させる可能性が低いので、重複領域において表示される情報量を重視して下レイヤの描画データを描画させるようにすることができる。一方、当該描画データを表示する表示領域の大きさが所定の大きさ以上である場合には、重複領域の視認性を低下させることを防ぐために当該描画データが重複領域において描画されないようにすることができる。さらに、この場合、重複領域において、下レイヤのウィンドウの描画データを描画しないので、描画データを構成するために必要な画像処理や描画処理の負荷を低減させることができる。描画処理の付加低減により、画面の描画速度の向上が期待できる。
【００４３】
所定の大きさ以上の描画データを省略する場合であって、下レイヤのウィンドウの重複領域における描画データが複数ある場合、それらの描画データの中で最も大きな描画データのみは描画省略処理を行わないこととしてもよい。このようにすれば、下レイヤのウィンドウに描画される描画データの大枠をユーザが認識することができる。
【００４４】
さらに、図８に示したステップＳ１００４において下レイヤのウィンドウの描画データの表示領域の大きさが、所定の大きさより大きい場合と所定の大きさより小さい場合のいずれの場合に描画データの描画（Ｓ１００５）を行うか選択できる構成としてもよい。この場合、制御部１０３が、描画部に対し、いずれの場合に描画データの描画を行うかについて設定を行う。このようにすれば、ユーザが重複領域における視認性や表示される情報量を考慮して所望の設定を行うことができ、ユーザの利便性が向上する。
【００４５】
さらに、図８に示したステップＳ１００４において、下レイヤのウィンドウの描画データの表示領域の大きさが、所定の下限値と所定の上限値の範囲外にある場合は、下レイヤのウィンドウの描画データを描画しないようにしてもよい。この場合、下レイヤのウィンドウの描画データの表示領域の大きさが、重複領域の視認性や情報量を考慮して、適切な大きさである場合のみ、当該描画データを描画させることができる。
【００４６】
以上のように、本実施例では、前記表示領域の大きさが所定の大きさよりも大きいか判断した結果に応じて、重複領域において、描画データを前記第１のウィンドウに透過するように描画させるか否かを制御する。従って本実施例によれば、下レイヤのウィンドウの描画データが上レイヤのウィンドウに透過して描画されることによる視認性の低下を改善し、視認性を向上させることができる。また、本実施例では、所定の場合には下レイヤのウィンドウの描画データの描画を行わないので、描画処理の付加低減により、画面の描画速度の向上が期待できる。
表示領域の大きさと比較するための描画省略サイズ又は所定の大きさは、重複領域の大きさに応じて設定されることとしてもよい。このようにすれば、重複領域における相対的な大きさを考慮ながら、下レイヤの描画データの描画を制限するか否かを決定することができる。
【００４７】
実施例１では、描画部は下レイヤのウィンドウの描画データの表示領域の大きさが所定の大きさよりも小さい場合（Ｓ１００４でｎｏの場合）に、重複領域にカレントウィンドウの描画データが描画されないようにした。しかし、重複領域における下レイヤのウィンドウの描画データの表示領域の大きさが所定の大きさよりも小さい場合の表示制御方法はこれに限られない。例えば、この場合に描画部は、下レイヤのウィンドウの描画データの表示領域の大きさが所定の大きさ以上である場合よりも、カレントウィンドウの描画データが上レイヤのウィンドウに透過されにくくして描画を行ってもよい。描画部の描画結果を受けて表示制御部１０７は、下レイヤのウィンドウの描画データの表示領域の大きさが所定の大きさ以上である場合よりも上レイヤのウィンドウに透過されにくくしてカレントウィンドウの描画データを描画させる。このような構成によっても、重複領域における視認性を向上させることができる。
【００４８】
また、上記実施例では制御部１０３は、下レイヤのウィンドウの描画データの表示領域の大きさと所定の大きさとを比較することとしたが、当該所定の大きさに代えて、上レイヤのウィンドウの描画データの表示領域の大きさに基づく大きさと比較してもよい。このようにすれば、上レイヤに描画される描画データの表示の大きさを考慮して、上レイヤに描画される描画データの視認性に影響を与える場合に下レイヤのウィンドウの描画データを描画しないようにし、又は描画を制限することができる。例えば、下レイヤのウィンドウの描画データの領域の大きさが上レイヤの描画データの表示領域の大きさよりも小さい場合には、上レイヤの描画データの視認性を向上させるために下レイヤのウィンドウの描画データの描画を制限することができる。このようにして、重複領域の描画データの視認性が向上する。
【００４９】
また、描画データの表示領域の大きさの判断はウィンドウ単位に行ってもよい。あるいはウィンドウを複数の領域に区分し、区分した領域ごとに描画データの表示領域の大きさの判断及び当該描画データの描画可否の決定を行ってもよい。区分した領域ごとに属性の判断を行うことにより、重複領域に複数の描画データが存在する場合でも、描画データごとに描画させるか否かの判断を行うことができる。一方、ウィンドウ全体を単位として描画データの表示領域の大きさの判断を行うことにより、判断のための処理負荷を軽減し、描画速度を向上させることができる。
【００５０】
＜実施例２＞
実施例２では、重複領域において下レイヤのウィンドウに描画される描画データを構成する文字や模様の大きさに応じて、当該描画データの描画を省略する制御を行う表示制御装置について説明する。
実施例２の表示制御装置の構成について、実施例１の表示制御装置の構成と異なる点について説明する。本実施例において、管理部１０２は、重複領域情報として、図７（ｂ）に示した情報に加えて、重複領域の下レイヤのウィンドウに描画される描画データの種別についての情報を生成して制御部１０３に出力する。本実施例においては、描画データの種別として、文字と図形の種別があるものとする。描画データの種別は、例えば、描画データの入力に用いられるマウスやキーボードなどの入力ディバイスの種類により判別することができる。
【００５１】
また本実施例において、描画部は描画を行う描画データの内容が所定の内容であるか判断する。ここで、描画データの内容とは、例えば、描画される文字の大きさや種類、描画データが図形である場合における当該図形の模様等である。その他の構成については、実施例１において述べたものと同じなので説明を省略する。
【００５２】
次に、実施例２における表示制御装置の動作について説明する。制御部１０３の動作については、図３を用いて説明した動作と同じであるので説明を省略する。また、管理部１０２の動作については図４を用いて説明した動作と同じであるので説明を省略する。続いて補正部の動作について、図９を用いて説明する。
ステップＳ１００１からステップＳ１００３までの処理は実施例１において図８を用いて説明した処理と同じであるので同じ符号を付して説明を省略する。描画部は、重複領域に描画データが含まれると判断した場合（ステップＳ１００３においてｙｅｓの場合）、描画データが文字であるか図形であるか判断する（Ｓ９００１）。描画データが文字であるか図形であるかの判断は、制御部１０３から受信した重複領域情報のうちの描画データ種別についてのデータに基づいて行う。
【００５３】
描画データが文字である場合（Ｓ９００１でｙｅｓの場合）、描画部は文字のフォントサイズが所定値より大きいか判断する（Ｓ９００２）。フォントサイズが所定値より大きい場合、描画部は文字の描画を行う（Ｓ９００４）。一方、フォントサイズが所定のフォントサイズ以下である場合、描画部は文字の描画を行わずにステップＳ１００６へ進む。
【００５４】
描画データが図形である場合（Ｓ９００１でｎｏの場合）、描画部は図形の模様として所定の模様に対応する模様が用いられているか判断する（Ｓ９００３）。所定の模様に対応する模様とは、所定の模様と一致し、又は、ほぼ一致する模様のことをいう。図形に所定の模様と対応する模様が用いられている場合（Ｓ９００３でｙｅｓの場合）、描画部は当該図形の模様を描画しない。あるいは、この場合、当該図形自体を描画しないようにしてもよい。一方、用いられている模様が所定の模様と対応しない場合（Ｓ９００３でｎｏの場合）、描画部は図形の模様を描画する（Ｓ９００４）。当該所定の模様として、複雑な模様や細かい模様など、重複領域に描画された場合、重複領域の視認性を低下させるような模様を予め識別可能にして登録しておくことができる。描画部が図形の模様を描画する際に、予め用意された模様から選択して模様を描画する場合、選択可能な模様のうち視認性を低下させる模様に予め識別情報を付し、描画部が判断可能なようにしておくことができる。あるいは、重複領域の視認性を低下させるような模様を予め登録しておき、パターンマッチングにより、重複領域に描画される描画データが予め登録された模様と一致するか判断することにより、ステップＳ９００３の処理を行うこととしてもよい。
【００５５】
以降、ステップＳ１００６及びステップＳ１００７の処理は実施例１において説明した処理と同じなので、同じ符号を付して説明を省略する。
【００５６】
本実施例によれば、重複領域において、下レイヤのウィンドウに描画された文字のフォントサイズが小さく、重複領域の視認性が低下する場合には文字の描画を省略することにより、重複領域の視認性が向上する。また、本実施例によれば、重複領域において、下レイヤのウィンドウに描画された図形の模様が複雑であったり細かい場合には、当該模様又は当該図形の描画を省略することにより、重複領域の視認性を向上させることができる。また、描画処理を省略することにより、画面の描画速度の向上が期待できる。
【００５７】
また、本実施例では文字又は図形の模様の描画を省略する場合について説明したが、上レイヤのウィンドウの透過度が所定の透過度よりも高い場合のみ、文字又は図形の模様の描画を省略することとしてもよい。また、実施例１と同様に、描画省略処理に替えて、上レイヤのウィンドウの透過度を低くすることとしてもよい。この場合にも同様に重複領域において視認性を向上させることができる。また、描画データと比較するフォントサイズや図形の模様は、重複領域の大きさに応じて変更できることとしてもよい。
【００５８】
また、実施例２では描画データが文字である場合、図形である場合に、それぞれ所定のフォントサイズ、所定の模様と描画データを比較することとしたが、これに限られない。例えば、描画データが文字である場合は、描画データと所定のフォントサイズとを比較して判断するが、描画データが図形である場合には、描画データと所定の模様との比較を行わないこととしてもよい。あるいは、描画データが図形である場合には、描画データと所定の模様とを比較して判断するが、描画データが文字である場合には描画データと所定のフォントサイズとを比較しないこととしてもよい。
また、描画データと比較するための所定のフォントサイズ又は所定の図形の模様は、重複領域の大きさに応じて選択されることとしてもよい。このようにすれば、重複領域における描画データの相対的な大きさを考慮して、描画データを描画するか否かを選択することができる。
【００５９】
＜その他の実施例＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００６０】
１０１  入力制御部
１０３  制御部
１０４  描画部
１０５  描画部
１０７  表示制御部
【図１】
2012234493.tif 000003
【図２】
2012234493.tif 000004
【図３】
2012234493.tif 000005
【図４】
2012234493.tif 000006
【図５】
2012234493.tif 000007
【図６】
2012234493.tif 000008
【図７】
2012234493.tif 000009
【図８】
2012234493.tif 000010
【図９】
2012234493.tif 000011