JP2007328488A - 表示装置および表示処理方法 - Google Patents

表示装置および表示処理方法 Download PDF

Info

Publication number
JP2007328488A
JP2007328488A JP2006158241A JP2006158241A JP2007328488A JP 2007328488 A JP2007328488 A JP 2007328488A JP 2006158241 A JP2006158241 A JP 2006158241A JP 2006158241 A JP2006158241 A JP 2006158241A JP 2007328488 A JP2007328488 A JP 2007328488A
Authority
JP
Japan
Prior art keywords
screen
gui
buffer
display
image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006158241A
Other languages
English (en)
Other versions
JP4963571B2 (ja
Inventor
Toru Kukai
徹 九海
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Ericsson Mobile Communications Japan Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Ericsson Mobile Communications Japan Inc filed Critical Sony Ericsson Mobile Communications Japan Inc
Priority to JP2006158241A priority Critical patent/JP4963571B2/ja
Publication of JP2007328488A publication Critical patent/JP2007328488A/ja
Application granted granted Critical
Publication of JP4963571B2 publication Critical patent/JP4963571B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】表示装置のGUI画面に対して、GUIライブラリを変更することなく、柔軟性の高い重ね合わせ表現を行えるようにする。
【解決手段】GUI描画は一旦、フック先バッファ520に対して行い、この所定位置の所定サイズの矩形領域の内容を重ね合わせスクリーンバッファ501〜504にコピーするとともに、これらのスクリーンバッファ501〜504上に重ね合わせ対象の画像をレンダリングする。スクリーンバッファ501〜504の内容はそれぞれ、オンスクリーンバッファ510の該当する位置にコピーされる。
【選択図】図10

Description

本発明は、GUI(Graphical User Interface)ライブラリを用いる表示装置および表示処理方法に関する。
GUIライブラリは、表示画面上でユーザの操作を受け付けたり案内したりするためのボタンやラベル等のGUIコンポーネントを含むリソースを有し、アプリケーションからAPI(Application Program Interface)を介して利用することができるようになっている。GUIライブラリは、プラットフォーム(OSやミドルウェア)が異なっても同様のGUIリソース(表示部品等)が用意されていることが多いが、その呼び出し方はプラットフォームによって異なる。
APIとは、特定のプラットフォーム(OSやミドルウェア)向けのソフトウェアを開発する際に使用できる命令や関数の集合のことをいう。通常、アプリケーションから利用できる、OSやプログラミング言語で用意されたライブラリなどの機能の入口となるものであり、主として、ファイル制御、ウィンドウ制御、画像処理、文字制御などのための関数として提供される。
特許文献1には、表示スクリーン上に複数のウィンドウと呼ばれる表示領域を表示し、複数のウィンドウのそれぞれにおいて、異なる処理を行うことができるようにするウィンドウシステムが開示されている。
特開2005−346619号公報
従来の携帯端末装置などの組み込み環境におけるアプリケーションに関して、APIとGUIライブラリとは相互の依存度が高く、プラットフォームが変わるとGUIライブラリに合わせてAPIが変わり、これに伴ってアプリケーションも書き直す必要があった。
特に、GUI画面に対して、柔軟性の高い重ね合わせ表現を行おうとする場合にも、GUIライブラリを変更する必要が生じる。
本発明はこのような背景において、表示装置のGUI画面に対して、GUIライブラリを変更することなく、柔軟性の高い重ね合わせ表現を行えるようにするものである。
本発明は、また、APIとGUIライブラリの相互の独立性を高め、アプリケーションの移植性およびGUIリソースの再利用性を向上させようとするものである。
本発明による表示装置は、表示デバイスの表示画面上に画像を表示する表示手段と、前記表示画面の全体に対応する第1のスクリーンの内容を記憶する第1のスクリーンバッファと、GUIリソースを有するGUIライブラリと、前記GUIリソースを利用したGUI画像の描画の展開先となるフック先バッファと、前記第1のスクリーンバッファにコピーされるべき第2のスクリーンに対応する画像を記憶する第2のスクリーンバッファと、前記第2のスクリーンバッファに前記フック先バッファの内容をコピーするとともに任意の画像を重ね合わせて書き込む重ね合わせ手段とを備えたことを特徴とする。
GUI画像の描画自体はフック先バッファに対して行われ、重ね合わせ手段によるGUI画像に対する任意の画像の重ね合わせは第2のスクリーンバッファに対して行われるので、重ね合わせ対象の画像を変化させる場合でもGUI画像への影響はなく、GUI画像の描画自体をやり直す必要はない。表示デバイスの表示画面には第1のスクリーンバッファの内容が反映されるのに対して、第2のスクリーンバッファ上で重ね合わせが行われ、その結果が第1のスクリーンバッファに転送されるので、重ね合わせ処理が完了した後に当該転送を行うことにより、重ね合わせ後の画像を表示に反映させることができる。
前記重ね合わせ手段は、例えば、前記第2のスクリーンバッファにおいて、前記フック先バッファに描画されたGUI画像に任意の画像を重ね合わせて描画するためにアプリケーションに提供される重ね合わせAPIと、異なるGUIライブラリをアプリケーションが利用する場合にも、前記重ね合わせAPIを共通のインターフェイスで前記GUIライブラリに仲介するGUI依存モジュールインターフェイスとを備え、特定のGUIライブラリに対して、前記GUI依存モジュールインターフェイスのルールに基づいて当該GUIライブラリに対する入出力を定めるGUI依存モジュールが個別に用意される。GUI依存モジュールは、アプリケーションに対してGUIライブラリが異なっても、その違いを吸収し、APIがGUIライブラリに依存しないように作用する。
本発明によれば、第1および第2のスクリーンバッファおよびフック先バッファを組み合わせ、GUI画面に影響なく、任意の画像を重ね合わせ可能とすることにより、GUIライブラリを変更することなく、柔軟性の高い重ね合わせ表現を行えるようになる。
また、APIがGUIライブラリに依存しないため、アプリケーションの汎用性が高くなり、異なるGUI環境への移植が容易となる。また、GUIリソースの再利用性が向上する。
以下、本発明の好適な実施の形態について図面を参照しながら詳細に説明する。
図1は、本発明が適用される携帯端末装置の概略のハードウェア構成を示すブロック図である。携帯端末装置としては、携帯電話端末、PDA、ゲーム装置等、組み込み環境におけるGUI画面を有する任意の装置でありうる。GUI画面には、GUI画面と独立に1以上の描画スクリーンを重ね合わせることができるようにする。
制御部410は、CPU等のプロセッサを有し、本装置全体の制御を司る部位であり、各種のデータ処理を実行するデータ処理部を兼ねている。記憶部420は、プロセッサにより実行されるプログラムや各種のデータを記憶する部位であり、ROM、フラッシュメモリ、RAM、HDD等を含みうる。表示部430は、LCDや有機EL等の表示デバイスを有し、表示画面上にテキスト、画像、動画等の情報を表示する部位である。入力部440は、ユーザが装置に対して指示や情報を入力するための部位であり、キーボード、マウス、タッチパネル、ジョグダイヤル等の任意の操作手段を含みうる。通信部450は、無線インターフェイスまたは有線インターフェイスによりネットワークと通信を行うための部位である。ネットワークとしては、携帯電話網、インターネット、LAN等を含みうる。但し、通信部450は本発明の端末に必須の要素ではない。
図2は、本実施の形態におけるGUI画面への描画スクリーンの重ね合わせの概念を示す図である。これは重ね合わせの標準モードを示している。選択ボタン11〜14やラジオボタン15,16が配置されたGUI画面10に対して、任意の描画スクリーン20を重ね合わせて得られた表示画面25の状態を示している。描画スクリーン20として位置・サイズ固定の1スクリーンのみをサポートする標準的なモードである。GUI画面に重ね合わせる描画スクリーン20の位置はGUI画面10の所定の位置(ここでは左上の原点座標(0,0)の位置)に固定され、サイズはそのGUI環境のスクリーンサイズを越えないこととしている。また、作成し重ね合わせた描画スクリーンのGUI画面10に対する移動は許可しないものとする。GUI画面10と描画スクリーン20とは互いに独立となっている。ここに「互いに独立」とは一方を変更するために他方を変更する必要がなく、一方のみを他方に影響なく制御できることをいう。次に説明する拡張モードに比べて、処理速度、メモリ消費量に関しては高いパフォーマンスが得られる。
図3は本実施の形態における拡張モードでの重ね合わせの概念を示している。図2に示した要素と同様の要素には同じ参照番号を付して、重複した説明は省略する。このモードは、位置・サイズ可変の複数枚の描画スクリーン31〜34をサポートするモードである。図の例では4個の描画スクリーン31〜34を用いており、GUI画面10上の任意の位置に重ね合わせて表示画面26が形成される。描画スクリーン31〜34の各々の位置およびサイズはそのGUI環境のスクリーン(GUI画面)内であれば任意に指定でき、描画スクリーン同士で重なっても問題ない。作成し重ね合わせた描画スクリーンは、ユーザがタッチペンなどで動的に移動可能とする。
図4は、本実施の形態におけるソフトウェアの概略の構成を示している。アプリケーション100が、特定のOS等のプラットフォーム上に用意されたGUIライブラリ320a,320b,320cにより構成される異なるGUI環境に対して、これらのGUI環境とは独立に任意の描画スクリーンを重ね合わせて利用するために、重ね合わせライブラリ200を設けている。(GUIライブラリ320a,320b,320cを特に区別しないときは単にGUIライブラリ320という。他の参照符号についても同様である。)前述したように、GUIライブラリは、表示画面上でユーザの操作を受け付けたり案内したりするためのボタンやラベル等のGUIコンポーネントを含むリソースを有し、アプリケーションからAPIを介して利用することができるようになっている。
重ね合わせライブラリ200は、重ね合わせAPI210とGUI依存モジュールインターフェイス220を有する。
重ね合わせAPI210は、任意の(1以上の)描画スクリーン(ウィンドウ)をGUI画面に重ね合わせて表示させ、その描画やイベントなどを簡単に制御するための手段である。この重ね合わせAPI210自体はGUIライブラリ320に依存しないため、どのようなGUI開発環境においてもアプリケーションからの使用方法は同一にすることができる。
重ね合わせAPIの具体的な関数としては、重ね合わせシステムの構築・初期化、終了・開放、重ね合わせシステムが出力先とするスクリーンの幅,高さ,ビット深さの取得、アイドリング処理間隔指定、イベントやアイドリング処理の有効化、新たな描画スクリーンの作成・追加、描画スクリーンの除去・破棄、描画スクリーンのオフスクリーンバッファの取得、タッチパネル等のイベントの有効化/無効化、描画スクリーンの座標の変更、描画スクリーンに対するアイドラの登録、ハンドラの登録、等を含む。
GUI依存モジュールインターフェイス220は、異なるGUIライブラリをアプリケーションが利用する場合にも、共通の重ね合わせAPI210を共通のインターフェイスでGUIライブラリセットに仲介する手段であり、個々のGUIライブラリには依存しない。
一方、各GUIライブラリ320a,320b,320cには、それぞれ、GUI依存モジュール310a,310b,310cが個別に設けられ、それぞれ、GUIライブラリセットA,B,C(300a,300b,300c)を構成している。これらの各GUI依存モジュールは、個々のGUIライブラリに対して個別に用意され、共通のGUI依存モジュールインターフェイスのルールに基づいて当該GUIライブラリに対する入出力を定める。すなわち、GUI依存モジュール310が、個々のGUI環境の違いを吸収する役割を担っている。
以下、本実施の形態における重ね合わせ表現を実現するために行う処理を説明する。
本実施の形態における重ね合わせ手法は、GUI環境に依存しない。すなわち、GUI環境の情報をアプリケーションが共通のインターフェイスで得ることができる様にしている。GUI環境情報としては以下のような情報があり、アプリケーションは、重ね合わせAPI210を介して、GUI環境情報を問い合わせて確認する。
(a)GUI環境が出力先とするスクリーンのサイズ(幅および高さ)
(b)GUI環境のスクリーンピクセルのビット深度
(c)拡張モードの適用の可否
<重ね合わせシステム全体の構築>
本手法では、任意の描画スクリーンを登録する前に、重ね合わせシステム全体の構築を行う。重ね合わせシステムの構築としては、上述した「標準モード」および「拡張モード」の2種類のシステム構成を用意しており、それを構築の際に選択して使い分ける。
<描画スクリーンの登録>
図5に模式的に示すように、描画スクリーン(重ね合わせスクリーン)の管理はリスト構造によって実現している。アプリケーション100から重ね合わせAPI210に対して描画スクリーンの作成を指定すると、重ね合わせAPI210は、GUI依存モジュール310に対して描画スクリーンの作成を依頼する。個々の描画スクリーンが登録されると、GUI環境に互換性のある描画スクリーンが作成され、リストに追加して管理される。本手法では、その作成作業をGUI依存モジュール310において行うことで、アプリケーション100が直接GUIライブラリに依存することを回避している。また、図10に示すように、登録されたスクリーンに関連付けられたアイドラおよびハンドラ(これらについては後述する)などもここでまとめて管理できるようにしている。
図7に、各重ね合わせスクリーン(描画スクリーン)を定義するための重ね合わせスクリーン定義情報550を例示する。重ね合わせスクリーン定義情報550は、「フック先バッファヘのポインタ」「座標(位置情報)」「サイズ」「アイドラ関数ポインタ」「入力イベントハンドラの関数ポインタ」「入力イベントが有効か無効かのフラグ」「リストコネクション」等を含む。
「座標(位置情報)」は重ね合わせスクリーンの原点(例えば左上点が位置するGUI画面上の座標である。「サイズ」は重ね合わせスクリーンの幅および高さである。「アイドラ関数ポインタ」はアイドラ関数を指し示すポインタである。「入力イベントハンドラ関数ポインタ」は入力イベントハンドラ関数を指し示すポインタである。「入力イベントが有効か無効かのフラグ」は入力イベントを有効に設定されているか無効に設定されているかを示すフラグである。「リストコネクション」は、リスト同士のつながりを示す情報である。なお、アイドラ関数およびハンドラ関数は重ね合わせライブラリ200内に記憶されている。
図8に示すように、GUI環境がGUIコンポーネント530を出力するもともとの出力先であるスクリーンバッファ510(オンスクリーンバッファと呼ぶ)を本明細書では第1のスクリーンバッファという。「フック先バッファヘのポインタ」は、図8に示すように、スクリーンバッファ510ではなく、その前段に設けられ、重ね合わせシステムが内部的に確保した、GUIコンポーネントを展開して保持するためのフック先バッファ520を指し示すポインタである。フック先バッファ520に展開された画像データは所定のタイミングでスクリーンバッファ510にコピーされる。
図9に示すように、標準モードでは、GUI画像の描画のフック先バッファ520の描画データは、一旦、唯一の重ね合わせスクリーンバッファ500(第2のスクリーンバッファ)にコピーされ、かつ、この重ね合わせスクリーンバッファ500に対して、重ね合わせシステムによる任意のレンダリング(描画)が行われる。ここでは、GUI画面にキャラクタ21を重ね合わせる例を示している。この重ね合わせスクリーンバッファ500の画像データは、完成後に所定のタイミング(例えば毎秒60フレームの一定周期)でスクリーンバッファ510にコピーされる。重ね合わせスクリーンバッファ500は、オンスクリーンバッファに対してオフスクリーンバッファという。
図10は、拡張モードにおける複数の重ね合わせスクリーンバッファ501〜504の作用を示している。GUI描画のフック先バッファ520上に設定された指定サイズの複数のウィンドウ521〜524の矩形領域の画像をそれぞれ重ね合わせスクリーンバッファ501〜504にコピーするとともに、任意の画像(ここではキャラクタ31〜34)を重ねてレンダリングする。その後、所定のタイミングでそれぞれの重ね合わせスクリーンバッファ(第2のスクリーンバッファ)501〜504の内容をオンスクリーンバッファであるスクリーンバッファ510の当該位置へコピーする。重ね合わせスクリーンバッファ501〜504もオフスクリーンバッファである。複数のウィンドウ521〜524の矩形領域の位置は手動または自動で移動可能に制御される。
<描画管理>
図5で説明したように、アプリケーションによって登録された1つあるいは複数の重ね合わせスクリーンは、リスト構造として管理される。
前述したように、本手法では、本来のGUI画面と完全に独立して、かつ一貫性を持った更新を行えるように、GUI描画を重ね合わせシステムによってGUI画面を一旦フック先バッファ520に描画し、このフック先バッファでの管理下に置く処理を行っている。
GUI描画をフック先バッファに描画する理由は次のとおりである。
GUIコンポーネントの描画をGUI環境に任せた状態では、重ね合わせスクリーンを更新および描画する際に、期待する結果が得られない場合がある。それは、GUI描画スクリーンのクリアを重ね合わせシステムで制御できないと、一定の間隔で更新が必要な場合にGUIコンポーネントと重ね合わせ対象の画像とをうまく合成できないからである。そのため、本手法では内部的にGUI描画のフック先バッファを用意し、そちらへGUI環境がコンポーネントを描画するように設定する。このフック先バッファには重ね合わせ対象の画像は何ら書かれないので、GUI画面の描画内容自体が重ね合わせによる影響を受けることはない。
(標準モード)
標準モードでは、重ね合わせスクリーンの位置およびサイズが固定であるため、拡張モードに比べてシンプルな方法で描画を行う。そのため、バッファ間の複写等も少なく、処理速度は速い。
(拡張モード)
拡張モードでは、基本的には標準モードと同じ方法で描画を行うが、前述のように、複数のスクリーンに対して個別にコピーおよびレンダリングが実施されるので、標準モードに比べて処理速度は低下する。
<イベント管理>
本手法でのイベント処理は、アイドリング処理(一定時間間隔で周期的に実行される処理)と、マウスやタッチペンなどによる入力に対してのイベント処理の二つを制御する。また、どちらの処理に関しても、本手法は複数(あるいは唯一)の描画スクリーンに対して一括的に制御を行っている。
<アイドリング処理>
図6に示したように、本手法では、重ね合わせの対象となる描画スクリーンごと1枚につき、1つのアイドラ関数を登録できる。それぞれのアイドラ関数は、全て重ね合わせシステムに唯一のアイドリング間隔に基づいて連続でコールされる。なお、本手法では基本的にこのアイドラ関数内でそれぞれに関連付けられた描画スクリーンヘの更新が行われる。この更新は、具体的には、GUI描画のフック先バッファ520から重ね合わせスクリーンバッファ500へのコピーおよび任意の画像のレンダリングを含む。つまり、この一定時間間隔でコールされる関数によって、アニメーションなど動的な変化をもつレンダリングを可能とする。
<入力イベント処理>
本手法では、表示スクリーンに対して行われた入力イベントは全て一度重ね合わせシステムによって受け取られる。そしてシステムは登録済みの描画スクリーンの中から入力されたポイントと対応する矩形のスクリーンを検索し、イベント処理が許可されたもののみに対して処理を振り分けている。ただし、各入力イベントに対するイベントハンドラが設定されていなければ処理は何も行われない。
図11(a)に示すように、複数の重ね合わせスクリーンでGUI画面内の指定された矩形領域の画像に重ね合わされているスクリーンバッファ510に対応する表示画面上で、図示のように矢印で示されたポイントへユーザによる指示(例:タッチペンDown)がなされたとき、図11(b)に示すように、このポイント531が属するウィンドウ523に対応する重ね合わせスクリーン503に登録された入力イベントハンドラ(例:PenDownHandler)が実行される。
図11(c)に示すように、矢印で示された別のポイントがユーザにより指示されたとき、このポイント532が重ね合わせスクリーンの矩形領域に属さず、かつ、GUI部品の領域に属する場合、この指示はGUI部品に対するGUIイベントとして処理される。図の例では選択ボタン13が押されたと判断する。
また、図示しないが、複数の描画スクリーンが互いに重なっているポイントに入力がなされた場合は、後に登録されたもの(上層と把握される)を優先してイベントを描画スクリーンに振り分ける。
図12は、本実施の形態における処理のフローチャートを示している。これはアプリケーションの処理であり、制御部410により実行される。まず、「標準モード」または「拡張モード」のいずれかの重ね合わせシステムを構築する(S11)。そこで、任意の個数の重ね合わせスクリーンについて、描画スクリーン登録処理S13を繰り返して実行する(S12a〜S12b)。描画スクリーン登録処理S13の詳細については後述する。
ついで、重ね合わせシステムを実行開始する(S14)。その後、当該アプリケーションのメインループの処理が実行される(S15)。メインループでは、アイドリング処理、およびユーザ操作に基づくイベント処理が実行される。
メインループの処理が終了したら、描画スクリーンを破棄し(S16)。重ね合わせシステム(に利用したメモリ等の資源)を開放する(S17)。
描画スクリーン登録処理では、重ね合わせスクリーンとしての描画スクリーンを作成し(S21)、これに対応するアイドラ(アイドラ関数)の登録を行う。ついで、この描画スクリーンに対応するタッチペン入力などに対するハンドラ(ハンドラ関数)の登録を行う(S23)。最後に、ユーザの指示に応じて入力イベントを有効(または無効)に設定する(S24)。
図13は、GUI環境Aで動作するアプリケーションを他のGUI環境Bに移植する場合の説明図である。GUI環境AとGUI環境Bとはそれぞれ異なるGUIライブラリA(320a)およびB(320b)を有する。アプリケーション100をGUI環境AからGUI環境Bへ移植する場合、その前後でアプリケーション100および重ね合わせライブラリ200は共通であり、なんら変更は不要である。必要なことは、GUI依存モジュール310aに代えて、GUI環境Bに対応するGUI依存モジュール310bを実装することである。このように、GUI依存モジュールを交換するだけで、アプリケーションは何ら変更することなく、異なるGUI環境への移植を行うことができる。
図14は、描画スクリーンに対して入力イベントの有効化(ON)が行われている場合と、無効化(OFF)が行われている場合の動作の違いの説明図である。図14(a)に示すようにGUI画面に描画スクリーン31が重ね合わせ表示されている場合、入力イベントの有効化(ON)が行われていれば、図14(b)に示すように、ユーザは描画スクリーン31のキャラクタをタッチペン等の操作で移動させることができる。これに対して、入力イベントが無効化(OFF)されていれば、図14(c)に示すように、ユーザによる描画スクリーン31のキャラクタの操作はできなくなる。
図15は本実施の形態における重ね合わせシステムで実現可能な表示画面600の表現例を示している。
図15(a)のアプリケーションはGUI画面のボタン611〜615に対して例えばエージェントを表す2次元または3次元のキャラクタ620(図の例ではにわとり)を重ね合わせ、タイマー設定によりアラーム表示621(および音声出力)のようなユーザへのアクションを行わせる表示画面600の例を示している。これはキャラクタ620を描画する重ね合わせスクリーンを用いるとともに、アイドリング処理により特定の時刻でのアラーム表示621の追加を行うことにより実現される。
図15(b)は、図15(a)と同じGUI画面上に、メモ用紙640をGUI画面上の任意の位置へピン留めした表示例を示している。これはユーザ操作による入力イベントに応じてメモ用紙640に対応する重ね合わせスクリーンを用いることにより実現される。また、この画面ではユーザが任意の文字列650をタッチペン630で画面上に記入することを許容する例を示している。これはユーザ操作による入力イベントに応じて特定の重ね合わせスクリーン上に描画を行うことにより実現される。
図15(c)は図15(b)の画面でユーザがタッチペン630を用いてメモ用紙640を画面上でドラッグ(移動)することを許容する表示例を示している。この場合、入力イベント(ドラッグ動作)に応じて当該重ね合わせスクリーンの重ね合わせスクリーン定義情報550(図7)内の「座標(位置情報)」が動的に更新されることになる。
図15(d)の表示例では、図15(c)のドラッグ後の画面上の一つのボタン613に対するユーザによるタッチペン630でのプッシュを入力イベントとして受け付けることができることを示している。なお、このボタン613の指示に応じて起動されるGUIイベント処理自体は、重ね合わせシステムとは別の既存システムにより実行される。この処理は従来のGUI環境により実現される動作である。
このほか、重ね合わせスクリーンとしてGUI画面上に時計などのアクセサリの表示を行わせることも可能である。
以上説明したように、本実施の形態によれば、従来の手法と比べて次のような効果が得られる。
1.APIがGUIライブラリに非依存
GUI依存モジュール310がGUIライブラリ320の違いを吸収する構成になっており、アプリケーションの改変を必要とせずに異なるGUI環境に対して重ね合わせ表現を適用させることができる。すなわち、重ね合わせシステムのインターフェイスはその下位に存在するGUIライブラリに依存しないため、アプリケーション側からはどのようなGUIライブラリ環境下でも共通のAPIを使用することができ、GUIライブラリが変更になった場合でもアプリケーションに対しての修正の必要がない。これはアプリケーションの移植性が高いことを意味する。例えば、あるGUI環境で本手法を用いてアプリケーションを開発し、それを他のGUI環境へ移植する必要が生じた場合、アプリケーション自体を改変せず、GUI依存モジュールをその新しいGUI環境に合わせて実装し直すだけでよい。
2.GUIリソースの再利用性
GUIリソース(RADツールなどで作成されたものを含む)を直接変更せず、アプリケーション側で描画およびイベントを完全に管理しているため、重ね合わせを意識してGUIリソースを作成する必要がなく、GUIリソースを再利用性の高いものとして保持することができる。例えば、GUIコンポーネント(ボタンやラベルなど)に何らかの仕掛けを持ちたい場合にでも、GUIコンポーネントに対して変更や拡張を施す必要が無く、重ね合わせシステムによりアプリケーションの一機能としてGUIコンポーネントを拡張することができ、GUIリソースそのものの再利用性を高めることができる。
3.描画処理の独立
任意の描画スクリーン(重ね合わせスクリーン)ヘの描画は、GUIコンポーネントの描画と完全に独立しているため、GUI画面上にペイントしたり、他の付加情報(メモ書きなど)を配置したりした場合でも、それがGUI自体に与える影響は無く(従来のGUIに対する操作性を損なうこともなく)、視覚的にダイナミックな表現もソフトウェア処理だけで比較的簡易に実現することができる。
4.イベント処理の独立
描画更新やタッチペンなどによる入力イベントがあったとしても、GUIコンポーネントの処理とは独立しているため、従来のただ表示するだけのものと違い、対話型のキャラクタや仕掛けをアプリケーションで実現することが容易となり、またGUI自体への入力を停止させる必要がない。また、描画スクリーン毎にイベントの有効化/無効化を行えるので、特定の描画スクリーンへの入力イベントを、任意に有効または無効化することができる。
5.重ね合わせシステムの高自由度
本実施の形態の重ね合わせシステムは、比較的低レベルのAPIだけで構成することができるため、自由度が高く、アプリケーションにおいて本システムを使用することで、ハードウェアに依ることなくユーザの工夫次第で様々な表現を可能にすることができる。また、この重ね合わせ表現は、機能的にもGUIから完全に独立しているため、ソフトウェア処理のみによって使用者に対しあらゆるカスタマイズを許可し、自由度が高く、工夫次第で様々な面白さを提供することができる。
以上、本発明の好適な実施の形態について説明したが、上記で言及した以外にも種々の変形、変更を行うことが可能である。
本発明が適用される携帯端末装置の概略のハードウェア構成を示すブロック図である。 本発明の実施の形態におけるGUI画面への描画スクリーンの重ね合わせの概念を示す図である。 本発明の実施の形態における拡張モードでの重ね合わせの概念を示す図である。 本発明の実施の形態におけるソフトウェアの概略の構成を示す図である。 本発明の実施の形態における描画スクリーン(重ね合わせスクリーン)のリスト構造による管理を示す図である。 本発明の実施の形態において、重ね合わせの対象となる描画スクリーンごと1枚につき、1つのアイドラ関数を登録できることを示す図である。 本発明の実施の形態において、各重ね合わせスクリーン(描画スクリーン)を定義するための重ね合わせスクリーン定義情報を例示する図である。 本発明の実施の形態において、GUIコンポーネントを展開して保持するフック先バッファの説明図である。 本発明の実施の形態における標準モードでの唯一の重ね合わせスクリーンの利用の仕方の説明図である。 本発明の実施の形態での拡張モードにおける複数の重ね合わせスクリーンの作用を示す図である。 本発明の実施の形態におけるユーザ指示によるイベント処理の例を説明するための図である。 本発明の実施の形態における、アプリケーション処理のフローチャートを示す図である。 本発明の実施の形態において、GUI環境Aで動作するアプリケーションを他のGUI環境Bに移植する場合の説明図である。 本発明の実施の形態において、描画スクリーンに対して入力イベントの有効化(ON)が行われている場合と、無効化(OFF)が行われている場合の動作の違いの説明図である。 本発明の実施の形態における重ね合わせシステムで実現可能な表現例を示す図である。
符号の説明
10…GUI画面、13…選択ボタン、15,16…ラジオボタン、20…描画スクリーン、21…キャラクタ、25,26…表示画面、31…描画スクリーン、100…アプリケーション、200…重ね合わせライブラリ、220…GUI依存モジュールインターフェイス、310,310a,310b,310c…GUI依存モジュール、320,320a,320b,320c…GUIライブラリ、410…制御部、420…記憶部、430…表示部、440…入力部、450…通信部、500,501〜504…スクリーンバッファ(オフスクリーンバッファ)、510…スクリーンバッファ(オンスクリーンバッファ)、520…フック先バッファ、523…ウィンドウ、530…GUIコンポーネント、531…ポイント、532…ポイント、550…スクリーン定義情報、600…表示画面、613…ボタン、620…キャラクタ、621…アラーム表示、630…タッチペン、640…メモ用紙、650…文字列

Claims (12)

  1. 表示デバイスの表示画面上に画像を表示する表示手段と、
    前記表示画面の全体に対応する第1のスクリーンの内容を記憶する第1のスクリーンバッファと、
    GUIリソースを有するGUIライブラリと、
    前記GUIリソースを利用したGUI画像の描画の展開先となるフック先バッファと、
    前記第1のスクリーンバッファにコピーされるべき第2のスクリーンに対応する画像を記憶する第2のスクリーンバッファと、
    前記第2のスクリーンバッファに前記フック先バッファの内容をコピーするとともに任意の画像を重ね合わせて書き込む重ね合わせ手段と
    を備えたことを特徴とする表示装置。
  2. 前記重ね合わせ手段は、
    前記第2のスクリーンバッファにおいて、前記フック先バッファに描画されたGUI画像に任意の画像を重ね合わせて描画するためにアプリケーションに提供される重ね合わせAPIと、
    異なるGUIライブラリをアプリケーションが利用する場合にも、前記重ね合わせAPIを共通のインターフェイスで前記GUIライブラリに仲介するGUI依存モジュールインターフェイスとを備え、
    特定のGUIライブラリに対して、前記GUI依存モジュールインターフェイスのルールに基づいて当該GUIライブラリに対する入出力を定めるGUI依存モジュールが個別に用意されたことを特徴とする請求項1記載の表示装置。
  3. 前記第2のスクリーンバッファに対応して周期的に実行する処理を定める手段を備えたことを特徴とする請求項1記載の表示装置。
  4. 前記第2のスクリーンとして、前記第1のスクリーンと同サイズのスクリーンを単一個用いることを特徴とする請求項1記載の表示装置。
  5. 前記第2のスクリーンとして、前記第1のスクリーンより小さい任意のサイズおよび個数のスクリーンを用いることを特徴とする請求項1記載の表示装置。
  6. 前記第2のスクリーンとして、前記第1のスクリーンと同サイズのスクリーンを単一個用いる第1の動作モードと、前記第2のスクリーンとして、前記第1のスクリーンより小さい任意のサイズおよび個数のスクリーンを用いる第2の動作モードとを選択可能に設定する手段を備えたことを特徴とする請求項1記載の表示装置。
  7. 前記第2のスクリーンの少なくとも一つに対して所定の入力イベント処理を登録し、ユーザ操作により指示された表示画面上のポイントと対応する前記第2のスクリーンを検索し、対応する第2のスクリーンが存在する場合、当該イベント処理を実行する請求項5または6記載の表示装置。
  8. 前記入力イベントを有効化/無効化する手段を備え、無効化されている場合には前記対応する第2のスクリーンが存在しても前記入力イベント処理を抑止する請求項7記載の表示装置。
  9. 表示デバイスの表示画面上に画像を表示する表示装置における表示処理方法であって、
    前記表示画面の全体に対応する第1のスクリーンの内容を記憶する第1のスクリーンバッファと、GUIリソースを有するGUIライブラリと、前記GUIリソースを利用したGUI画像の描画の展開先となるフック先バッファと、前記第1のスクリーンバッファにコピーされるべき第2のスクリーンに対応する画像を記憶する第2のスクリーンバッファとを設けるステップと、
    前記フック先バッファに前記GUIリソースを利用してGUI画像の描画を行うステップと、
    前記第2のスクリーンバッファに前記フック先バッファの内容をコピーするステップと、
    前記第2のスクリーンバッファの内容に任意の画像を重ね合わせて書き込むステップと、
    前記第2のスクリーンバッファの内容を前記第1のスクリーンバッファにコピーするステップと
    を備えたことを特徴とする表示処理方法。
  10. 前記第2のスクリーンバッファとして、サイズおよび前記第1のスクリーン上の位置を指定して、少なくとも1個のスクリーンバッファを確保するステップを備えた請求項9記載の表示処理方法。
  11. 特定の前記第2のスクリーンバッファに対応して周期的に所定の処理を実行するためのアイドラを登録するステップと、
    前記アイドラが登録された前記第2のスクリーンに対応して前記所定の処理を周期的に実行するステップと
    を備えた請求項9記載の表示処理方法。
  12. 特定の前記第2のスクリーンバッファに対応して入力イベント処理を登録するステップと、
    前記第1のスクリーンバッファの内容に対応する表示画面に対してユーザ操作によりあるポイントが指示されたとき、その指示されたポイントが前記入力イベント処理を登録された前記第2のスクリーンに対応するか否かをチェックするステップと、
    対応する場合、前記入力イベント処理を実行するステップと
    を備えた請求項9記載の表示処理方法。
JP2006158241A 2006-06-07 2006-06-07 表示装置 Expired - Fee Related JP4963571B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006158241A JP4963571B2 (ja) 2006-06-07 2006-06-07 表示装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006158241A JP4963571B2 (ja) 2006-06-07 2006-06-07 表示装置

Publications (2)

Publication Number Publication Date
JP2007328488A true JP2007328488A (ja) 2007-12-20
JP4963571B2 JP4963571B2 (ja) 2012-06-27

Family

ID=38928925

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006158241A Expired - Fee Related JP4963571B2 (ja) 2006-06-07 2006-06-07 表示装置

Country Status (1)

Country Link
JP (1) JP4963571B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010164972A (ja) * 2009-01-16 2010-07-29 Samsung Electronics Co Ltd 画像ドローイング方法及び装置
JP2013134409A (ja) * 2011-12-27 2013-07-08 Seiko Epson Corp プロジェクター、及び、プロジェクターの制御方法
JP2017062782A (ja) * 2015-09-21 2017-03-30 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation オーバーレイ制御方法およびシステム
CN114595021A (zh) * 2022-03-10 2022-06-07 Oppo广东移动通信有限公司 花屏修复方法、装置、电子设备、芯片及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06289843A (ja) * 1993-03-31 1994-10-18 Komatsu Ltd 画像表示処理装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06289843A (ja) * 1993-03-31 1994-10-18 Komatsu Ltd 画像表示処理装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010164972A (ja) * 2009-01-16 2010-07-29 Samsung Electronics Co Ltd 画像ドローイング方法及び装置
JP2013134409A (ja) * 2011-12-27 2013-07-08 Seiko Epson Corp プロジェクター、及び、プロジェクターの制御方法
JP2017062782A (ja) * 2015-09-21 2017-03-30 エヌエイチエヌ エンターテインメント コーポレーションNHN Entertainment Corporation オーバーレイ制御方法およびシステム
US10142764B2 (en) 2015-09-21 2018-11-27 Nhn Entertainment Corporation Method and system for overlay display control
CN114595021A (zh) * 2022-03-10 2022-06-07 Oppo广东移动通信有限公司 花屏修复方法、装置、电子设备、芯片及存储介质
CN114595021B (zh) * 2022-03-10 2023-12-12 Oppo广东移动通信有限公司 花屏修复方法、装置、电子设备、芯片及存储介质

Also Published As

Publication number Publication date
JP4963571B2 (ja) 2012-06-27

Similar Documents

Publication Publication Date Title
US10013098B2 (en) Operating method of portable terminal based on touch and movement inputs and portable terminal supporting the same
JP6329398B2 (ja) 電子装置におけるコピー/貼り付け方法及び電子装置
US9582188B2 (en) Method for adjusting display area and electronic device thereof
US9483172B2 (en) Information processing device, information processing method, and computer-readable recording medium which records program
US20180011609A1 (en) Method of navigating an extended computer desktop on multiple display devices
US8060837B2 (en) Information processing device and program
JP4303311B2 (ja) 操作支援コンピュータプログラム、操作支援コンピュータシステム
JP6529505B2 (ja) インタラクティブ開発環境からソフトウェアアーチファクトをインクリメンタルにコンパイルすること
US10747510B1 (en) Application runtime modification
JP2008204239A (ja) 電子計算機及びソフトウェアによるユーザインタフェースの実現方法
JP4963571B2 (ja) 表示装置
JP6504248B2 (ja) 画像出力制御方法、画像出力制御プログラム及び表示装置
US20170192673A1 (en) Information processing apparatus, information processing method, and information processing program
AU748105B2 (en) System to associate control with applications using drag and drop interface
US20160313958A1 (en) Cross-platform command extensibility
JP2008158882A (ja) 情報処理装置およびポップアップウィンドウ表示制御方法およびプログラムおよび記録媒体
JP2008310442A (ja) 遠隔操作システム、制御方法及びプログラム
US20130139072A1 (en) Executing a composited application
JP2004110217A (ja) グラフィカルユーザインタフェース、プログラムおよび記録媒体
JP2001318796A (ja) 内外イベントドリブン方式によるプログラム実行制御方法、記録媒体およびプログラム作成支援システム
US8782675B2 (en) Method and system of accessing display window memory
CN114816564A (zh) 应用加载方法、装置和电子设备
JP2018014603A (ja) 情報処理装置、情報処理装置の制御方法、及びプログラム
JP2012032938A (ja) ユーザ端末がスクリプトプログラムを解釈実行する方法、スクリプトプログラム及びユーザ端末
JP2021060667A (ja) 情報処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090522

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110831

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111020

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120326

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120326

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150406

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees