JP2007102751A - 電子機器、状態制御方法及び状態制御プログラム - Google Patents
電子機器、状態制御方法及び状態制御プログラム Download PDFInfo
- Publication number
- JP2007102751A JP2007102751A JP2006090289A JP2006090289A JP2007102751A JP 2007102751 A JP2007102751 A JP 2007102751A JP 2006090289 A JP2006090289 A JP 2006090289A JP 2006090289 A JP2006090289 A JP 2006090289A JP 2007102751 A JP2007102751 A JP 2007102751A
- Authority
- JP
- Japan
- Prior art keywords
- event
- data structure
- drawing information
- layer
- registered
- 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
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
【解決手段】メモリと、イベントが発生すると、表示優先度が予め決められているレイヤ毎にある描画情報データ構造体のうち発生した前記イベントに対応する前記描画情報データ構造体に、発生した前記イベントに対応する描画情報を登録、又は、発生した前記イベントに対応する前記描画情報データ構造体に登録されている前記描画情報を抹消する状態管理手段と、前記描画情報が登録又は抹消されると、表示優先度の低いレイヤから順に、前記描画情報データ構造体に登録されている前記描画情報に基づいて前記メモリの一画面分の画像データ格納領域に描画する描画手段と、前記画像データ格納領域に描画された画像を一画面に表示する表示手段と、を備える電子機器。
【選択図】図1
Description
一方、メモリ資源が潤沢でない電子機器の場合、最小限のメモリ領域を使用してマルチウィンドウ表示を実現するためには、ソフトウェアでの制御が重複し複雑化するという問題があった。例えば、画面表示の変更の要因となるイベントが発生すると、イベント発生を検知し表示を更新するという一連の処理単位毎に、更新内容を判定する必要があった。具体的には例えば、次に表示されるウィンドウよりも表示優先度の高いウィンドウが現在表示されていないかどうか、ウィンドウを消去するとき次に表示されなければならないウィンドウはどれか、また表示が更新されなければならない領域を含むウィンドウはどれであるか、等を判定しなければならなかった。
この電子機器によると、表示優先度が予め決められているレイヤ毎にある描画情報データ構造体に登録されている描画情報に基づいて一画面分の画像データ格納領域に画像データを描画する構成であるので、レイヤの個数分の画像データ格納領域を必要としないため、メモリ資源を節約することができる。描画情報を登録又は抹消する処理と描画処理とを切り離し、その間に、表示優先度が予め決められているレイヤ毎に描画情報データ構造体を介在させ、一元的に描画情報を管理することにより、プログラムロジックの重複をなくすことができる。すなわち、次に表示されるウィンドウよりも表示優先度の高いウィンドウは現在表示されていないかどうか、ウィンドウを消去するとき次に表示されるウィンドウはどれか、また表示が更新されなければならない領域を含むウィンドウはどれであるか等を、イベント発生を検知し表示を更新するという一連の処理単位毎に判定する必要がない。つまり、描画情報を登録又は抹消する処理では、イベントの種類によって一義的に定まっている描画情報を、イベントの種類によって一義的に定まっている描画情報データ構造体にイベント発生履歴を判定することなく登録し、また、イベントの種類によって一義的に定まっている描画情報データ構造体に登録されている描画情報をイベント発生履歴を判定することなく抹消すればよくなる。描画処理では、発生したのがどんなイベントであっても、イベント発生履歴とは無関係に、表示優先度の低いレイヤから順に、描画情報データ構造体に登録されている描画情報に基づいて記憶手段の一画面分の画像データ格納領域に描画するという同一の処理を繰り返せばよくなる。その結果、一画面分の画像データを生成することができるため、制御を単純化することができる。
この電子機器によると、第一のレイヤの描画情報データ構造体に登録されている描画情報に基づいて描画される画像の全体に、それよりも表示優先度の高い第二のレイヤの描画情報データ構造体に登録されている描画情報に基づいて描画される画像が最終的に重なる場合、第一のレイヤの描画情報データ構造体に登録されている描画情報に基づいて描画することなく第二のレイヤの描画情報データ構造体に登録されている描画情報に基づいて描画するため、無駄な処理を省略し、一画面分の画像を表示するための画像データを早く生成することができる。
この電子機器によると、既に描画情報が描画情報データ構造体に登録され画像データ格納領域に描画済みである他のレイヤと比較して最も表示優先度が高い最優先レイヤの描画情報データ構造体に描画情報が登録されると、他のレイヤの描画情報データ構造体に登録されている描画情報に基づいて描画することなく、最優先レイヤの描画情報データ構造体に登録されている描画情報に基づいて描画するため、一画面分の画像を表示するための画像データを早く生成することができる。
この電子機器によると、イベントが発生すると、処理優先度が予め決められているレイヤ毎にある状態制御データ構造体に登録されているイベント処理情報のうち最優先のレイヤに登録されているイベント処理情報に基づいてイベント処理が起動される。イベント処理では、発生したイベントに応じた処理が行われ、イベントに対応する状態要素がアクティブであるか又は非アクティブであるかが設定される。その後、アクティブになった状態要素のうち最優先の状態要素に対応するイベント処理情報が状態制御データ構造体に登録される。又は非アクティブになった状態要素に対応するイベント処理情報が状態制御データ構造体から抹消される。つまり、発生したイベントに応じた処理を行い、対応する状態要素がアクティブであるか非アクティブであるかを設定するイベント処理と、優先させるべき状態要素に対応するイベント処理を判定して起動する処理とを切り離し、その間に、処理優先度が予め決められているレイヤ毎にイベント処理情報データ構造体を介在させ、一元的にイベント処理を管理することにより、プログラムロジックの重複をなくすことができる。ここで状態要素とは、電子機器の状態を定める個々の要素を示すものである。イベント処理手段は、イベントの発生履歴や他の状態要素との優先関係を考慮することなく、発生したイベントに応じた処理を行い、対応する状態要素がアクティブであるか非アクティブであるかを設定すればよい。状態管理手段は、発生したのがどんなイベントであっても、処理優先度の高いレイヤから順に、状態制御データ構造体に登録されているイベント処理情報を検索し、最優先のレイヤの状態制御データ構造体に登録されているイベント処理情報に基づいてイベント処理を起動するという同一の処理を繰り返せばよくなる。また、状態管理手段は、アクティブである状態要素のうち最も処理優先度の高い状態要素に対応するイベント処理情報を対応するレイヤの状態制御データ構造体に登録又は非アクティブとなった状態要素に対応するイベント処理情報を対応する状態制御データ構造体から抹消すればよい。その結果、発生したイベントに応じた処理を実行することができるため、制御を単純化することができる。
この電子機器によると、状態要素に対応付けられるイベント処理を外部イベント処理と内部イベント処理とに区別する構成であるので、状態要素に対応付けられるイベント処理を区別しない構成と比較して、プログラムロジックの重複を排除しプログラムサイズを削減することができる。すなわち例えば、異なる複数の状態要素に関して、外部イベントに対する処理は共通するが内部イベントに対する処理は異なるという場合に、外部イベントに対する処理と内部イベントに対する処理とを区別して参照できるため、プログラムロジックの重複を排除することができる。
この電子機器によると、発生したイベントに応じた処理を行い、対応する状態要素がアクティブであるか非アクティブであるかを設定するイベント処理と、優先させるべき状態要素に対応するイベント処理を判定して起動する処理とを切り離し、その間に、処理優先度が予め決められているレイヤ毎にイベント処理情報データ構造体を介在させ、一元的にイベント処理を管理することにより、プログラムロジックの重複をなくすことができる。イベント処理手段は、イベントの発生履歴や他の状態要素との優先関係を考慮することなく、発生したイベントに応じた処理を行い、対応する状態要素がアクティブであるか非アクティブであるかを設定すればよい。状態管理手段は、発生したのがどんなイベントであっても、処理優先度の高いレイヤから順に、状態制御データ構造体に登録されているイベント処理情報を検索し、最優先のレイヤの状態制御データ構造体に登録されているイベント処理情報に基づいてイベント処理を起動するという同一の処理を繰り返せばよくなる。また、状態管理手段は、アクティブである状態要素のうち最も処理優先度の高い状態要素に対応するイベント処理情報を対応するレイヤの状態制御データ構造体に登録又は非アクティブとなった状態要素に対応するイベント処理情報を対応する状態制御データ構造体から抹消すればよい。その結果、発生したイベントに応じた処理を実行することができるため、制御を単純化することができる。
この状態制御方法によると、表示優先度が予め決められているレイヤ毎にある描画情報データ構造体に登録されている描画情報に基づいて一画面分の画像データ格納領域に画像データを描画する構成であるので、レイヤの個数分の画像データ格納領域を必要としないため、メモリ資源を節約することができる。描画情報を登録又は抹消する処理と描画処理とを切り離し、その間に、表示優先度が予め決められているレイヤ毎に描画情報データ構造体を介在させ、一元的に描画情報を管理することにより、プログラムロジックの重複をなくすことができる。すなわち、次に表示されるウィンドウよりも表示優先度の高いウィンドウは現在表示されていないかどうか、ウィンドウを消去するとき次に表示されるウィンドウはどれか、また表示が更新されなければならない領域を含むウィンドウはどれであるか等を、イベント発生を検知し表示を更新するという一連の処理単位毎に判定する必要がない。つまり、描画情報を登録又は抹消する処理では、イベントの種類によって一義的に定まっている描画情報を、イベントの種類によって一義的に定まっている描画情報データ構造体にイベント発生履歴を判定することなく登録し、また、イベントの種類によって一義的に定まっている描画情報データ構造体に登録されている描画情報をイベント発生履歴を判定することなく抹消すればよくなる。描画処理では、発生したのがどんなイベントであっても、イベント発生履歴とは無関係に、表示優先度の低いレイヤから順に、描画情報データ構造体に登録されている描画情報に基づいて記憶手段の一画面分の画像データ格納領域に描画するという同一の処理を繰り返せばよくなる。その結果、一画面分の画像データを生成することができるため、制御を単純化することができる。
この状態制御方法によると、発生したイベントに応じた処理を行い、対応する状態要素がアクティブであるか非アクティブであるかを設定するイベント処理と、優先させるべき状態要素に対応するイベント処理を判定して起動する処理とを切り離し、その間に、処理優先度が予め決められているレイヤ毎にイベント処理情報データ構造体を介在させ、一元的にイベント処理を管理することにより、プログラムロジックの重複をなくすことができる。イベント処理では、イベントの発生履歴や他の状態要素との優先関係を考慮することなく、発生したイベントに応じた処理を行い、対応する状態要素がアクティブであるか非アクティブであるかを設定すればよい。状態管理処理では、発生したのがどんなイベントであっても、処理優先度の高いレイヤから順に、状態制御データ構造体に登録されているイベント処理情報を検索し、最優先のレイヤの状態制御データ構造体に登録されているイベント処理情報に基づいてイベント処理を起動するという同一の処理を繰り返せばよくなる。また、状態管理処理は、アクティブである状態要素のうち最も処理優先度の高い状態要素に対応するイベント処理情報を対応するレイヤの状態制御データ構造体に登録又は非アクティブとなった状態要素に対応するイベント処理情報を対応する状態制御データ構造体から抹消すればよい。その結果、発生したイベントに応じた処理を実行することができるため、制御を単純化することができる。
この状態制御プログラムによると、表示優先度が予め決められているレイヤ毎にある描画情報データ構造体に登録されている描画情報に基づいて一画面分の画像データ格納領域に画像データを描画する構成であるので、レイヤの個数分の画像データ格納領域を必要としないため、メモリ資源を節約することができる。描画情報を登録又は抹消する処理と描画処理とを切り離し、その間に、表示優先度が予め決められているレイヤ毎に描画情報データ構造体を介在させ、一元的に描画情報を管理することにより、プログラムロジックの重複をなくすことができる。すなわち、次に表示されるウィンドウよりも表示優先度の高いウィンドウは現在表示されていないかどうか、ウィンドウを消去するとき次に表示されるウィンドウはどれか、また表示が更新されなければならない領域を含むウィンドウはどれであるか等を、イベント発生を検知し表示を更新するという一連の処理単位毎に判定する必要がない。つまり、描画情報を登録又は抹消する処理では、イベントの種類によって一義的に定まっている描画情報を、イベントの種類によって一義的に定まっている描画情報データ構造体にイベント発生履歴を判定することなく登録し、また、イベントの種類によって一義的に定まっている描画情報データ構造体に登録されている描画情報をイベント発生履歴を判定することなく抹消すればよくなる。描画処理では、発生したのがどんなイベントであっても、イベント発生履歴とは無関係に、表示優先度の低いレイヤから順に、描画情報データ構造体に登録されている描画情報に基づいて記憶手段の一画面分の画像データ格納領域に描画するという同一の処理を繰り返せばよくなる。その結果、一画面分の画像データを生成することができるため、制御を単純化することができる。
この状態制御プログラムによると、発生したイベントに応じた処理を行い、対応する状態要素がアクティブであるか非アクティブであるかを設定するイベント処理と、優先させるべき状態要素に対応するイベント処理を判定して起動する処理とを切り離し、その間に、処理優先度が予め決められているレイヤ毎にイベント処理情報データ構造体を介在させ、一元的にイベント処理を管理することにより、プログラムロジックの重複をなくすことができる。イベント処理手段は、イベントの発生履歴や他の状態要素との優先関係を考慮することなく、発生したイベントに応じた処理を行い、対応する状態要素がアクティブであるか非アクティブであるかを設定すればよい。状態管理手段は、発生したのがどんなイベントであっても、処理優先度の高いレイヤから順に、状態制御データ構造体に登録されているイベント処理情報を検索し、最優先のレイヤの状態制御データ構造体に登録されているイベント処理情報に基づいてイベント処理を起動するという同一の処理を繰り返せばよくなる。また、状態管理手段は、アクティブである状態要素のうち最も処理優先度の高い状態要素に対応するイベント処理情報を対応するレイヤの状態制御データ構造体に登録又は非アクティブとなった状態要素に対応するイベント処理情報を対応する状態制御データ構造体から抹消すればよい。その結果、発生したイベントに応じた処理を実行することができるため、制御を単純化することができる。
図2は、本発明による電子機器の一実施例としてのマルチファンクションプリンタ(MFP)1のハードウェア構成を示すブロック図である。MFP1は、リムーバブルメモリ96から画像を入力して印刷する機能、画像を読み取って印刷する機能などを備えている。
プリントユニット70は、インクジェット方式で用紙に画像を形成するための記録ヘッド、記録ヘッドを往復運動させる駆動機構、給排紙機構等を備える。プリントユニット70の印刷方式は、レーザ方式、サーマル方式、ドットインパクト方式等でも良い。
通信部93は、制御部72がPC等の外部のシステムと通信するための通信インタフェースである。通信部93は、LAN、インターネット、USB等を通じて外部のシステムと通信し、ハードディスク、コンパクトディスク等に格納されているデータを取得する。
以上、MFP1のハードウェア構成について説明した。
状態管理データ構造体324は、「電源オフ中」や「カメラ接続表示中」などのような、MFP1の全体としての状態を定めるための個々の要素(以降、状態要素という)毎に、イベント処理情報と描画情報と発生状況とを関連付けて記憶する。イベント処理情報フィールド及び描画情報フィールドは、各状態要素に対応付するイベント処理情報及び描画情報が予め設定されている。各状態要素の発生状況フィールドは、イベントの発生に応じて動的に「アクティブ」又は「非アクティブ」が設定される。イベント処理情報には、状態要素に対応する外部イベント処理モジュールの参照と内部イベント処理モジュールの参照が記憶される。外部イベント処理モジュールは、ボタン群82を介して入力されたユーザの指示の有効無効判定及びその指示内容に応じた処理を行うプログラム部品である。内部イベント処理モジュールは、上記の外部イベント以外の内部的に発生するイベント(タイムアウト発生、プリントユニット70でのエラー発生等)に応じた処理を行うプログラム部品である。外部イベント処理モジュール及び内部イベント処理モジュールでは、後述するように、発生したイベントの種類によっては、対応する状態要素の発生状況の更新も行われる。描画情報には、状態要素に対応する描画モジュールの参照と位置情報等が記憶される。各状態要素は処理優先度が予め設計されており、その処理優先度順に状態管理データ構造体324に格納されている。状態管理データ構造体324はRAM74に記憶される。
複数のイベント処理モジュール350、351、352、353、354、355、356、357は、対応する状態要素がアクティブである期間にイベントが発生した際に起動され、制御部72をイベント処理手段として機能させるプログラム部品である。これらのイベント処理モジュールは、発生したイベントによって、状態管理データ構造体324で管理されている状態要素の発生状況が変化する場合、その状態要素の発生状況フィールドに「アクティブ」又は「非アクティブ」を設定する。イベント発生に応じてハンドリングされるイベント処理モジュール358において状態管理データ構造体324の対応する状態要素の発生状況を設定し、状態管理モジュール300にイベントが発生したことを通知する構成であってもよい。この場合、イベント処理モジュール358は、制御部72をイベント処理手段として機能させる。
また、状態管理モジュール300は、状態管理データ構造体324を参照し、発生状況が「アクティブ」な状態要素のうち最優先の状態要素に対応するイベント処理情報を状態制御データ構造体322の対応するレイヤに、最優先の状態要素に対応する描画情報を描画情報データ構造体300の対応するレイヤに登録する。あるイベントの発生によって、状態管理データ構造体324で管理している状態要素が全て「非アクティブ」になった場合は、状態管理モジュール300は、状態制御データ構造体322及び描画情報データ構造体300の対応するレイヤに登録されているイベント処理情報と描画情報とを抹消する。
複数の描画モジュール306、307、308、309は、FPD88に表示される画像の画像データを画面領域73に描画させることによって制御部72を描画手段として機能させるプログラム部品である。尚、複数の描画モジュールは、高速に描画可能な専用回路で構成され、図示しないASICに搭載されていてもよい。
以上、MFP1の論理的構成について説明した。
(1)ユーザが印刷したい画像を選択する。
(2)印刷する画像をユーザが確認する。
(3)ユーザが「印刷開始」ボタンを押す。
(4)ユーザがディジタルカメラをMFP1に接続する。
(5)ディジタルカメラの接続から一定時間が経過する。
(6)印刷が終了する。
ユーザが、図示しないカードスロットにリムーバブルメモリ96を装着し、リムーバブルメモリ96内に格納されている画像から印刷したい画像を選択するためにボタン群82を操作すると、状態制御データ構造体322に登録されているイベント処理モジュールのうち処理優先度が最優先のレイヤの状態制御データ構造体に登録されている外部イベント処理モジュールが起動される。具体的には、レイヤ1に登録されているデフォルト画面表示中の外部イベント処理モジュールが起動され、ユーザのボタン操作に応じた画像をリムーバブルメモリ96からRAM74に読み出す処理等が実行される。次に、描画情報登録処理及び画面管理処理が実行される。このとき描画情報登録処理に与えられるパラメータは例えば、指定レイヤとしてレイヤ1、描画モジュールの参照に「デフォルト画面」画像要素描画モジュールの参照、描画開始座標に(0,0)、幅と高さに(320,240)である。以下、描画情報登録処理及び画面管理処理について説明する。
図8は、描画情報登録処理の流れを示すフローチャートである。描画情報登録処理は、画面表示内容の変更を伴うイベントが発生すると、実行される処理である。
はじめに、描画情報が指定レイヤの描画情報データ構造体に登録される(ステップS100)。具体的には、パラメータとして与えられた指定レイヤの描画情報データ構造体に、同じくパラメータとして与えられた描画モジュールの参照と、その描画モジュールによって描画される領域の位置情報(描画開始座標、幅、高さ)とを登録する。
ステップS106では、画面管理処理が起動される。尚、画面管理処理は、描画情報登録処理によって起動されてもよいし、例えば画面管理モジュール310が描画情報データ構造体320の値をポーリングして、更新を検出した時点で画面管理処理が起動されてもよい。
尚、新しく発生したイベントに対応する画像要素が、その時点で表示されている画像要素よりも表示優先度が低い場合であっても、新しく発生したイベントに対応するレイヤとそれより表示優先度が高くかつ描画情報が登録されているレイヤの描画実行を「要」としてもよい。
図9は、画面管理処理の流れを示すフローチャートである。画面管理処理は、画面表示を更新する際に実行される処理である。
はじめに、注目レイヤに最下位レイヤが設定される(ステップS200)。具体的にはレイヤ1が設定される。
ステップS202では、注目レイヤの描画実行が「要」とされているか判定される。注目レイヤの描画情報データ構造体の描画実行フィールドに「要」が設定されていなければ、ステップS204の処理が行われる。
ステップS206では、注目レイヤの描画実行フィールドに「不要」が設定される。
ステップS208では、注目レイヤが最上位レイヤであるか判定される。注目レイヤが最上位レイヤでなければ、注目レイヤに一つ上のレイヤが設定される(ステップS210)。
このように、表示優先度が予め決められているレイヤ毎にある描画情報データ構造体に登録されている描画情報に基づいて最下位レイヤから順に画面領域73に画像データを描画する構成では、レイヤの個数分の画像データ格納領域を必要としないため、メモリ資源を節約することができる。
以上説明した描画情報登録処理と画面管理処理とが実行することにより、制御部72は図7(A)に示す「デフォルト画面」画像要素の画像データを画面領域73に生成し、DSPD86を制御してFPD88に画面200の画像を表示させる。
印刷したい画像がFPD88に表示されている状態で、ユーザがボタン群82の所定のボタン(例えば「OK」ボタン)を押すと、そのときFPD88に表示されている画像の印刷設定情報が表示される状態に遷移する。具体的には、状態管理モジュール300によって状態制御データ構造体322に登録されているイベント処理モジュールのうち処理優先度が最優先のレイヤの状態制御データ構造体に登録されている外部イベント処理モジュールが検索される。このとき、状態制御データ構造体322は図6(A)に示す状態であるので、デフォルト画面表示中の外部イベント処理モジュールが起動される。デフォルト画面表示中の外部イベント処理では、ユーザの指示(ここでは「OK」ボタン押下)を有効と判定し、その時点で選択されている画像の印刷設定情報を取得する処理等が実行される。また、レイヤ2の状態制御データ構造体にサブ画面表示中の外部イベント処理モジュールとサブ画面表示中の内部イベント処理モジュールとが登録される(図6(B)参照)。
図7(B)の画面202がFPD88に表示されている状態で、ユーザがボタン群82の「印刷開始」ボタンを押すと、状態制御データ構造体322に登録されているイベント処理モジュールのうち処理優先度が最優先のレイヤの状態制御データ構造体に登録されている外部イベント処理モジュールが起動される。具体的には、レイヤ2に登録されているサブ画面表示中の外部イベント処理が起動される。画面表示中の外部イベント処理では、ユーザの「印刷開始」指示が有効と判定されて印刷処理が開始され、状態管理データ構造体324の「印刷中」状態要素の発生状況が「非アクティブ」から「アクティブ」に更新される。状態管理データ構造体324の状態要素の発生状況が更新されたのを受けて、状態管理データ構造体324の発生状況フィールドが処理優先度が最優先のものから順に検索される。このとき、「印刷中」状態要素の発生状況が唯一「アクティブ」であるので、印刷中の外部イベント処理モジュールと印刷中の内部イベント処理モジュールとが、状態制御データ構造体322のレイヤ5に登録される。尚、このとき登録される、印刷中の外部イベント処理では、例えば「印刷中止」ボタンは「印刷中」状態における有効なボタンの一つと判定される。
ユーザが図示しないディジタルカメラを通信部93に接続すると、ディジタルカメラの接続を検知し、「カメラ接続中」の状態であることをユーザに知らせるための画面が所定の時間の間だけ表示される。具体的には、カメラ接続が検出されると、状態管理テーブル324の「カメラ接続表示中」状態要素の発生状況が「非アクティブ」から「アクティブ」に更新される。状態管理データ構造体324の状態要素の発生状況が更新されたのを受けて、状態管理データ構造体324の発生状況フィールドが処理優先度が最優先のものから順に検索される。このとき、「印刷中」状態要素も「アクティブ」であるが、「カメラ接続表示中」状態要素の方が処理優先度が高いため、カメラ接続表示中の外部イベント処理とカメラ接続表示中の内部イベント処理とが、状態制御データ構造体322のレイヤ5に登録される(図6(D)参照)。尚、このとき登録されるカメラ接続中の外部イベント処理では、例えば「印刷中止」ボタンは「カメラ接続表示中」状態における無効なボタンの一つと判定されるので、「印刷中」状態でかつ「カメラ接続表示中」状態の期間に「印刷中止」ボタンが押されたとしても、印刷中止のための処理は実行されない。電子機器の状態によって有効なボタン操作と無効なボタン操作は異なる場合もあるし、同じボタンが押されても状態によって異なる処理が割り当てられる場合もある。本実施形態の構成によると、このように状態によって異なる処理を行うという要求仕様を、単純な制御で実現することができる。また、状態要素の種類とイベントの種類とに応じてイベント処理モジュールを部品化することにより、プログラムロジックの重複を排除しプログラムサイズを削減することができる。また、プログラムの保守性及び再利用性を向上させることができる。
ディジタルカメラの接続をMFP1が検知してから所定時間が経過すると、「カメラ接続中」画面が解除される。ディジタルカメラの接続検知から所定時間が経過したというイベントが発生すると、状態制御データ構造体322に登録されているイベント処理モジュールのうち最優先のレイヤの状態制御データ構造体に登録されている内部イベント処理モジュールが起動される。ここでは、レイヤ5に登録されているカメラ接続表示中の内部イベント処理が起動される。カメラ接続表示中の内部イベント処理では、状態管理データ構造体324の「カメラ接続表示中」状態要素の発生状況フィールドが「アクティブ」から「非アクティブ」に更新される。状態管理データ構造体324の状態要素の発生状況が更新されたのを受けて、状態管理データ構造体324の発生状況フィールドが処理優先度が最優先のものから順に検索される。このとき、「印刷中」状態要素の発生状況が唯一「アクティブ」であるので、印刷中の外部イベント処理モジュールと印刷中の内部イベント処理モジュールとが、状態制御データ構造体322のレイヤ5に再び登録される(図6(C)参照)。
次に、描画情報登録処理と画面管理処理とが実行される。「(3)ユーザが「印刷開始」ボタンを押す。」で既に説明したものと同様の処理が実行され、FPD88には画面204が表示される。
印刷制御部66から印刷が正常終了したというイベントが発生すると、状態制御データ構造体322に登録されているイベント処理モジュールのうち処理優先度が最優先のレイヤの状態制御データ構造体に登録されている内部イベント処理モジュールが検索される。このとき、状態制御データ構造体322は図6(C)に示す状態であるので、印刷中の内部イベント処理モジュールが起動される。印刷中の内部イベント処理では、状態管理データ構造体324の「印刷中」状態要素の発生状況が「アクティブ」から「非アクティブ」に更新される。それを受けて、状態管理データ構造体324の発生状況フィールドが処理優先度が最優先のものから順に検索される。このとき、「アクティブ」な状態要素はなくなっているので、状態制御データ構造体322のレイヤ5の、印刷中の外部イベント処理モジュールと印刷中の内部イベント処理モジュールの登録が抹消される(図6(B)参照)。
次に、描画情報抹消処理と画面管理処理とが実行される。このとき描画情報抹消処理に、消去対象レイヤとしてレイヤ5というパラメータが与えられる。以下、描画情報抹消処理について説明する。
図10は、描画情報抹消処理の流れを示すフローチャートである。描画情報抹消処理は、画面表示内容の変更を伴うイベントのうち、現在表示されている画像要素を消去するイベントが発生すると、実行される処理である。
はじめに、判定対象レイヤに消去対象レイヤが設定される(ステップS300)。具体的には、パラメータとして与えられた消去対象レイヤを初期値として判定対象レイヤが設定される。
ステップS302では、判定対象レイヤの次に下位のレイヤが存在するか判定される。具体的には、判定対象レイヤの次に下位のレイヤから表示優先度が低くなる方向に順に、描画情報データ構造体に描画モジュール及び位置情報が登録されているレイヤが検索される。
ステップS306では、判定対象レイヤの描画実行が「要」と設定される。
ステップS308では、判定対象レイヤは最下位レイヤであるか判定される。具体的には、判定対象レイヤはレイヤ1であるかが判定される。
ステップS314では、画面管理処理が起動される。尚、画面管理処理は、描画情報抹消処理によって起動されてもよいし、前述したように、描画情報データ構造体320の値をポーリングし、更新を検出した時点で画面管理処理が起動されてもよい。
尚、以上の処理は、描画情報が描画情報データ構造体に登録されているレイヤのうち優先度が最も高いレイヤの描画情報データ構造体に登録されている要素を消去する場合の処理であるが、消去対象レイヤの上位レイヤの描画情報データ構造体に描画情報が登録されているレイヤが存在する場合は、消去対象レイヤの上位レイヤの描画実行が「要」と設定される。
以上、描画情報抹消処理について説明した。画面管理処理については既に説明した通りである。
さらにレイヤ2の描画情報データ構造体に登録されている描画情報が抹消された場合は(図12(B)から図12(C))、同様に制御部72は描画情報抹消処理(消去対象レイヤはレイヤ2)と画面管理処理とを実行することによって、「デフォルト画面」画像要素を画面領域73に描画しFPD88に画面200を表示する。
また、電子機器の状態を定める要素となる個々の状態要素について発生状況を記憶し処理優先度順に管理する状態管理データ構造体と、処理優先度が予め決められているレイヤ毎に状態制御データ構造体とを設け、それらのデータ構造体を介して、イベント発生によって状態要素の発生状況を更新する処理と、最優先の状態要素を判定して対応するイベント処理を起動する処理とを切り離すことにより、イベントが発生するたびに、電子機器の状態に応じた処理を行うための処理優先度の判定を単純な制御で実現することができる。さらに本実施形態の構成によると、プログラムモジュールの独立性を向上させ、プログラムの保守性及び再利用性を向上させることができる。
Claims (11)
- メモリと、
イベントが発生すると、表示優先度が予め決められているレイヤ毎にある描画情報データ構造体のうち発生した前記イベントに対応する前記描画情報データ構造体に、発生した前記イベントに対応する描画情報を登録、又は、発生した前記イベントに対応する前記描画情報データ構造体に登録されている前記描画情報を抹消する状態管理手段と、
前記描画情報が登録又は抹消されると、表示優先度の低いレイヤから順に、前記描画情報データ構造体に登録されている前記描画情報に基づいて前記メモリの一画面分の画像データ格納領域に描画する描画手段と、
前記画像データ格納領域に描画された画像を一画面に表示する表示手段と、
を備える電子機器。 - 前記描画手段は、第一のレイヤの前記描画情報データ構造体に登録されている描画情報に基づいて描画される領域が前記第一のレイヤより表示優先度の高い第二のレイヤの前記描画情報データ構造体に登録されている描画情報に基づいて描画される領域に包含される場合、前記第一のレイヤの前記描画情報データ構造体に登録されている前記描画情報に基づいて描画することなく前記第二のレイヤの前記描画情報データ構造体に登録されている前記描画情報に基づいて描画し、前記第一のレイヤの前記描画情報データ構造体に登録されている前記描画情報に基づいて描画される領域が前記第二のレイヤの前記描画情報データ構造体に登録されている前記描画情報に基づいて描画される領域に包含されない場合、前記第一のレイヤの前記描画情報データ構造体に登録されている前記描画情報に基づいて描画した後に前記第二のレイヤの前記描画情報データ構造体に登録されている前記描画情報に基づいて描画する、
請求項1に記載の電子機器。 - 前記描画手段は、既に前記描画情報が前記描画情報データ構造体に登録され前記画像データ格納領域に描画済みである他のレイヤと比較して最も表示優先度が高い最優先レイヤの前記描画情報データ構造体に前記描画情報が登録されると、前記他のレイヤの前記描画情報データ構造体に登録されている前記描画情報に基づいて描画することなく、前記最優先レイヤの前記描画情報データ構造体に登録されている前記描画情報に基づいて描画処理を実行する、
請求項2に記載の電子機器。 - 前記描画情報は、前記描画処理の参照と、前記描画処理によって描画される領域の位置情報とを含み、
前記描画手段は、前記位置情報に基づいて前記描画情報に基づいて描画される複数の領域の包含関係を判定する、
請求項3に記載の電子機器。 - 発生した前記イベントに応じた処理を行い、前記イベントに対応する状態要素がアクティブであるか又は非アクティブであるかを前記状態要素毎に設定するイベント処理を実行するイベント処理手段をさらに備え、
前記状態管理手段は、前記イベントが発生すると、処理優先度が予め決められているレイヤ毎にある状態制御データ構造体に登録されているイベント処理情報のうち、最も処理優先度が高いレイヤの状態制御データ構造体に登録されているイベント処理情報に基づいて前記イベント処理手段を起動し、アクティブとなった前記状態要素のうち最も処理優先度の高い状態要素に対応する前記イベント処理情報を対応する前記状態制御データ構造体に登録又は非アクティブとなった前記状態要素に対応する前記イベント処理情報を対応する前記状態制御データ構造体から抹消する、
請求項1〜4のいずれか一項に記載の電子機器。 - ユーザの指示を入力する指示入力手段をさらに備え、
前記イベント処理情報は、前記指示の有効無効判定処理及び前記指示に応じた処理を行う外部イベント処理の参照と、内部イベントに応じた処理を行う内部イベント処理の参照とを含み、
前記状態管理手段は、前記指示が入力されると、前記状態制御データ構造体に登録されている前記外部イベント処理の参照のうち最も処理優先度の高いレイヤの前記状態制御データ構造体に登録されている前記外部イベント処理の参照に基づいて前記外部イベント処理を起動し、前記内部イベントが発生すると、前記状態制御データ構造体に登録されている前記内部イベント処理の参照のうち最も処理優先度の高いレイヤの前記状態制御データ構造体に登録されている前記内部イベント処理の参照に基づいて前記内部イベント処理を起動する、
請求項5に記載の電子機器。 - 発生したイベントに応じた処理を行い、前記イベントに対応する状態要素がアクティブであるか又は非アクティブであるかを前記状態要素毎に設定するイベント処理を実行するイベント処理手段と、
前記イベントが発生すると、処理優先度が予め決められているレイヤ毎にある状態制御データ構造体に登録されているイベント処理情報のうち、最も処理優先度が高いレイヤの状態制御データ構造体に登録されているイベント処理情報に基づいて前記イベント処理手段を起動し、アクティブとなった前記状態要素のうち最も処理優先度の高い状態要素に対応する前記イベント処理情報を対応する前記状態制御データ構造体に登録又は非アクティブとなった前記状態要素に対応する前記イベント処理情報を対応する前記状態制御データ構造体から抹消する、状態管理手段と、
を備える電子機器。 - イベントが発生すると、表示優先度が予め決められているレイヤ毎にある描画情報データ構造体のうち発生した前記イベントに対応する前記描画情報データ構造体に、発生した前記イベントに対応する描画情報を登録、又は、発生した前記イベントに対応する前記描画情報データ構造体に登録されている前記描画情報を抹消し、
前記描画情報が登録又は抹消されると、表示優先度の低いレイヤから順に、前記描画情報データ構造体に登録されている前記描画情報に基づいてメモリの一画面分の画像データ格納領域に描画し、
前記画像データ格納領域に描画された画像を一画面に表示する、
ことを含む状態制御方法。 - 発生したイベントに応じた処理を行い、前記イベントに対応する状態要素がアクティブであるか又は非アクティブであるかを前記状態要素毎に設定するイベント処理を実行し、
前記イベントが発生すると、処理優先度が予め決められているレイヤ毎にある状態制御データ構造体に登録されているイベント処理情報のうち、最も処理優先度が高いレイヤの状態制御データ構造体に登録されているイベント処理情報に基づいて前記イベント処理を起動し、アクティブとなった前記状態要素のうち最も処理優先度の高い状態要素に対応する前記イベント処理情報を対応する前記状態制御データ構造体に登録又は非アクティブとなった前記状態要素に対応する前記イベント処理情報を対応する前記状態制御データ構造体から抹消する、
ことを含む状態制御方法。 - イベントが発生すると、表示優先度が予め決められているレイヤ毎にある描画情報データ構造体のうち発生した前記イベントに対応する前記描画情報データ構造体に、発生した前記イベントに対応する描画情報を登録、又は、発生した前記イベントに対応する前記描画情報データ構造体に登録されている前記描画情報を抹消する状態管理手段と、
前記描画情報が登録又は抹消されると、表示優先度の低いレイヤから順に、前記描画情報データ構造体に登録されている前記描画情報に基づいてメモリの一画面分の画像データ格納領域に描画する描画手段と、
前記画像データ格納領域に描画された画像を一画面に表示する表示手段と、
してコンピュータを機能させる状態制御プログラム。 - 発生したイベントに応じた処理を行い、前記イベントに対応する状態要素がアクティブであるか又は非アクティブであるかを前記状態要素毎に設定するイベント処理を実行するイベント処理手段と、
前記イベントが発生すると、処理優先度が予め決められているレイヤ毎にある状態制御データ構造体に登録されているイベント処理情報のうち、最も処理優先度が高いレイヤの状態制御データ構造体に登録されているイベント処理情報に基づいて前記イベント処理手段を起動し、アクティブとなった前記状態要素のうち最も処理優先度の高い状態要素に対応する前記イベント処理情報を対応する前記状態制御データ構造体に登録又は非アクティブとなった前記状態要素に対応する前記イベント処理情報を対応する前記状態制御データ構造体から抹消する、状態管理手段と、
してコンピュータを機能させる状態制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006090289A JP4736894B2 (ja) | 2005-09-06 | 2006-03-29 | 電子機器、状態制御方法及び状態制御プログラム |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005257362 | 2005-09-06 | ||
JP2005257362 | 2005-09-06 | ||
JP2006090289A JP4736894B2 (ja) | 2005-09-06 | 2006-03-29 | 電子機器、状態制御方法及び状態制御プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011013806A Division JP2011138529A (ja) | 2005-09-06 | 2011-01-26 | 電子機器、状態制御方法及び状態制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007102751A true JP2007102751A (ja) | 2007-04-19 |
JP4736894B2 JP4736894B2 (ja) | 2011-07-27 |
Family
ID=38029593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006090289A Expired - Fee Related JP4736894B2 (ja) | 2005-09-06 | 2006-03-29 | 電子機器、状態制御方法及び状態制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4736894B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009163509A (ja) * | 2008-01-07 | 2009-07-23 | Ntt Docomo Inc | 情報処理装置及びプログラム |
WO2010079525A1 (ja) | 2009-01-06 | 2010-07-15 | 三菱電機株式会社 | 描画レイヤ制御装置 |
JP2012142023A (ja) * | 2012-04-09 | 2012-07-26 | Ntt Docomo Inc | 情報処理装置及びプログラム |
US10165136B2 (en) | 2015-06-24 | 2018-12-25 | Fuji Xerox Co., Ltd. | Control device, electronic apparatus, non-transitory computer readable medium, and control method |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62100786A (ja) * | 1985-10-28 | 1987-05-11 | 富士通株式会社 | マルチウインドウ表示方式 |
JPS62247474A (ja) * | 1986-03-19 | 1987-10-28 | Fujitsu Ltd | マルチウィンドウ表示制御装置 |
JPH06124185A (ja) * | 1992-10-12 | 1994-05-06 | Sharp Corp | マルチウインドウ描画管理装置 |
JPH07281654A (ja) * | 1994-04-08 | 1995-10-27 | Takaoka Electric Mfg Co Ltd | ウインドウ描画装置 |
JPH11161255A (ja) * | 1997-11-25 | 1999-06-18 | Ricoh Co Ltd | 画像表示装置 |
JPH11327731A (ja) * | 1998-05-14 | 1999-11-30 | Just Syst Corp | マルチウインドウ表示装置、マルチウインドウ表示方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2000105654A (ja) * | 1998-09-28 | 2000-04-11 | Canon Inc | マルチウィンドウシステム、画面遷移方法および記憶媒体 |
-
2006
- 2006-03-29 JP JP2006090289A patent/JP4736894B2/ja not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62100786A (ja) * | 1985-10-28 | 1987-05-11 | 富士通株式会社 | マルチウインドウ表示方式 |
JPS62247474A (ja) * | 1986-03-19 | 1987-10-28 | Fujitsu Ltd | マルチウィンドウ表示制御装置 |
JPH06124185A (ja) * | 1992-10-12 | 1994-05-06 | Sharp Corp | マルチウインドウ描画管理装置 |
JPH07281654A (ja) * | 1994-04-08 | 1995-10-27 | Takaoka Electric Mfg Co Ltd | ウインドウ描画装置 |
JPH11161255A (ja) * | 1997-11-25 | 1999-06-18 | Ricoh Co Ltd | 画像表示装置 |
JPH11327731A (ja) * | 1998-05-14 | 1999-11-30 | Just Syst Corp | マルチウインドウ表示装置、マルチウインドウ表示方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2000105654A (ja) * | 1998-09-28 | 2000-04-11 | Canon Inc | マルチウィンドウシステム、画面遷移方法および記憶媒体 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009163509A (ja) * | 2008-01-07 | 2009-07-23 | Ntt Docomo Inc | 情報処理装置及びプログラム |
US9134876B2 (en) | 2008-01-07 | 2015-09-15 | Ntt Docomo, Inc. | Information processing device and method for displaying a window based on a priority of the window |
WO2010079525A1 (ja) | 2009-01-06 | 2010-07-15 | 三菱電機株式会社 | 描画レイヤ制御装置 |
CN102272824A (zh) * | 2009-01-06 | 2011-12-07 | 三菱电机株式会社 | 绘图层控制装置 |
JP5197767B2 (ja) * | 2009-01-06 | 2013-05-15 | 三菱電機株式会社 | 描画レイヤ制御装置 |
JP2012142023A (ja) * | 2012-04-09 | 2012-07-26 | Ntt Docomo Inc | 情報処理装置及びプログラム |
US10165136B2 (en) | 2015-06-24 | 2018-12-25 | Fuji Xerox Co., Ltd. | Control device, electronic apparatus, non-transitory computer readable medium, and control method |
Also Published As
Publication number | Publication date |
---|---|
JP4736894B2 (ja) | 2011-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10310793B2 (en) | Image processing system having portable terminal that preregisters a job in an image processing apparatus, image processing apparatus, and portable information terminal | |
US10165145B2 (en) | Image processing apparatus, method for controlling image processing apparatus, and storage medium | |
EP3579534B1 (en) | Image processing apparatus that executes job, control method therefor, and storage medium | |
JP2011059958A (ja) | 情報処理装置、情報処理システム、画像形成装置及びプログラム | |
JP2008225320A (ja) | 画像形成装置 | |
KR100648665B1 (ko) | 화상형성장치 및 화상형성장치 제어방법 | |
US20060075362A1 (en) | Image processing apparatus, method, and recording medium on which program is recorded for displaying thumbnail/preview image | |
JP4736894B2 (ja) | 電子機器、状態制御方法及び状態制御プログラム | |
JP2011051164A (ja) | 画像形成装置、画面表示方法、プログラム | |
JP2007166016A (ja) | 複写機,複写機システム,およびコンピュータプログラム | |
JP2006238106A (ja) | 画像形成装置 | |
JP4675861B2 (ja) | 印刷装置、印刷装置の制御用コンピュータのプログラム、及び印刷装置の制御方法 | |
JP2007219969A (ja) | リムーバブルメディア装置、リムーバブルメディア装置制御プログラムおよびネット機器制御プログラム | |
JP6926709B2 (ja) | 画像形成装置およびプログラム | |
JP2011138529A (ja) | 電子機器、状態制御方法及び状態制御プログラム | |
JP4826241B2 (ja) | 複写機,複写機システム,およびコンピュータプログラム | |
JP2006276057A (ja) | 画像形成装置および画像形成方法 | |
US20040085560A1 (en) | Selectively printing document pages | |
US8274689B2 (en) | Image processing apparatus, computer-readable recording medium, and method for acquiring and outputting an image | |
CN102150146B (zh) | 驱动器控制设备 | |
JP2007074267A (ja) | 画像処理装置 | |
JP2009295044A (ja) | プリンタドライバプログラムのインストール処理装置及びインストールプログラム | |
JP2020011466A (ja) | 画像処理装置及びプログラム | |
JP2006192863A (ja) | 印刷装置 | |
JP6059488B2 (ja) | 印刷制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20070405 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101105 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110126 |
|
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: 20110405 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110418 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4736894 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140513 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |