(57)【要約】      （修正有）【課題】複数のアプリケーションに対応するウィンドウ表示を体系的に管理できるようにし、ユーザの使い勝手が良い情報表示装置を提供する。【解決手段】複数のアプリケーションにより生成される複数のウィンドウを画面に表示する情報表示装置において、複数のウィンドウを表示する層を大分類として第１の階層に分類し、更に第１の階層の各層を小分類として第２の階層に分類してウィンドウ毎に表示する層を管理する。各ページ内で表示する階層を知り、各ウィンドウの描画データをページ毎に合成する。【選択図】図５
2013161430.tif 000002
【特許請求の範囲】
【請求項１】
複数のアプリケーションにより生成される複数のウィンドウを画面に表示する情報表示装置において、
前記複数のウィンドウを表示する層を第１の階層に分類し、更に前記第１の階層の各層を第２の階層に分類して前記ウィンドウ毎に表示する層を管理するウィンドウマネージャーを有する
ことを特徴とする情報表示装置。
【請求項２】
複数のアプリケーションにより生成される複数のウィンドウを画面に表示する情報表示装置において、
前記複数のウィンドウを複数のページ対応させて管理するページ機能を設け、一つのアプリケーションにより実行されるウィンドウを複数のページに表示するウィンドウマネージャーを有する
ことを特徴とする情報表示装置。
【請求項３】
請求項２に記載の情報表示装置において、
前記ウィンドウマネージャーは、前記ページ機能に加えて、複数のアプリケーションにより生成されるウィンドウを表示する層を第１の階層に分類し、更に前記第１の階層の各層を第２の階層に分類して前記ウィンドウを表示する層を管理する
ことを特徴とする情報表示装置。
【請求項４】
請求項１または３に記載の情報表示装置において、
前記第２の階層は、前記ウィンドウを表示する層が固定される固定階層と、前記ウィンドウを表示する層を変更可能なフローティング階層とで構成される
ことを特徴とする情報表示装置。
【請求項５】
請求項４に記載の情報表示装置において、
前記ウィンドウマネージャーは、前記フローティング階層内で前記ウィンドウを表示する層を変更した場合でも当該ウィンドウの前記第１の階層で表示する層は変わらない
ことを特徴とする情報表示装置。
【請求項６】
請求項４または５に記載の情報表示装置において、
前記ウィンドウマネージャーは、前記フローティング階層が前記固定階層の上位の階層になるように前記ウィンドウを表示する層を管理する
ことを特徴とする情報表示装置。
【請求項７】
請求項４または５に記載の情報表示装置において、
前記ウィンドウマネージャーは、前記フローティング階層と前記固定階層の上下関係を変更する
ことを特徴とする情報表示装置。
【請求項８】
請求項１から７のいずれか一項に記載の情報表示装置において、
前記ウィンドウマネージャーは、前記ウィンドウ毎に前記第１の階層，前記第２の階層，前記ページのいずれか１つを設定するための管理テーブルを有する
ことを特徴とする情報表示装置。
【請求項９】
請求項２から８のいずれか一項に記載の情報表示装置において、
前記ウィンドウマネージャーは、同じページ内で実行中の複数のアプリケーションを一括して終了するユーザ操作インターフェースを備える
ことを特徴とする情報表示装置。
【請求項１０】
請求項９に記載の情報表示装置において、
前記ウィンドウマネージャーは、前記ユーザ操作インターフェースにより一括終了が選択されたページ内で実行中のアプリケーションが他のページ内で使用されている場合、当該アプリケーションを終了しない
ことを特徴とする情報表示装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＰＣ（パーソナルコンピュータ）やタブレット機器などの情報表示装置に関する。
【背景技術】
【０００２】
近年、ＰＣやタブレット機器など様々な情報を表示する情報表示装置が急速に普及してきている。これらの情報表示装置では、複数のアプリケーションを実行して表示する処理が行われている。例えばWindows（登録商標）やUNIX（登録商標）のX11などでは、複数のアプリケーションを実行して表示するウィンドウ環境が存在している。このような環境では、アプリケーション表示の優先順位は、例えばユーザがマウス等のHID（ヒューマンデバイス）で選択したアプリケーションのウィンドウが上位に表示されるようになっている。そして、壁紙やWidgets（ウィジット：小さな表示部材のアプリケーション）などは、固定の優先順位を付けて最下位に位置させたり、逆に最上位に位置させることができるものもあり、X11のウィンドウマネージャの中には階層管理が可能なものもある。このように、複数のウィンドウの表示を管理するために、重ね合わせやウィンドウエリアの変更など様々な技術が検討されている（例えば、特許文献１，２，３参照）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１８２８９０号公報
【特許文献２】特開２００９−１５７６３５号公報
【特許文献３】特許第３５４４６６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、表示するウィンドウの階層指定は細かく管理されておらず、例えば複数のアプリケーションを起動している場合に大きなウィンドウの下に小さなウィンドウが隠れてしまう問題や、一つのアプリケーションが複数のウィンドウを有する場合に表示するウィンドウの上下関係を固定したり、ウィンドウを移動するなどの細かい指定が行えないなど、使い勝手が悪いという問題があった。
【０００５】
上記課題に鑑み、本発明の目的は、複数のアプリケーションに対応するウィンドウ表示を体系的に管理できるようにし、ユーザの使い勝手が良い情報表示装置を提供することである。
【発明の開示】
【課題を解決するための手段】
【０００６】
本発明に係る情報表示装置は、複数のアプリケーションにより生成される複数のウィンドウを画面に表示する情報表示装置において、前記複数のウィンドウを表示する層を第１の階層に分類し、更に前記第１の階層の各層を第２の階層に分類して前記ウィンドウ毎に表示する層を管理するウィンドウマネージャーを有することを特徴とする。
【０００７】
本発明に係る情報表示装置は、複数のアプリケーションにより生成される複数のウィンドウを画面に表示する情報表示装置において、前記複数のウィンドウを複数のページ対応させて管理するページ機能を設け、一つのアプリケーションにより実行されるウィンドウを複数のページに表示するウィンドウマネージャーを有することを特徴とする。
【発明の効果】
【０００８】
本発明に係る情報表示装置は、複数のアプリケーションに対応するウィンドウを表示する層やページを細かく設定することにより、複数のアプリケーション間のウィンドウ表示を体系的に管理することができ、ユーザの使い勝手を大幅に向上することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る情報表示装置１００の構成例を示す図である。
【図２】ソフトウェア構成例を示す図である。
【図３】情報表示装置１００における階層の構成例を示す図である。
【図４】共有メモリ領域に保持されている描画データのイメージを示す図である。
【図５】管理テーブル３０１の一例を示す図である。
【図６】ページ毎のウィンドウの合成例を示す図である。
【図７】ウィンドウ表示処理の流れを示すフローチャートである。
【図８】ページ切り替え用のウィンドウの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明に係る情報表示装置の実施形態について図面を用いて詳しく説明する。
（第一の実施形態）
図１は、本実施形態に係る情報表示装置１００の構成例を示すブロック図である。本実施形態に係る情報表示装置１００は、ＰＣやタブレット機器など様々な情報を表示する装置に対応し、複数のアプリケーションを実行して同じ画面内にそれぞれのアプリケーションに対応するウィンドウ（ゲームソフトの場合はゲーム画面のウィンドウ、画像処理ソフトの場合は画像表示や編集画面のウィンドウなど）を表示するウィンドウ環境を有する。
【００１１】
従来、複数のアプリケーションにより生成されるウィンドウを同じページに表示する場合、重なるウィンドウの表示位置や階層を異なるアプリケーション間で連携して制御したり、同じアプリケーションのウィンドウを異なるページに表示させるなどの細かいウィンドウ表示の管理を行うことが難しかった。これに対して、本実施形態に係る情報表示装置１００は、ウィンドウを表示するページや階層位置などを細かく指定して管理することができる。これにより、複数のアプリケーションによって表示されるウィンドウの階層構造の構築やページ構成を実現することができ、利便性の高いアプリケーション環境を提供することができる。
【００１２】
図１において、情報表示装置１００は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、バッファメモリ１０４と、表示制御部１０５と、表示器１０６と、操作部材１０７と、Ｉ／Ｏ１０８と、記録Ｉ／Ｆ１０９と、システムバス１１０とを有する。
【００１３】
ＣＰＵ１０１は、中央演算処理部で構成される情報表示装置１０１全体を制御し、ＲＯＭ１０２（または記録媒体１０９ａ）に予め記憶されたプログラムに従って動作する。
【００１４】
ＲＯＭ１０２は、電気的に読み書き可能な不揮発性のメモリで、例えばフラッシュ型メモリなどが用いられ、ＣＰＵ１０１のプログラムや動作に必要なパラメータなどが記憶されている。
【００１５】
ＲＡＭ１０３は、電源ＯＦＦ時に消去される揮発性のメモリで、例えばＤＲＡＭなどが用いられ、アプリケーションにより生成されるウィンドウの描画データを保持する共有メモリ領域（シェアードメモリ）やプログラム実行時の一時的な記憶領域として用いられる。
【００１６】
バッファメモリ１０４は、ＲＡＭ１０３に保持される描画データが展開され、表示器１０６の画面に表示される。
【００１７】
表示制御部１０５は、バッファメモリ１０４に保持されている一画面分の描画データを読み出し、表示器１０６の画面に表示する。
【００１８】
表示器１０６は、例えば液晶モニタなどで構成される。尚、表示器１０６の画面上にはタッチパネル１０６ａが配置されており、表示器１０６の画面上でユーザーが指で触れた位置情報（画面上の座標位置など）を読み取る。
【００１９】
操作部材１０７は、タッチパネル１０６ａ以外の操作部材（電源ボタン、ポインティングデバイスなど）で構成される。
【００２０】
Ｉ／Ｏ１０８は、操作部材１０７や表示器１０６のタッチパネル１０６ａによる操作情報を入力してシステムバス１１０を介してＣＰＵ１０１に出力する。
【００２１】
記録Ｉ／Ｆ１０９は、着脱可能なメモリカードなどの記録媒体１０９ａを接続するためのインターフェースである。ＣＰＵ１０１は、記録Ｉ／Ｆ１０９を介して記録媒体１０９ａからプログラムやデータを読み出したり、処理された画像やデータを記録媒体１０９ａに書き込む。
【００２２】
システムバス１１０は、ＣＰＵ１０１、ＲＯＭ１０２、ＲＡＭ１０３、バッファメモリ１０４、表示制御部１０５、表示器１０６、Ｉ／Ｏ１０８、記録Ｉ／Ｆ１０９などの間で相互にデータを入出力するための共通バスである。
【００２３】
次に、ＣＰＵ１０１で実行されるソフトウェアの構成について図２を用いて説明する。図２において、ＣＰＵ１０１は、情報表示装置１００の電源時に、ＲＯＭ１０２または記録媒体１０９ａなどに予め記憶されている基本ソフト（ＯＳ：オペレーティングシステム）を読み込んで基本処理部２０１（ＯＳ）を立ち上げる。さらに、情報表示装置１００にウィンドウ環境を構築するためにウィンドウマネージャ２０２を立ち上げる。尚、ウィンドウマネージャ２０２は、基本処理部２０１上で動作するアプリケーションと同様に、立ち上げ時に基本処理部２０１に起動要求し、基本処理部２０１から唯一のプロセスＩＤ（Pid）が与えられる。基本処理部２０１のPidは、例えばPid＝０となる。
【００２４】
また、情報表示装置１００にインストールされている複数のアプリケーション（例えば図２では、アプリケーションＡからアプリケーションＺ）のソフトウェアがＲＯＭ１０２（または記録媒体１０９ａ）に記憶されている。尚、インストール済みのソフトウェアは、ウィンドウマネージャ２０２を介してＧＵＩで起動したり、コマンドラインで起動することができる。いずれの場合でも、アプリケーションが起動されると基本処理部２０１から唯一のPid（例えばPid＝１）が与えられる。
【００２５】
さらに、ウィンドウ表示を必要とするアプリケーションは、起動時にウィンドウマネージャ２０２に対してウィンドウ表示のためのメモリ要求を行い、ウィンドウマネージャ２０２からアプリケーションに対してウィンドウＩＤ（Wid）が与えられる。
【００２６】
基本処理部２０１は、ウィンドウマネージャ２０２や複数のアプリケーションの実行を管理すると共に、これらのソフトウェアと情報表示装置１００のハードウェア間のインターフェースを提供する。例えば、タッチパネル１０６ａの操作情報を取得したり、記録Ｉ／Ｆ１０９を介して装着されている記録媒体１０９ａとの間でデータを読み書きする時のインターフェースを提供する。このために、基本処理部２０１には、様々な内部関数が用意されており、基本処理部２０１の上で動作するソフトウェア（アプリケーションやウィンドウマネージャ２０２など）は、この内部関数を用いて様々な処理を行う。
【００２７】
ウィンドウマネージャ２０２は、アプリケーション実行時に表示器１０６に表示するウィンドウの大きさや位置を管理するウィンドウ管理機能２５０と、複数のウィンドウが表示される場合にウィンドウ毎を表示する層を管理するレイヤ管理機能２５１と、複数のアプリケーションにより生成されるウィンドウを複数のページに分けて管理するページ管理機能２５２とを有する。
【００２８】
ウィンドウマネージャ２０２のウィンドウ管理機能２５０は、起動されたアプリケーションに対応するウィンドウを表示器１０６に表示する際の位置や大きさなどを管理する。また、ウィンドウマネージャ２０２は、タッチパネル１０６ａの操作情報（位置や動きなどの情報）を取得してアプリケーションに配信する役目も受け持っている。例えばユーザーがタッチパネル１０６ａに触れた位置の情報を取得して、その位置に表示されているウィンドウに対応するアプリケーションに操作情報を出力する。これを受けたアプリケーション側は、ウィンドウ内の当該位置に表示していたボタンや画像を判別して、アプリケーションに応じた処理を実行する。例えば、予め登録された起動可能なアプリケーションのアイコンやＯＳに関連する設定用アイコンなどがまとめられたランチャーのアプリケーションが起動している場合、ユーザーがタッチパネル１０６ａでタッチしたアイコンに対応するアプリケーションを起動する。尚、本実施形態では、タッチパネル１０６ａと操作部材１０７とをユーザーの操作インターフェースとして持っているが、操作部材１０７としてタッチペンやマウス、キーボードなどのポインティングデバイスを用いてもよい。
【００２９】
ウィンドウマネージャ２０２のレイヤ管理機能２５１は、複数のウィンドウが重なって表示される場合の階層（レイヤ）を管理する。例えば、アプリケーションＡにより生成されたウィンドウＡＡと、アプリケーションＡとは異なる別のアプリケーションＺにより生成されたウィンドウＺＺとが重なる場合に、ウィンドウＡＡおよびウィンドウＺＺを表示する層を予め設定された階層によって管理する。この場合、ウィンドウＡＡが上位の層、ウィンドウＺＺが下位の層に設定されている場合、ウィンドウＡＡをウィンドウＺＺの上に表示する。尚、本実施形態に係る階層の構成については後で詳しく説明する。
【００３０】
ウィンドウマネージャ２０２のページ管理機能２５２は、表示器１０６に表示される画面にページ機能を提供し、アプリケーションにより生成されるウィンドウを複数のページ対応して管理する。例えば、一つのアプリケーションにより実行されるウィンドウを複数のページに表示することができる。また、ページ毎にレイヤ管理機能２５１により同じページ内の各ウィンドウを階層設定に応じて表示する。
【００３１】
次に、本実施形態に係る情報表示装置１００の動作について具体的に説明する。情報表示装置１００は、UNIX（登録商標）のX11ウィンドウシステムやＰＣ用のＯＳとして知られるWindows（登録商標）などで広く用いられているマルチウィンドウ機能を有する。
【００３２】
本実施形態に係る情報表示装置１００では、先ず、ＲＯＭ１０２または記録媒体１０９ａに記録されたアプリケーションプログラムの起動時にウィンドウマネージャ２０２に描画用のメモリ領域を要求する。これを受けたウィンドウマネージャ２０２は、共有メモリ領域（共有メモリ）をＲＡＭ１０３上に確保し、アプリケーションに共有メモリ番号としてウィンドウＩＤ（Wid）を返す。このようにして、各アプリケーションはウィンドウマネージャ２０２にアクセスできるようになる。そして、アプリケーション側は、ウィンドウの描画データを共有メモリ上に書き込み、ウィンドウマネージャ２０２にウィンドウの描画を要求する。これを受けたウィンドウマネージャ２０２は、共有メモリ領域上の描画データを表示するページに対応する描画用のバッファメモリ１０４に展開し、同じページ内に複数のウィンドウがある場合は階層設定に応じて合成する。そして、ウィンドウマネージャ２０２は、バッファメモリ１０４から複数のウィンドウが合成された一ページ分の描画データを表示制御部１０５を介して表示器１０６に表示する。
【００３３】
例えばアプリケーションが時計表示プログラムである場合は、起動時にウィンドウマネージャ２０２にメモリ領域を要求し、ウィンドウマネージャ２０２からWidを受け取って、時計の描画データをＲＡＭ１０３の共有メモリ領域に形成する。そして、ウィンドウマネージャ２０２は、ウィンドウ（ここでは時計のグラフィック）を、表示する層、表示サイズ、表示位置などに応じて予め設定されたページ番号に対応するバッファメモリ１０４の領域に展開および合成し、表示器１０６の画面に時計を表示する。
【００３４】
次に、ウィンドウマネージャ２０２のレイヤ管理機能およびページ管理機能機能について具体的に説明する。アプリケーションは、ウィンドウマネージャ２０２のレイヤ機能やページ機能を利用するために、予め準備された内部関数を用いる。以下に内部関数の一例を示す。
・内部関数：setLayerandPage(int pid, int wid, int mlayer, int slayer, int page)
ここで、引数のpidは、処理単位を区別するためのプロセスＩＤで、基本処理部２０１により与えられる。そして、ウィンドウマネージャ２０２は、プロセスＩＤ（pid）に紐付けされた情報として、上記の内部関数のその他の引数を管理する。以下、その他の引数について説明する。
【００３５】
Widは、ウィンドウ番号で、アプリケーションがウィンドウマネージャ２０２に共有メモリ領域を要求した時に、ウィンドウマネージャ２０２によりアプリケーションが生成するウィンドウ毎に付与される。
【００３６】
mlayerは、階層（レイヤ）の大分類を示し、０，１，２などの数値が与えられる。この場合、数値０が最下位の層で、数値２が最上位の層に対応する。ここで、サブ的な扱いのサムネイルを表示するウィンドウやサイズが大きいウィンドウなどを最下位の層に配置したり、ランチャーや表示エリアの小さいwidgetsなど利用頻度の高いウィンドウを上位の層に配置し、その他のアプリケーションのウィンドウを中間の層に配置するなどの設定を予め行うことにより、利便性が高くなる。図３は、本実施形態に係る情報表示装置１００の階層の構成例を示す図である。図３において、情報表示装置１００で実行されるアプリケーションのウィンドウは、大分類の何れかの階層に設定される。そして、大分類の各層は更に小分類の階層に分けられる。例えば複数のウィンドウが大分類の階層で同じ層にある場合は、各ウィンドウの小分類の階層に応じてウィンドウを表示する上下関係が決められる。
【００３７】
slayerは、小分類の階層を示し、図３の例では、フローティング階層と、固定階層とに分けられている。フローティング階層にあるウィンドウは、ユーザー操作によって上下関係が入れ替えられるが、この場合でも大分類の階層位置は変わらない。また、固定階層に設定されたウィンドウは、表示する層が固定される。例えば小分類は、０〜２５５の値が与えられる。この場合、０〜127までを固定階層、１２８〜２５５までをフローティング階層として割り当てられ、数値の小さいウィンドウが下位の層に位置するようにウィンドウマネージャ２０２により管理される。図３の例では、フローティング階層は、固定階層の上位に位置する。また、フローティング階層の番号（１２８〜２５５）は、ユーザーのウィンドウ操作により上下が入れ替わる。例えば、ユーザーがタッチパネル１０６ａやポインティングデバイスなどでウィンドウをActiveにする操作（ウィンドウをタッチしたり、ウィンドウ上でクリックする操作）を行うと、当該ウィンドウが上位の層（最上位の層であってもよいし、操作毎に一階層上の層に変更するようにしてもよい）に表示されるようにフローティング階層の数値が変更される。さらに、固定階層で同じ番号が指定された場合は、固定階層の各層を複数の階層に分ける補助分類の階層が設けられている。例えば、補助階層をフローティング階層として、層番号を示す引数をs2とすると、ウィンドウマネージャ２０２は、同じ固定階層の中で後から起動されたウィンドウの引数s2の数値を同じ固定階層のウィンドウの中で最上位の層になるように引数s2の数値を変更し、バッファメモリ１０４に合成されるウィンドウの上下を入れ替える。
【００３８】
pageは、ウィンドウを表示するページ番号を示し、例えば32bitの数値で表される。そして、各ビットをページ番号に対応させ、0x00000003（・・・0011（二進数））ならページ０，１を意味し、同じウィンドウがページ０と１に表示される。ここで、0xは16進数であることを示す。同様に、0x0000000A（・・・1010（二進数））ならページ１，３に同じウィンドウが表示される。このように、本実施形態に係る情報表示装置１００は、異なるページに同じアプリケーションのウィンドウを表示することができる。
【００３９】
次に、複数のアプリケーションにより生成される複数のウィンドウを表示器１０６に表示する処理について具体例を挙げて説明する。
【００４０】
図４は、ＲＡＭ１０３の共有メモリ領域に保持されている描画データの様子を理解し易いように概念的にグラフィックで示した図である。図４の例では、App0、App1、App2の３種類のアプリケーションにより生成されるApp0-1、App1-1、App1-2、App1-3、App2-1、App2-2、App2-3の７つのウィンドウの描画データがＲＡＭ１０３上に保持されている。尚、各ウィンドウには、ウィンドウマネージャ２０２によりウィンドウＩＤ(wid)が付与され、図４の例では、App0-1にwid01、App1-1にwid02、App1-2にwid03、App1-3にwid04、App2-1にwid05、App2-2にwid06、App2-3にwid07がそれぞれ付与されている。
【００４１】
そして、これらのウィンドウは、各ウィンドウ毎に予め設定されたパラメータ（位置、大きさ、階層、ページなど）に基づいてバッファメモリ１０４上にページ毎に合成され、選択されたページの画面が表示制御部１０５を介して表示器１０６に表示される。ここで、各ウィンドウの階層やページを示すパラメータは、図５に示すような管理テーブル３０１に予め設定されており、ウィンドウマネージャ２０２は、管理テーブル３０１を参照して、各ページに対応するウィンドウを合成する。尚、ウィンドウの位置（画面上の平面的な位置）やウィンドウの大きさなどのパラメータについても同様に管理されるが、ここでは、本実施形態に係る情報表示装置１００の特徴である階層とページの管理を中心に説明する。また、新たに生成されたウィンドウに対するデフォルトのパラメータは、一般的なウィンドウ環境の処理と同様に、各アプリケーションがインストールされた時に基本処理部２０１によって管理されるレジストリなどの設定ファイルに記憶されており、ウィンドウマネージャ２０２はこれらの設定ファイルから読み出して管理テーブル３０１に設定する。
【００４２】
次に、図５の管理テーブル３０１について詳しく説明する。図５において、管理テーブル３０１は、図２で説明したように、ウィンドウを使用するアプリケーションの各処理毎に基本処理部（ＯＳ）２０１から与えられるプロセスＩＤ（pid）と、ウィンドウマネージャ２０２により各ウィンドウに与えられるウィンドウＩＤ（wid）と、当該ウィンドウを表示するページ（page）と、第１の階層に対応する大分類（mlayer）と、第２の階層に対応する小分類（slayer）と、小分類の各層をさらに複数の階層に分類する補助分類（s2layer）の各パラメータが格納されたテーブルである。尚、管理テーブル３０１は、起動されているアプリケーションで使われているウィンドウだけが記載され、全てのページでアプリケーションが終了された場合は当該アプリケーションによるウィンドウに対する記載が消去される。但し、別のページで同じアプリケーションのウィンドウが表示されている場合は、当該アプリケーションを終了せずにページ番号の値だけ変更される。
【００４３】
例えば、管理テーブル３０１において、アプリケーションApp1-1（pid=11)のウィンドウＩＤ(wid=02)に対応するウィンドウは、ページ(page)が0x00000002なので、１ページにだけ表示され、ウィンドウが表示される層は、第１の階層の大分類（mlayer）が１、第２の階層の小分類（slayer）が１２８のフローティング階層で、補助分類（s2layer）は設定されていない。同様に、アプリケーションApp2-2（pid=22)のウィンドウＩＤ(wid=06)に対応するウィンドウは、ページ(page)が0x00000006なので、１ページと２ページの両方に同じウィンドウが表示される。また、ウィンドウを表示する層は、大分類（mlayer）が２、小分類（slayer）が６４の固定階層で、補助分類（s2layer）が２に設定されている。
【００４４】
図５の管理テーブル３０１において、例えばページ１を表示器１０６の画面に表示する場合、先ず、引数pageの値を参照してページ１に属するアプリケーションのウィンドウを抽出し、抽出したウィンドウに設定されている層番号に応じて階層順に並べ替え（ソート）を行う。管理テーブル３０１の例では、先に説明したように、引数pageの値を二進数で表して下から２ビット目が１に設定されているウィンドウがページ１に属するウィンドウである。図５の管理テーブル３０１の例では、引数pageの値の下から２ビット目が１に設定されているウィンドウは、ウィンドウＩＤ（Wid）がWid=01,02,04,05,06,07の６つのウィンドウである。
【００４５】
そして、抽出された各ウィンドウを階層順に並べ替える。ここで、本実施形態では階層として、大分類mlayer、小分類slayer、補助分類s2layerの３つの引数を設けているので、先ず引数mlayerでソートを行い、次に引数mlayerが同じ値のウィンドウについて引数slayerでソートを行う。さらに引数slayerが同じ値のウィンドウについて引数s2layerでソートを行う。尚、本実施形態では３つの分類を設けてウィンドウの表示階層を三段階で管理するようにしたが、三段階以外であっても同様に処理することができる。
【００４６】
図５の管理テーブル３０１の例では、抽出されたページ１に表示されるウィンドウ（wid=01,02,04,05,06,07のウィンドウ）を引数mlayerでソートすると、mlayer=0のwid=01のウィンドウが最下位のレイヤに表示される。尚、値が小さいほど下の層に表示するものとする。そして、その上の層のmlayer=1には、wid=02,04の２つのウィンドウがあるので、小分類の引数slayerの値を参照する。図５の例では、wid=０２のウィンドウはslayer=128のフローティング階層で、wid=04のウィンドウはslayer=130のフローティング階層なので、wid=04のウィンドウがwid=02のウィンドウの上に表示される。同様に、次の大分類の引数mlayer=2にもwid=05,06の２つのウィンドウが対応するので、小分類の引数slayerの値を参照する。ところが、wid=05およびwid=06のウィンドウは、両方ともslayer=64の固定階層なので、さらに次の補助分類の引数s2layerの値を参照する。図５の例では、wid=05ウィンドウはs2layer=1で、wid=06のウィンドウはs2layer=2なので、wid=06のウィンドウがwid=05のウィンドウの上に表示される。そして、wid=07のウィンドウはmlayer=3なので最上位に表示される。尚、小分類の引数slayerが同じ値で補助分類が設定されていない場合や補助分類の引数s2layerも同じ値である場合は、後で起動されたアプリケーションのウィンドウを上に表示するように予め決めておいてもよい。
【００４７】
このように、ウィンドウマネージャ２０２は、管理テーブル３０１を参照することにより、複数のアプリケーションにより生成される複数のウィンドウを表示するページや同じページ内で表示する階層位置を知ることができる。そして、ウィンドウマネージャ２０２は、管理テーブル３０１の設定に従ってＲＡＭ１０３上に保持されている各ウィンドウの描画データをページ毎にバッファメモリ１０４上に合成することができる。
【００４８】
尚、管理テーブル３０１の設定内容をユーザーが自由に変更できるように、例えば表示器１０６の画面に表示されているウィンドウに対して特定の操作（ダブルクリックなど）が行われた場合に、ページや階層を変更するＧＵＩによる操作インターフェースを表示して、ウィンドウ毎に表示するページや階層を変更できるようにしてもよい。これにより、ユーザーは固定階層に設定されているウィンドウをフローティング階層に変更したり、大分類の階層を変更したり、表示するページを変更することができる。
【００４９】
次に、図４で説明したＲＡＭ１０３の共有メモリ領域に生成される各ウィンドウの描画データをページ毎にバッファメモリ１０４上に合成する具体的な処理について説明する。図６（ａ）はページ１の合成例、図６（ｂ）はページ２の合成例をそれぞれ示している。
【００５０】
図４に示したApp0-1のウィンドウは、図５の管理テーブル３０１でページ0x00000006が指定されているので、図６（ａ）のページ１と図６（ｂ）のページ２の両方のページに表示される。そして、App0-1のウィンドウは大分類の引数mlayerが０なので最下位の層に配置され、ユーザーがポイティング動作によって当該ウィンドウを選択する操作を行った場合でも、他のウィンドウより上位の層に配置されることはない。
【００５１】
App2-1、App2-2、App2-3の各ウィンドウについてもApp0-1のウィンドウと同様にページ１とページ２の両方のページに表示される。
【００５２】
App1-1とApp1-3のウィンドウは、図５の管理テーブル３０１でページ0x00000002が指定されているので、図６（ａ）のページ１にだけ表示される。そして、両方のウィンドウは、大分類の引数mlayerが共に１なので大分類の同じ層になるが、小分類の引数slayerが設定されているので、引数slayerの値により表示する層の上下が決まる。図５の管理テーブル３０１では、両方のウィンドウは、共にフローティング階層でApp1-1のウィンドウの引数slayerが128で、App1-3のウィンドウの引数slayerが130なので、App1-1のウィンドウがApp1-3のウィンドウより下の層に配置される。尚、共にフローティング階層なので、ユーザーのポインティング操作によりウィンドウの上下が入れ替わるが、大分類の引数mlayerは１なので、大分類の階層が上位のmlayer２のウィンドウより上に表示されることはない。つまり、小分類の引数slayerは、大分類の引数mlayerで指定された同じ層内での上下関係を指定するパラメータである。
【００５３】
また、図４のApp2-1とApp2-2のウィンドウは、大分類の引数mlayerが２で同じ値なので、小分類の引数slayerを参照するが引数slayerも同じ固定階層64が設定されているので、さらに補助分類の引数s2layerを参照して上下が決定される。図５の管理テーブル３０１では、App2-1のウィンドウの引数s2layerが１で、App2-2のウィンドウの引数s2layerが２なので、App2-1のウィンドウがApp2-2のウィンドウより下の層に配置される。尚、本実施形態では、補助分類をフローティング階層とするので、ユーザーのポインティング操作によってApp2-1のウィンドウとApp2-2のウィンドウの上下関係が入れ替わる。
【００５４】
このようにして、各ページに表示されるウィンドウが選択され、且つ同じページ内の上下関係が決定される。図６（ａ）の例では、重なっているウィンドウは図４のwid=01とwid=02とwid=04の３つのウィンドウである。この場合、wid=01のウィンドウは大分類mlayer=0なので最下位に表示され、その上に同じ大分類mlayer=1のwid=02またはwid=04のウィンドウが表示されることになるが、大分類の値が同じなので小分類slayerでソートを行うと、wid=02のウィンドウの小分類はslayer=128、wid=04のウィンドウの小分類はslayer=130なので、wid=02のウィンドウをwid=01のウィンドウの上に表示し、さらにwid=04のウィンドウをwid=02のウィンドウの上に表示する。
【００５５】
同様に、図６（ｂ）の例において、重なっているウィンドウは図４のwid=01とwid=03とwid=07の３つのウィンドウである。この場合、wid=01のウィンドウは大分類mlayer=0なので最下位の層に表示され、その上の層に大分類mlayer=1のwid=03のウィンドウが表示される。さらに、大分類mlayer=3のwid=07のウィンドウがwid=03のウィンドウの上の層に表示される。
【００５６】
ここで、本実施形態に係る情報表示装置１００では、ウィンドウマネージャ２０２は、管理テーブル３０１を参照して、階層が下の層に位置するウィンドウの描画データから順番にＲＡＭ１０３の共有メモリ領域から読み出してバッファメモリ１０４上に展開する。これにより、重なっている部分は上の層のウィンドウの描画データで上書きされるので、図６（ａ）および図６（ｂ）に示すような合成画像を容易に得ることができる。
【００５７】
次に、上記で説明したウィンドウ表示処理の流れを図７のフローチャートにまとめる。尚、図７のフローチャートは、アプリケーションが起動されてウィンドウが新たに生成された時および既に表示されているウィンドウが操作された時の動作を中心に示してあり、アプリケーションの終了時の動作については省略してある。以下、フローチャートに従って順番に説明する。
【００５８】
（ステップＳ１０１）アプリケーションが起動されて新たにウィンドウが生成されようとしているか否かを判別する。具体的には、アプリケーション側から共有メモリ領域の要求があった場合に新たにウィンドウが生成されるのでステップＳ１０３に進み、アプリケーション側から共有メモリ領域の要求がない場合はステップＳ１０２に進む。
【００５９】
（ステップＳ１０２）既に表示されているウィンドウがユーザーにより操作されたか否かを判別する。例えば、ユーザーのポインティング動作によりウィンドウが選択された場合や表示するページの変更などが行われた場合、ステップＳ１０４に進み、ウィンドウに対する操作が無い場合はステップＳ１０１に戻る。
【００６０】
（ステップＳ１０３）アプリケーション側は、共有メモリ要求に応じて確保されたＲＡＭ１０３の共有メモリ領域にウィンドウの描画データを生成する。ここで、アプリケーション側は、ウィンドウマネージャ２０２からウィンドウＩＤ（Wid）が与えられる。
【００６１】
（ステップＳ１０４）ウィンドウマネージャ２０２は、管理テーブル３０１を更新する。例えば、新たにウィンドウが生成された場合やユーザーによるウィンドウの操作が行われた場合に管理テーブル３０１を更新する。例えば、ステップＳ１０３で新たにウィンドウが生成された場合は、ウィンドウＩＤ（Wid）に対応するページや階層のパラメータを管理テーブル３０１に設定し、ステップＳ１０２でウィンドウの操作が行われた場合は、既に管理テーブル３０１に設定されているパラメータを操作内容に応じて更新する。尚、新たにウィンドウが生成された場合は、各アプリケーションに対応して予め記憶されているレジストリなどの設定ファイルからデフォルトの設定値を読み出して管理テーブル３０１に設定する。
【００６２】
（ステップＳ１０５）ウィンドウマネージャ２０２は、管理テーブル３０１の設定に従って、ＲＡＭ１０３の共有メモリ領域に記憶されているウィンドウの描画データをバッファメモリ１０４上に展開してページ毎に階層設定に従って合成する。尚、表示器１０６に表示するページのみを合成するようにしてもよいし、全てのページについてウィンドウの合成を行ってもよい。後者の場合、ページの切替を高速に行うことができる。
【００６３】
（ステップＳ１０６）バッファメモリ１０４上に展開されたページの画面を表示器１０６に表示する。
【００６４】
このように、ステップＳ１０１からステップＳ１０６までの処理を繰り返すことにより、本実施形態に係る情報表示装置１００は、複数の異なるアプリケーションにより生成される複数のウィンドウを表示するページや階層の管理を行うことができる。尚、図７のフローチャートでは、説明がわかり易いように、ステップＳ１０１のアプリケーションの起動判別処理と、ステップＳ１０２の操作有無判別処理とが無限ループで処理されるようになっているが、実際には、アプリケーション起動時や操作時に発生するイベントメッセージによる割り込み処理で実行される。
【００６５】
次に、図４で説明したアプリケーションApp2-3のページ切り替えのウィンドウについて図８を用いて説明する。ここで、アプリケーションApp2-3は、ページ切り替えの機能を提供するウィンドウマネージャ２０２により生成されるウィンドウであってもよいし、別途インストールされた独立したアプリケーションであってもよい。
【００６６】
図８（ａ）において、App2-3のウィンドウは、ページ番号に対応する複数の領域４０１、４０２，４０３で構成される。そして、例えば有効（表示可能）なページ番号に対応する領域が色付けされ、どのページ番号が表示器１０６の画面に表示されているかを容易に判別できるようになっている。或いは、図８（ｂ）に示すように、表示されているページの領域（図８（ｂ）の例では領域４０２）が最上位の層に表示するようにしてもよい。
【００６７】
また、各ページ番号の領域の右端にある×マークは当該ページを閉じることを意味し、ウィンドウマネージャ２０２は、そのページで表示されているウィンドウに対応するアプリケーションを一括して終了することができる。これは、基本処理部２０１（ＯＳ：オペレーティングシステム）のkillコマンドに対応する。但し、本実施形態に係る情報表示装置１００では、同じアプリケーションにより生成されるウィンドウを複数のページに表示することができるので、複数のページで表示されているウィンドウのアプリケーションがある場合は×マークが操作された場合でも当該アプリケーションおよび当該ウィンドウは終了せず、ウィンドウマネージャ２０２は、管理テーブル３０１のページ番号設定を変更する。例えば、先に説明した図６および図５において、ページ２を終了させた場合、ページ２だけで実行されているアプリケーションのウィンドウApp1-2のみが終了し、他のウィンドウは表示するページ設定からページ２を消去し、例えば管理テーブル３０１のページ番号を0x00000006から0x00000002に変更する。
【００６８】
このように、本実施形態に係る情報表示装置１００は、管理テーブル３０１によってウィンドウを表示するページや階層を細かく指定することができ、複数の異なるアプリケーションによって表示されるウィンドウの階層構造を構築することができる。
【００６９】
また、複数の異なるアプリケーションによって生成されるウィンドウを表示するページを設定できるようにしてページ構成を実現し、且つ、同じウィンドウを異なるページに表示できるようにしたので、ページ毎に同じアプリケーションを立ち上げて同じウィンドウを表示させる必要がなく、ユーザーにとって利便性の高いアプリケーションのウィンドウ環境を提供することができる。
【００７０】
尚、本実施形態に係る情報表示装置１００では、図２で説明したように、複数の異なるアプリケーションによって表示されるウィンドウに複数段階の階層を設けてウィンドウの上下関係を管理するレイヤ管理機能２５１と、複数の異なるアプリケーションによって生成されるウィンドウを表示するページを設定してウィンドウの表示を管理するページ管理機能２５２の両方の機能を有するウィンドウマネージャ２０２について説明したが、レイヤ管理機能２５１だけを有するウィンドウマネージャ２０２であってもよいし、ページ管理機能２５２だけを有するウィンドウマネージャ２０２であってもよい。
【００７１】
以上、本発明に係る情報表示装置について、各実施形態で例を挙げて説明してきたが、その精神またはその主要な特徴から逸脱することなく他の多様な形で実施することができる。そのため、上述した実施形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明は、特許請求の範囲によって示されるものであって、本発明は明細書本文にはなんら拘束されない。さらに、特許請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内である。
【符号の説明】
【００７２】
１００・・・情報表示装置；１０１・・・ＣＰＵ電子カメラ；１０２・・・ＲＯＭ；１０３・・・ＲＡＭ；１０４・・・バッファメモリ；１０５・・・表示制御部；１０６・・・表示器；１０６ａ・・・タッチパネル；１０７・・・操作部材；１０８・・・Ｉ／Ｏ；１０９・・・記録Ｉ／Ｆ；１０９ａ・・・記録媒体；１１０・・・システムバス；２０１・・・基本処理部；２０２・・・ウィンドウマネージャ；２５０・・・ウィンドウ管理機能；２５１・・・レイヤ管理機能；２５２・・・ページ管理機能；３０１・・・管理テーブル 
【図１】
2013161430.tif 000003
【図２】
2013161430.tif 000004
【図３】
2013161430.tif 000005
【図４】
2013161430.tif 000006
【図５】
2013161430.tif 000007
【図６】
2013161430.tif 000008
【図７】
2013161430.tif 000009
【図８】
2013161430.tif 000010