説明

表示制御装置、表示制御方法、及び、プログラム

【課題】 本発明は、下レイヤのウィンドウの描画データが上レイヤのウィンドウに透過表示されることによる視認性の低下を改善し、視認性を向上させることを目的とする。
【解決手段】 第1のウィンドウの下位レイヤに表示される第2のウィンドウに描画される描画データを表示する表示領域の大きさが、ウィンドウの重複領域において所定の大きさ以下であると判断した場合、重複領域において描画データが描画されないように制御し、又は、第1のウィンドウの透過度を低くして描画データを描画させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数のウィンドウを重ねて表示させる表示制御装置、表示制御方法、及び、プログラムに関する。
【背景技術】
【0002】
従来、パーソナルコンピュータ、デジタル家電、モバイル機器等の表示画面上に、複数の異なるアプリケーションがそれぞれ独立にウィンドウを描画するシステムが一般的に用いられている。近年では、グラフィックス描画性能の向上により、ウィンドウが下レイヤのウィンドウに描画される描画データを透過するシステムも用いられている。このようなシステムにおいては、複数のウィンドウが重複した場合に、下レイヤのウィンドウの描画データが上レイヤのウィンドウに透過して描画される。
下レイヤのウィンドウの描画データが上レイヤのウィンドウに透過するシステムとして、複数のウィンドウの重複部分の描画データの種類に基づいて透過度を調整する技術が公開されている(例えば、特許文献1)。またウィンドウが重複する領域で、下レイヤのウィンドウに描画される内容を上レイヤのウィンドウの表示よりも薄く表示する技術も公開されている(例えば、特許文献2)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平10−177466
【特許文献2】特開平08−123652
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、ウィンドウ同士が重複する領域においては、独立に描画された複数の描画データが重なって表示されるため、ウィンドウの表示位置の関係、および描画された描画データの組み合わせ、大きさ等によって視認性が低下する場合がある。図2に、半透明ウィンドウの重畳例を示す。図2(a)の表示では、表示領域の一部で文字同士が重なり合い、メインで作業を行っている上レイヤのウィンドウ、およびその下に重なる下レイヤのウィンドウの両方で表示内容が視認しづらい領域が存在する。同様に図2(b)の表示では、上レイヤのウィンドウでCADや地図で用いるような微細なグラフィックスを編集する場合に、類似のグラフィックスデータが下レイヤのウィンドウに描画されると、パターンの混在による錯視により視認性が低下する恐れがある。
【課題を解決するための手段】
【0005】
上述の課題を解決するために本発明は、第1のウィンドウの下位レイヤに表示される第2のウィンドウに描画される描画データを表示する表示領域の大きさを検出する検出手段と、前記表示領域の大きさが所定の大きさより大きいか判断する判断手段と、前記第1のウィンドウと前記第2のウィンドウとが重複する重複領域における前記表示領域の大きさが前記所定の大きさより大きいと前記判断手段が判断した場合、前記重複領域において前記描画データが前記第1のウィンドウに透過されるように制御し、前記重複領域における前記表示領域の大きさが前記所定の大きさ以下であると前記判断手段が判断した場合、前記重複領域において前記描画データが描画されないように制御し、又は、前記表示領域の大きさが前記所定の大きさより大きい場合よりも前記第1のウィンドウの前記透過度を低くして前記描画データを描画させるように制御する制御手段とを有することを特徴とする
【発明の効果】
【0006】
本発明によれば、下レイヤのウィンドウの描画データが上レイヤのウィンドウに透過するように描画されることによる視認性の低下を改善し、視認性を向上させることができる。
【図面の簡単な説明】
【0007】
【図1】本発明にかかる表示制御装置の構成例を示す図。
【図2】重複領域における描画データの重なりについて説明するための図。
【図3】制御部103の動作を説明するためのフローチャート。
【図4】管理部102の動作を説明するためのフローチャート。
【図5】グローバル座標系におけるウィンドウの表示例を示す図。
【図6】ウィンドウ管理テーブル及びローカルウィンドウ管理テーブルを示す図。
【図7】ウィンドウ制御情報及び重複領域情報を示す図。
【図8】実施例1における描画部の動作を説明するためのフローチャート。
【図9】実施例2における描画部の動作を説明するためのフローチャート。
【発明を実施するための形態】
【0008】
以下、図面を参照して本発明の実施の形態を説明する。
【0009】
<実施例1>
本実施例にかかる表示制御装置を実現するための構成を図1に示す。図1に示した各構成要素は、物理的に独立なハードウェアとして構成してもよいし、同等の機能を有するソフトウェアの1つ以上のインスタンスとして構成してもよい。
【0010】
入力制御部101は、不図示の入力装置から入力された描画データを後述の制御部103に出力する。ここで、描画データとは表示装置の表示画面に表示されたウィンドウ内に描画される文字や図形、ビットマップデータ等のことをいう。
管理部102は、表示装置の表示画面に表示されるウィンドウの位置とサイズ、複数のウィンドウが重複する重複領域の位置とサイズ、重複領域の数、ウィンドウの上下関係を表すZレベル、及び、ウィンドウの透過度を後述の制御部103から取得して管理する。これらの情報の管理については図5および図6を用いて詳細を後述する。
【0011】
描画部104及び描画部105(以下、これらの描画部を総称して「描画部」という。)は、それぞれウィンドウ内に描画される文字や図形などの描画データを生成する。描画部104及び描画部105は、並列に動作する描画モジュールとして構成する方法のほかに、ソフトウェア的に複数のアプリケーションを1つの描画モジュールやプロセッサの上にインスタンスし、シーケンシャルに描画を行う方法をとってもよい。また、描画モジュールの数はアプリケーションの性質やウィンドウ数に応じて、任意の数としてよい。描画部によって描画された複数のウィンドウの描画データは、合成部106に入力される。
また描画部104、105は、下レイヤのウィンドウに描画される描画データを表示する表示領域の大きさを検出する。描画データを表示する表示領域の大きさとは、例えば、描画された描画データの面積である。または、描画データが内接する多角形の領域の面積を表示領域の大きさとしてもよい。あるいは、描画データが文字である場合は、文字を入力するための領域であるテキストボックスの大きさを表示領域の大きさとしてもよい。
描画部104、105は、図5を用いて後述するグローバル座標系における重複領域の位置と、グローバル座標系における描画データの表示領域の位置とから、重複領域に全部または一部が含まれる描画データの表示領域を検出する。そして、描画部は、重複領域に含まれる描画データ表示領域の大きさ、あるいは、描画データの表示領域のうち重複領域に含まれる部分の大きさを検出する。
また描画部104、105は、検出した表示領域の大きさが、後述の制御部103から受信した所定の大きさよりも大きいか判断する。
【0012】
合成部106は、描画部104、105が描画した複数のウィンドウを合成する。合成部106によるウィンドウの合成結果は、表示制御部107に入力される。表示制御部107は、合成部106が合成した複数のウィンドウを表示装置に表示させる。
制御部103は、入力制御部101から受信した入力データを用いて管理部102、描画部104、描画部105、合成部106の制御を行う。制御部103が行う制御については、詳細を後述する。
【0013】
次に、管理部102が管理する情報について図5および図6を用いて説明する。本実施例では、管理部102は表示画面におけるウィンドウの位置やサイズをグローバル座標系を用いて管理する。また、管理部102は各ウィンドウ領域内における重複領域の位置やサイズをローカル座標系を用いて管理する。
【0014】
グローバル座標系におけるウィンドウの表示例を図5に示す。本実施例では、ウィンドウ501およびウィンドウ502が不透明、ウィンドウ503が半透明であるものとする。本実施例では、背景にもっとも近いレイヤに描画されるウィンドウのZレベルを0と定義する。図5の表示例では、Zレベル0のレイヤとしてウィンドウ502、Zレベル1のレイヤとしてウィンドウ501、Zレベル2のレイヤとしてウィンドウ503が描画されている。
【0015】
管理部102が、図5を用いて説明した各ウィンドウの情報管理に用いるウィンドウ管理テーブルを図6(a)に示す。ウィンドウ管理テーブルは、各ウィンドウについて、ウィンドウの識別に用いられるID608、Zレベル601、グローバル座標系におけるウィンドウの座標602、サイズ603、透過度604の情報を持つ。ウィンドウの透過度は、そのウィンドウの下位レイヤ(以下、下レイヤという。)のウィンドウに描画される描画データが、そのウィンドウに透過する度合いを示す。本実施例では、不透過の場合(描画データを描画しない場合)を透過度0、半透明の場合を透過度0.5として表す。また、ウィンドウ管理テーブルは、あるウィンドウ内の領域であって、そのウィンドウの上位レイヤ(以下、上レイヤという。)に別のウィンドウが重複している領域である重複領域についての情報を持つ。例えばウィンドウ管理テーブルは、重複領域の座標605、サイズ606、上に重なるウィンドウの透過度である重複透過度609、重複領域数607の情報を持つ。
【0016】
例えば、図6(a)に示したウィンドウ管理テーブルにおいて、ウィンドウ501はIDが20のエントリとして表現される。本実施例においては、ウィンドウの左上の頂点の座標をウィンドウ座標として用いる。ウィンドウ501のウィンドウ座標は、(1,1)となる。また、ウィンドウサイズは(6,3)である。これは、グローバル座標において、ウィンドウ502の横幅が6目盛分であり、縦幅が3目盛分であることを表している。以下、ウィンドウのサイズについて同様に表記する。また、ウィンドウ501は上述の通り不透明であるため、ウィンドウ透過度は0である。また、ウィンドウ501は、半透明のウィンドウ503が上に重なるため、重複領域数は1である。ウィンドウ501と、ウィンドウ503の重複領域504は、グローバル座標系において(4,2)と表される。また、重複領域サイズは(3,2)と表される。また、ウィンドウ501の上レイヤに重複しているウィンドウ503の透過度が0.5であることから、重複透過度は0.5と表される。
ウィンドウ502は、ウィンドウ管理テーブルにおいて、IDが30のエントリとして表現される。ウィンドウ502についてもウィンドウ501と同様にして各情報がウィンドウ管理テーブルに保持される。
ウィンドウ503は、ウィンドウ管理テーブルにおいて、IDが10のエントリとして表現される。ウィンドウ503は半透明であり、ウィンドウ透過度は0.5である。ウィンドウ503は、最上位のウィンドウであり、上に重なる他のウィンドウがないため、ウィンドウ重複領域数は0である。
【0017】
次に、管理部102が各ウィンドウ領域内における重複領域の位置等を管理するために用いるローカルウィンドウ管理テーブルを図6(b)に示す。ローカルウィンドウ管理テーブルは、ID608、重複透過度609、ローカル重複領域座標703、ローカル重複領域サイズ704、重複領域数607についての情報を持つ。
重複領域サイズ606、重複領域数607、重複透過度609、ID608については図6(a)のウィンドウ位置テーブルに記録される情報と同じ情報であるため同一の符号を付し説明を省略する。
【0018】
ローカル重複領域座標703は重複領域の位置を、ウィンドウごとのローカル座標系によって表現するものである。本実施例では、各ウィンドウのウィンドウ座標602がローカル座標の原点(0,0)であるとする。
例えば本実施例において、ID20で表されるウィンドウ501のローカル座標系の原点はグローバル座標系における(1,1)である。また、ウィンドウ501上にウィンドウが重複している重複領域の座標はグローバル座標系における(4,2)である。そして、ウィンドウ501のローカル重複領域座標は、ローカル座標系では(4−1,2−1)=(3,1)として表される。
【0019】
また、ID30で表されるウィンドウ502のローカル座標系の原点はグローバル座標系における(2,3)である。また、ウィンドウ502上にウィンドウが重畳している重複領域の座標もグローバル座標系における(2,3)である。そして、ウィンドウ502のローカル重複領域座標はローカル座標系では(2−2、3−3)=(0,0)として表される。
ローカル座標の原点の位置はウィンドウ座標602に限られない。ローカル座標の原点を任意に設定し、ウィンドウ管理テーブルにおいて各ウィンドウのエントリにローカル座標系の原点情報を持たせることとしてもよい。この場合、グローバル座標系における重複領域の座標値と原点情報とを用いてローカル座標系における重複領域の位置を導出することができる。以上のようにして、管理部102はウィンドウや重複領域についての上述の情報の管理を行う。以上のようにして管理部102は、ウィンドウの位置とサイズ、ウィンドウの重複領域の位置とサイズ、重複領域の数、ウィンドウの上下関係、及び、ウィンドウの透過度の管理を行う。
【0020】
次に、制御部103が行う描画指示制御の内容について説明する。制御部103は、入力制御部101から入力されたデータから、ウィンドウ位置の変更及びウィンドウのサイズ変更に関する情報を抽出し、管理部102にウィンドウ制御情報として通知する。ウィンドウ制御情報を受信した管理部102は、当該ウィンドウ制御情報に基づいて図6に示したウィンドウ管理テーブル及びローカルウィンドウ管理テーブルを更新する。ウィンドウ制御情報について図7(a)を用いて説明する。
【0021】
ウィンドウ制御情報は、ID608、Z制御フラグ901、変更後ウィンドウ座標902、変更後ウィンドウサイズ903、変更後ウィンドウ透過度904についての情報を持つ。Z制御フラグ901は、ウィンドウの表示位置を最前面に変更させるために用いる。Z制御フラグが1である場合に、ウィンドウを最前面に表示させる。制御部103は、変更先のウィンドウ座標として変更後ウィンドウ座標902を通知する。また、制御部103は、変更後のウィンドウサイズとして変更後ウィンドウサイズ903を通知する。さらに、制御部103は、変更後のウィンドウ透過度として変更後ウィンドウ透過度904を通知する。
【0022】
また制御部103は、入力制御部101から描画データを取得すると、取得した描画データの描画を行う描画部を決定して決定した描画部に描画指示を行う。制御部103は、ウィンドウの位置、サイズ、透過度等の変更に伴ってウィンドウの描画を指示する。描画指示の際に、制御部103は重複領域情報を描画部に通知する。重複領域情報の例を図7(b)に示す。制御部103は、重複領域情報として重複透過度801、重複領域座標802、重複領域サイズ803、および重複領域数804を通知する。制御部103は、図6(b)のローカルウィンドウ管理テーブルから描画データの描画を行うウィンドウについての重複領域数607、ローカル重複領域座標703、重複領域サイズ606、重複透過度702を読み出して図7(b)の重複領域情報の通知を行う。
【0023】
また制御部103は、描画部に対する初期化処理を行った後、描画データを描画部に入力する。初期化処理において制御部103は、描画部に対して、ウィンドウ内の描画データを表示する表示領域の大きさが所定の大きさ以下である場合に描画データの描画をスキップさせる描画省略処理を行うように設定する。制御部103は、描画省略処理の設定として、描画データの表示領域の大きさと比較するための所定の大きさの設定を描画部に対して行う。また、上記の描画省略処理に替えて、描画データを表示する表示領域の大きさが所定の大きさよりも大きい場合に比べて上に重なるウィンドウの透過度を透過しにくくするようにしてもよい。また、表示領域の大きさと比較する所定の大きさは、重複領域の大きさに応じて変化させることとしてもよい。さらに、初期化処理において上に重なるウィンドウの透過度が所定の透過度より高い(描画データを透過しやすい)場合のみ、制御部103は描画データの描画省略処理を実施させるように設定してもよい。この場合、初期化処理では、描画省略処理を適用する重複透過度の閾値となる描画省略透過度を、各描画部に対して設定する。また制御部103は、描画部から描画が完了したことを示す通知を受信すると、合成部106に対してウィンドウの合成指示を行う。
【0024】
次に、本実施例における制御部103の動作を図3のフローチャートを用いて説明する。プロセッサ及びメモリを用いて制御部103の機能を実現する形態では、図3の処理フローは、図3に示される手順をこのプロセッサに実行させるためのプログラムを示す。このプロセッサは、コンピュータであり、メモリから読み出したプログラムを実行する。メモリは、このプロセッサが読み出すことができるようにこのプログラムを記録した記録媒体である。
【0025】
まず制御部103は、画面更新の開始タイミングを待つ(S301)。画面更新のタイミングとして例えば、図示しないアプリケーションプログラムからの画面更新指示の受信や、入力制御部101からのウィンドウ操作指示の受信等がある。画面の更新を行う場合(S301でyesの場合)、制御部103は更新するウィンドウについて、図6(b)に示した管理部102のローカルウィンドウ管理テーブルに記憶された情報を取得する(S302)。
そして制御部103は、表示位置又はサイズの変更が指示されたウィンドウの描画を行う描画部を決定する(S303)。描画部の決定には任意の方法を用いることができる。描画部の決定方法については、発明の本質ではないので説明を省略する。
【0026】
続いて、制御部103は描画部を決定したウィンドウの領域内に半透明ウィンドウとの重複領域があるか判定する(S304)。判定は、取得したステップS302で取得した図6(b)の重複領域数607と重複透過度609に基づいて行う。制御部103は、重複領域数607が0より大きく、かつ、重複透過度609が0より大きいウィンドウは半透明ウィンドウとの重複領域があると判定する。半透明ウィンドウとの重複領域がない場合(S304でnoの場合)には、後述するステップS306に進む。
半透明ウィンドウとの重複領域があると判定された場合(S304でyesの場合)、制御部103は、ステップS303において決定した描画部に対し、図7(b)に示した重複領域情報を通知する(S305)。
【0027】
次に制御部103は、ステップS303において決定した描画部に対してウィンドウの描画開始の指示を行う。そして制御部103は、表示位置又はサイズの変更が指示された全てのウィンドウについて描画開始処理が行われたか判断する(S311)。まだ描画開始処理が行われていないウィンドウがある場合(S311でnoの場合)は、ステップS303からステップS311までの処理を繰り返す。
全てのウィンドウについて描画が開始された場合(S311でyesの場合)、制御部103は、描画開始の指示により起動されたすべての描画部がウィンドウの描画を完了したか判断する(S307)。ウィンドウの描画完了は、後述する描画部からの描画完了割り込みによって検出する。
【0028】
次に制御部103は、合成部106に合成パラメータを指定して合成開始を指示し、描画された複数のウィンドウを合成する(S308)。以上で1フレームの描画処理を完了する。
制御部103は、入力制御部101から入力されたデータにウィンドウの位置の変更、およびサイズ変更の要求を含むものがあるか否かを判断する(S309)。ウィンドウの位置の変更、およびサイズ変更の要求がない場合は、ステップ301に戻り次の画面更新を待つ。制御部103は、ウィンドウの位置の変更、又は、サイズ変更の要求がある場合には、管理部102に対して、図7(a)に示したウィンドウ制御情報を出力する(S310)。
【0029】
次に、管理部102の動作について図4のフローチャートを用いて説明する。プロセッサ及びメモリを用いて管理部102の機能を実現する形態では、図4の処理フローは、図4に示される手順をこのプロセッサに実行させるためのプログラムを示す。このプロセッサは、コンピュータであり、メモリから読み出したプログラムを実行する。メモリは、このプロセッサが読み出すことができるようにこのプログラムを記録した記録媒体である。
【0030】
まず管理部102は、制御部103からウィンドウの位置変更、又は、サイズ変更等に関する指示があるか否かを判断する(S401)。本実施例では、制御部103から図7(a)のウィンドウ制御情報を受信した場合に、管理部102はウィンドウの位置変更又はサイズ変更等があったと判断する。
ウィンドウの位置変更、又は、サイズ変更等の指示がある場合(S401でyesの場合)、管理部102は、ウィンドウの位置又はサイズ等を更新する(S402)。更新する内容はウィンドウの位置やサイズに限られない。例えば、管理部102は、ウィンドウの重複順序の変更がZ制御フラグ901によって指示された場合は、図6(a)に示したウィンドウ管理テーブルのZレベルを更新し、ウィンドウの上下関係を変更する。ウィンドウの透過度が変更された場合は、ウィンドウ透過度604の値を更新する。
【0031】
一方、ウィンドウの位置変更、又は、サイズ変更等の指示がない場合(S401でnoの場合)、管理部102は、後述のステップS410の処理を行う。
【0032】
続いて管理部102は、ステップS403からステップS410において、図6(a)に示したウィンドウ管理テーブルのうち、重複領域座標605、重複領域サイズ606、重複領域座標605、及び、重複領域数607の更新を行う。
管理部102は、Zレベル601が0のウィンドウをカレントとして指定する。(S403)。そして管理部102は、カレントに指定したウィンドウ(以下、「カレントウィンドウ」という。)より大きいZレベルを有するウィンドウが存在するか否かを判断する(S404)。
カレントウィンドウより大きいZレベルを有するウィンドウが存在する場合(S404でnoの場合)、管理部102はカレントウィンドウとの重複領域が存在するか判断するための比較ウィンドウを設定する。ステップS405では、管理部102はカレントウィンドウよりも1レイヤ上にあるウィンドウを比較ウィンドウとして設定する。例えば、カレントウィンドウのZレベルが0の場合、比較ウィンドウとしてまずZレベル1のウィンドウが比較ウィンドウとして設定される。
【0033】
管理部102は、カレントウィンドウと比較ウィンドウに重複領域があるかどうかを判断する(S406)。重複領域があるかどうかの判断は、例えば、図6(a)のウィンドウ管理テーブルのウィンドウ座標602及びウィンドウサイズ603により特定されるカレントウィンドウの領域内に、比較ウィンドウの一部又は全部が含まれるか判断して行うことができる。
ウィンドウの重複領域が存在する場合(S406でyesの場合)は、管理部102は、カレントのウィンドウの重複領域数607をインクリメントし、さらに、重複領域座標605、重複領域サイズ606を更新する(S407)。そして管理部102は、現在の比較ウィンドウよりもZレベルがひとつ大きいウィンドウを新たな比較ウィンドウとして設定する(S408)。重複領域がない場合は(S406でnoの場合)、管理部102はステップS407の処理を実行しないでステップS408の処理を行う。
【0034】
次に管理部102は、ステップS408において新たに設定した比較ウィンドウが実際に存在するか否かを判断する(S409)。新たに設定したZレベルの比較ウィンドウが存在する場合(S409でyesの場合)、管理部102はステップS406からステップS408を繰り返す。新たに設定したZレベルに対応するウィンドウが存在しない場合(S409でnoの場合)、管理部102はカレントウィンドウをZレベルが1つ大きいウィンドウに変更し、ステップS404からステップS409を繰り返す(S410)。
カレントウィンドウが最上位のウィンドウになると(S404でyesの場合)、管理部102は、制御部103からのウィンドウ制御情報のリクエストを判断する(S411)。制御部103からウィンドウ制御情報をリクエストされた場合、管理部102は、図6(a)のウィンドウ管理テーブルの重複領域座標605から、ウィンドウ制御情報のローカル重複領域座標703を計算する。そして管理部102は、図7(b)の重複領域情報を生成して制御部103に送信する(S412)。
【0035】
次に、描画部の動作を図8のフローチャートを用いて説明する。プロセッサ及びメモリを用いて制御部103の機能を実現する形態では、図8の処理フローは、図8に示される手順をこのプロセッサに実行させるためのプログラムを示す。このプロセッサは、コンピュータであり、メモリから読み出したプログラムを実行する。メモリは、このプロセッサが読み出すことができるようにこのプログラムを記録した記録媒体である。
【0036】
まず描画部は、制御部103から描画データの入力を受け付ける(S1001)。次に描画部は、制御部103から描画データの描画を指示されたウィンドウについて、図7(b)に示した重複領域情報を制御部103から受信しているか判断する(S1002)。描画を指示されたウィンドウのIDに対応する重複領域情報を受信していない場合(S1002でnoの場合)、描画部は描画データの描画指示に従って描画処理を行う(S1005)。描画を指示されたウィンドウのIDに対応する重複領域情報を受信している場合(1002でyesの場合)、描画部は描画データが重複領域に含まれるか否かを判断する(S1003)。本実施例では、ステップS1003の判断は、図7(b)の重複領域情報に含まれる重複領域座標802、及び重複領域サイズ803の情報に基づいて行う。これらの情報と、ウィンドウにおける描画データのローカル座標とを比較することにより、ステップS1003の判断を行うことができる。描画データが重複領域に含まれない場合(S1003でnoの場合)、描画部はステップS1005へ進み描画データの描画を行う。
【0037】
描画データが重複領域に含まれる場合(S1003でyesの場合)、描画部は描画データの表示領域の大きさが所定の大きさである描画省略サイズより大きいか判断する。描画データの表示領域の大きさが描画省略サイズより大きい場合(ステップS1004においてyesの場合)、描画部は描画データの描画を行う(S1005)。描画データの表示領域の大きさが描画省略サイズ以下である場合(ステップS1004においてnoの場合)は描画データの描画が終了したか判断する(S1006)。このようにして、描画部はステップS1004での判断結果に応じて、重複領域において、下レイヤのウィンドウの描画データを上レイヤのウィンドウに透過させるか否か決定する。
【0038】
ステップS1006では、描画部は入力された描画データが1フレーム分すべて終了したか否かを判断し、終了していない場合は、ステップS1001へ戻り、次の描画データの処理を行う。ステップS1006において1フレームの描画完了が検出されると、ステップ1007において制御部103に対し、フレーム終了を通知する。
【0039】
上記の例では、重複領域が存在する場合、描画部は必ずステップS1003において描画データが重複領域に含まれるか判断することとしたがこれに限られない。例えば、重複領域が存在すると判断された場合(S1002でyesの場合)、描画部は図7(b)に示した重複透過度801が所定の透過度以上であるか判断することとしてもよい。例えば、所定の透過度は0.3とすることができる。重複透過度801が所定の透過度より小さい場合、ステップS1005に進み、描画データの描画を行う。一方、重複透過度801が所定の透過度以上である場合、描画部はステップS1003に進み、描画データが重複領域に含まれるか判断することとしてもよい。
このようにして、透過度が低く、下レイヤのウィンドウの描画データが上レイヤの描画データの視認性を低下させる可能性が低い場合には、描画省略処理を行わないようにすることができる。
【0040】
制御部103は、上述した様に、すべての描画部の処理の終了を待ち、描画データを合成し画面へ表示する指示を合成部106に対して出力する。
合成部106は、上述のようにして描画部が描画したカレントウィンドウと上レイヤのウィンドウとを合成する。合成部106によるウィンドウの合成結果は、表示制御部107に入力される。
表示制御部107は、合成部106が合成した複数のウィンドウを表示装置に表示させる。このようにして、表示制御部107は、カレントウィンドウに描画される描画データの表示領域の大きさが所定の大きさよりも大きい場合には重複領域においてカレントウィンドウの描画データを上レイヤのウィンドウに透過して表示させる。また表示制御部107は、カレントウィンドウに描画される描画データの表示領域の大きさが所定の大きさ以下である場合には、重複領域においてカレントウィンドウに描画される描画データが描画されないようにする。
【0041】
本実施例に係る発明は、制御部が、下レイヤのウィンドウに描画される描画データを表示する表示領域の大きさが所定の大きさよりも大きいと判断した場合、下レイヤのウィンドウの描画データを上レイヤのウィンドウに透過するように描画させる。従って、不透過ウィンドウの表示のみのシステムと比較して画面に表示すべき情報量が増加し作業効率を向上させることができる。一方、下レイヤのウィンドウの描画データの表示領域の大きさが所定の大きさよりも小さい場合には、重複領域において、下レイヤのウィンドウの描画データを描画しない。このようにして、表示領域の大きさが小さく、情報量の少ない描画データの表示を省略することができる。従って、重複領域における視認性の低下を改善し、視認性を向上させることができる。さらに、本実施例では、下レイヤのウィンドウの描画データの表示領域の大きさが所定の大きさ以下である場合には、重複領域において、下レイヤのウィンドウの描画データを描画しない。従って、描画データを構成するために必要な画像処理や描画処理の負荷を低減させることができる。描画処理の付加低減により、画面の描画速度の向上が期待できる。
【0042】
また、図8に示したステップS1004において、下レイヤのウィンドウに描画される描画データを表示する表示領域の大きさが所定の大きさよりも小さい場合に描画データの描画を行う(S1005)こととしてもよい。この場合、当該描画データを表示する表示領域の大きさが描画省略サイズ以上である場合はステップS1006に進んで処理を行う。このようにすれば、下レイヤのウィンドウの大きさが所定の大きさよりも小さい場合には、重複領域の視認性を低下させる可能性が低いので、重複領域において表示される情報量を重視して下レイヤの描画データを描画させるようにすることができる。一方、当該描画データを表示する表示領域の大きさが所定の大きさ以上である場合には、重複領域の視認性を低下させることを防ぐために当該描画データが重複領域において描画されないようにすることができる。さらに、この場合、重複領域において、下レイヤのウィンドウの描画データを描画しないので、描画データを構成するために必要な画像処理や描画処理の負荷を低減させることができる。描画処理の付加低減により、画面の描画速度の向上が期待できる。
【0043】
所定の大きさ以上の描画データを省略する場合であって、下レイヤのウィンドウの重複領域における描画データが複数ある場合、それらの描画データの中で最も大きな描画データのみは描画省略処理を行わないこととしてもよい。このようにすれば、下レイヤのウィンドウに描画される描画データの大枠をユーザが認識することができる。
【0044】
さらに、図8に示したステップS1004において下レイヤのウィンドウの描画データの表示領域の大きさが、所定の大きさより大きい場合と所定の大きさより小さい場合のいずれの場合に描画データの描画(S1005)を行うか選択できる構成としてもよい。この場合、制御部103が、描画部に対し、いずれの場合に描画データの描画を行うかについて設定を行う。このようにすれば、ユーザが重複領域における視認性や表示される情報量を考慮して所望の設定を行うことができ、ユーザの利便性が向上する。
【0045】
さらに、図8に示したステップS1004において、下レイヤのウィンドウの描画データの表示領域の大きさが、所定の下限値と所定の上限値の範囲外にある場合は、下レイヤのウィンドウの描画データを描画しないようにしてもよい。この場合、下レイヤのウィンドウの描画データの表示領域の大きさが、重複領域の視認性や情報量を考慮して、適切な大きさである場合のみ、当該描画データを描画させることができる。
【0046】
以上のように、本実施例では、前記表示領域の大きさが所定の大きさよりも大きいか判断した結果に応じて、重複領域において、描画データを前記第1のウィンドウに透過するように描画させるか否かを制御する。従って本実施例によれば、下レイヤのウィンドウの描画データが上レイヤのウィンドウに透過して描画されることによる視認性の低下を改善し、視認性を向上させることができる。また、本実施例では、所定の場合には下レイヤのウィンドウの描画データの描画を行わないので、描画処理の付加低減により、画面の描画速度の向上が期待できる。
表示領域の大きさと比較するための描画省略サイズ又は所定の大きさは、重複領域の大きさに応じて設定されることとしてもよい。このようにすれば、重複領域における相対的な大きさを考慮ながら、下レイヤの描画データの描画を制限するか否かを決定することができる。
【0047】
実施例1では、描画部は下レイヤのウィンドウの描画データの表示領域の大きさが所定の大きさよりも小さい場合(S1004でnoの場合)に、重複領域にカレントウィンドウの描画データが描画されないようにした。しかし、重複領域における下レイヤのウィンドウの描画データの表示領域の大きさが所定の大きさよりも小さい場合の表示制御方法はこれに限られない。例えば、この場合に描画部は、下レイヤのウィンドウの描画データの表示領域の大きさが所定の大きさ以上である場合よりも、カレントウィンドウの描画データが上レイヤのウィンドウに透過されにくくして描画を行ってもよい。描画部の描画結果を受けて表示制御部107は、下レイヤのウィンドウの描画データの表示領域の大きさが所定の大きさ以上である場合よりも上レイヤのウィンドウに透過されにくくしてカレントウィンドウの描画データを描画させる。このような構成によっても、重複領域における視認性を向上させることができる。
【0048】
また、上記実施例では制御部103は、下レイヤのウィンドウの描画データの表示領域の大きさと所定の大きさとを比較することとしたが、当該所定の大きさに代えて、上レイヤのウィンドウの描画データの表示領域の大きさに基づく大きさと比較してもよい。このようにすれば、上レイヤに描画される描画データの表示の大きさを考慮して、上レイヤに描画される描画データの視認性に影響を与える場合に下レイヤのウィンドウの描画データを描画しないようにし、又は描画を制限することができる。例えば、下レイヤのウィンドウの描画データの領域の大きさが上レイヤの描画データの表示領域の大きさよりも小さい場合には、上レイヤの描画データの視認性を向上させるために下レイヤのウィンドウの描画データの描画を制限することができる。このようにして、重複領域の描画データの視認性が向上する。
【0049】
また、描画データの表示領域の大きさの判断はウィンドウ単位に行ってもよい。あるいはウィンドウを複数の領域に区分し、区分した領域ごとに描画データの表示領域の大きさの判断及び当該描画データの描画可否の決定を行ってもよい。区分した領域ごとに属性の判断を行うことにより、重複領域に複数の描画データが存在する場合でも、描画データごとに描画させるか否かの判断を行うことができる。一方、ウィンドウ全体を単位として描画データの表示領域の大きさの判断を行うことにより、判断のための処理負荷を軽減し、描画速度を向上させることができる。
【0050】
<実施例2>
実施例2では、重複領域において下レイヤのウィンドウに描画される描画データを構成する文字や模様の大きさに応じて、当該描画データの描画を省略する制御を行う表示制御装置について説明する。
実施例2の表示制御装置の構成について、実施例1の表示制御装置の構成と異なる点について説明する。本実施例において、管理部102は、重複領域情報として、図7(b)に示した情報に加えて、重複領域の下レイヤのウィンドウに描画される描画データの種別についての情報を生成して制御部103に出力する。本実施例においては、描画データの種別として、文字と図形の種別があるものとする。描画データの種別は、例えば、描画データの入力に用いられるマウスやキーボードなどの入力ディバイスの種類により判別することができる。
【0051】
また本実施例において、描画部は描画を行う描画データの内容が所定の内容であるか判断する。ここで、描画データの内容とは、例えば、描画される文字の大きさや種類、描画データが図形である場合における当該図形の模様等である。その他の構成については、実施例1において述べたものと同じなので説明を省略する。
【0052】
次に、実施例2における表示制御装置の動作について説明する。制御部103の動作については、図3を用いて説明した動作と同じであるので説明を省略する。また、管理部102の動作については図4を用いて説明した動作と同じであるので説明を省略する。続いて補正部の動作について、図9を用いて説明する。
ステップS1001からステップS1003までの処理は実施例1において図8を用いて説明した処理と同じであるので同じ符号を付して説明を省略する。描画部は、重複領域に描画データが含まれると判断した場合(ステップS1003においてyesの場合)、描画データが文字であるか図形であるか判断する(S9001)。描画データが文字であるか図形であるかの判断は、制御部103から受信した重複領域情報のうちの描画データ種別についてのデータに基づいて行う。
【0053】
描画データが文字である場合(S9001でyesの場合)、描画部は文字のフォントサイズが所定値より大きいか判断する(S9002)。フォントサイズが所定値より大きい場合、描画部は文字の描画を行う(S9004)。一方、フォントサイズが所定のフォントサイズ以下である場合、描画部は文字の描画を行わずにステップS1006へ進む。
【0054】
描画データが図形である場合(S9001でnoの場合)、描画部は図形の模様として所定の模様に対応する模様が用いられているか判断する(S9003)。所定の模様に対応する模様とは、所定の模様と一致し、又は、ほぼ一致する模様のことをいう。図形に所定の模様と対応する模様が用いられている場合(S9003でyesの場合)、描画部は当該図形の模様を描画しない。あるいは、この場合、当該図形自体を描画しないようにしてもよい。一方、用いられている模様が所定の模様と対応しない場合(S9003でnoの場合)、描画部は図形の模様を描画する(S9004)。当該所定の模様として、複雑な模様や細かい模様など、重複領域に描画された場合、重複領域の視認性を低下させるような模様を予め識別可能にして登録しておくことができる。描画部が図形の模様を描画する際に、予め用意された模様から選択して模様を描画する場合、選択可能な模様のうち視認性を低下させる模様に予め識別情報を付し、描画部が判断可能なようにしておくことができる。あるいは、重複領域の視認性を低下させるような模様を予め登録しておき、パターンマッチングにより、重複領域に描画される描画データが予め登録された模様と一致するか判断することにより、ステップS9003の処理を行うこととしてもよい。
【0055】
以降、ステップS1006及びステップS1007の処理は実施例1において説明した処理と同じなので、同じ符号を付して説明を省略する。
【0056】
本実施例によれば、重複領域において、下レイヤのウィンドウに描画された文字のフォントサイズが小さく、重複領域の視認性が低下する場合には文字の描画を省略することにより、重複領域の視認性が向上する。また、本実施例によれば、重複領域において、下レイヤのウィンドウに描画された図形の模様が複雑であったり細かい場合には、当該模様又は当該図形の描画を省略することにより、重複領域の視認性を向上させることができる。また、描画処理を省略することにより、画面の描画速度の向上が期待できる。
【0057】
また、本実施例では文字又は図形の模様の描画を省略する場合について説明したが、上レイヤのウィンドウの透過度が所定の透過度よりも高い場合のみ、文字又は図形の模様の描画を省略することとしてもよい。また、実施例1と同様に、描画省略処理に替えて、上レイヤのウィンドウの透過度を低くすることとしてもよい。この場合にも同様に重複領域において視認性を向上させることができる。また、描画データと比較するフォントサイズや図形の模様は、重複領域の大きさに応じて変更できることとしてもよい。
【0058】
また、実施例2では描画データが文字である場合、図形である場合に、それぞれ所定のフォントサイズ、所定の模様と描画データを比較することとしたが、これに限られない。例えば、描画データが文字である場合は、描画データと所定のフォントサイズとを比較して判断するが、描画データが図形である場合には、描画データと所定の模様との比較を行わないこととしてもよい。あるいは、描画データが図形である場合には、描画データと所定の模様とを比較して判断するが、描画データが文字である場合には描画データと所定のフォントサイズとを比較しないこととしてもよい。
また、描画データと比較するための所定のフォントサイズ又は所定の図形の模様は、重複領域の大きさに応じて選択されることとしてもよい。このようにすれば、重複領域における描画データの相対的な大きさを考慮して、描画データを描画するか否かを選択することができる。
【0059】
<その他の実施例>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0060】
101 入力制御部
103 制御部
104 描画部
105 描画部
107 表示制御部

【特許請求の範囲】
【請求項1】
第1のウィンドウの下位レイヤに表示される第2のウィンドウに描画される描画データを表示する表示領域の大きさを検出する検出手段と、
前記表示領域の大きさが所定の大きさより大きいか判断する判断手段と、
前記第1のウィンドウと前記第2のウィンドウとが重複する重複領域における前記表示領域の大きさが前記所定の大きさより大きいと前記判断手段が判断した場合、前記重複領域において前記描画データが前記第1のウィンドウに透過されるように制御し、前記重複領域における前記表示領域の大きさが前記所定の大きさ以下であると前記判断手段が判断した場合、前記重複領域において前記描画データが描画されないように制御し、又は、前記表示領域の大きさが前記所定の大きさより大きい場合よりも前記第1のウィンドウの透過度を低くして前記描画データが描画されるように制御する制御手段とを有することを特徴とする表示制御装置。
【請求項2】
前記第1のウィンドウについての設定された透過度を記録する記録手段を有し、
前記記録手段に記録された透過度が所定の透過度以上である場合には、前記制御手段は、前記重複領域における前記表示領域の大きさが前記所定の大きさ以下であると前記判断手段が判断した場合に、前記重複領域において前記描画データが描画されないように制御し、又は、前記記録された透過度よりも前記第1のウィンドウの透過度を低くして前記描画データが描画されるように制御し、前記記録手段に記録された透過度が所定の透過度よりも低い場合には、前記制御手段は、前記表示領域の大きさが前記所定の大きさ以下であると前記判断手段が判断した場合であっても、前記記録手段に記録された透過度で前記描画データが描画されるように制御することを特徴とする請求項1に記載の表示制御装置。
【請求項3】
第1のウィンドウの下位レイヤに表示される第2のウィンドウに描画される文字のフォントサイズが所定のフォントサイズよりも大きいか判断する判断手段と、
前記第1のウィンドウと前記第2のウィンドウとが重複する重複領域における前記フォントサイズの大きさが前記所定のフォントサイズよりも大きいと前記判断手段が判断した場合、前記重複領域において前記文字が前記第1のウィンドウに透過されるように制御し、前記重複領域における前記フォントサイズの大きさが前記所定のフォントサイズ以下であると前記判断手段が判断した場合、前記重複領域において前記文字が描画されないように制御し、又は、前記フォントサイズが前記所定のフォントサイズより大きい場合よりも前記第1のウィンドウの透過度を低くして前記文字が描画されるように制御する制御手段とを有することを特徴とする表示制御装置。
【請求項4】
第1のウィンドウの下位レイヤに表示される第2のウィンドウに描画される図形の模様と所定の模様とが対応するか判断する判断手段と、
前記第1のウィンドウと前記第2のウィンドウとが重複する重複領域における前記図形の模様が前記所定の模様と対応しないと前記判断手段が判断した場合、前記重複領域において前記図形を前記第1のウィンドウに透過して描画させ、前記重複領域における前記図形の模様が前記所定の模様と対応すると前記判断手段が判断した場合、前記重複領域において前記図形が描画されないように制御し、又は、前記図形の模様が前記所定の模様と対応する場合よりも前記第1のウィンドウの透過度を低くして前記図形が描画されるように制御する制御手段とを有することを特徴とする表示制御装置。
【請求項5】
検出手段が、第1のウィンドウの下位レイヤに表示される第2のウィンドウに描画される描画データを表示する表示領域の大きさを検出する検出ステップと、
判断手段が、前記表示領域の大きさが所定の大きさよりも大きいか判断する判断ステップと、
制御手段が、前記第1のウィンドウと前記第2のウィンドウとが重複する重複領域における前記表示領域の大きさが前記所定の大きさより大きいと前記判断ステップにおいて判断された場合、前記重複領域において前記描画データが前記第1のウィンドウに透過されるように制御し、前記重複領域における前記表示領域の大きさが前記所定の大きさ以下であると前記判断ステップにおいて判断された場合、前記重複領域において前記描画データが描画されないように制御し、又は、前記表示領域の大きさが前記所定の大きさより大きい場合よりも前記第1のウィンドウの透過度を低くして前記描画データが描画されるように制御する制御ステップとを有することを特徴とする表示制御方法。
【請求項6】
第1のウィンドウと前記第1のウィンドウの下位レイヤに表示される第2のウィンドウの表示制御を行うコンピュータに、
前記第2のウィンドウに描画される描画データを表示する表示領域の大きさを検出する検出手順と、
前記表示領域の大きさが所定の大きさよりも大きいか判断する判断手順と、
前記第1のウィンドウと前記第2のウィンドウとが重複する重複領域における前記表示領域の大きさが前記所定の大きさより大きいと前記判断手順において判断された場合、前記重複領域において前記描画データが前記第1のウィンドウに透過されるように制御し、前記重複領域における前記表示領域の大きさが前記所定の大きさ以下であると前記判断手順において判断された場合、前記重複領域において前記描画データが描画されないように制御し、又は、前記表示領域の大きさが前記所定の大きさより大きい場合よりも前記第1のウィンドウの透過度を低くして前記描画データが描画されるように制御する制御手順とを実行させるためのプログラム。

【図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


【公開番号】特開2012−234493(P2012−234493A)
【公開日】平成24年11月29日(2012.11.29)
【国際特許分類】
【出願番号】特願2011−104507(P2011−104507)
【出願日】平成23年5月9日(2011.5.9)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】