(57)【要約】【課題】画像形成装置の限られたリソースの消費を抑えつつ、ネイティブプログラムを操作するＵＩと、拡張機能を操作するＵＩを好適に共存させることにより、ユーザの利便性を確保する仕組みを提供する。【解決手段】本画像形成装置は、標準機能の操作画面を描画する標準機能用画面バッファ制御部と、拡張機能の操作画面を描画するアプリケーション用画面バッファ制御部とを備える。さらに、本画像形成装置は、標準機能用画面バッファ制御部又はアプリケーション用画面バッファ制御部によって描画された操作画面を出力する。当該出力において、アプリケーション用画面バッファ制御部によって描画された操作画面、即ち、拡張機能の操作画面を出力する場合には、標準機能の操作画面の一部を、拡張機能の操作画面に組み込んで出力する。【選択図】  図８
2018024151.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置であって、
前記画像形成装置のネイティブプログラムを制御する第１制御手段と、
前記ネイティブプログラムとは異なる拡張アプリケーションを制御する第２制御手段と、
前記第１制御手段によって制御されるネイティブプログラムの操作画面を描画する第１バッファ制御手段と、
前記第２制御手段によって制御される拡張アプリケーションの操作画面を描画する第２バッファ制御手段と、
前記第１バッファ制御手段又は前記第２バッファ制御手段によって描画された操作画面を出力する出力処理手段と
を備え、
前記出力処理手段は、
前記第２バッファ制御手段によって描画された操作画面を出力する場合には、前記ネイティブプログラムの操作画面の一部を、前記拡張アプリケーションの操作画面に組み込んで出力することを特徴とする画像形成装置。
【請求項２】
前記操作画面を介したユーザ操作を受け付けると、出力されている操作画面に基づいて、前記第１制御手段又は前記第２制御手段へ操作情報を通知する通知手段をさらに備えることを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記通知手段は、
前記操作画面を介したユーザ操作を受け付けた際に、
前記ネイティブプログラムの操作画面が出力されている場合は操作情報を前記第１制御手段へ通知し、
前記拡張アプリケーションの操作画面が出力されている場合であって、かつ、組み込まれた前記ネイティブプログラムの操作画面の一部が操作された場合は操作情報を前記第１制御手段へ通知し、
前記拡張アプリケーションの操作画面が出力されている場合であって、かつ、組み込まれた前記ネイティブプログラムの操作画面の一部以外が操作された場合は操作情報を前記第２制御手段へ通知することを特徴とする請求項２に記載の画像形成装置。
【請求項４】
前記第１制御手段は、
前記拡張アプリケーションの操作画面が出力されている場合であって、かつ、組み込まれた前記ネイティブプログラムの操作画面の一部が操作された場合に通知された操作情報が画面遷移を伴う操作を示す場合、優先的に前記第１バッファ制御手段が描画する操作画面を出力するように要求する優先出力要求を前記出力処理手段へ通知することを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記第１制御手段は、
前記拡張アプリケーションの操作画面が出力されている場合であって、かつ、組み込まれた前記ネイティブプログラムの操作画面の一部が操作された場合に通知された操作情報が該ネイティブプログラムの操作画面の一部の更新を伴う操作を示す場合、当該操作画面の更新を前記第１バッファ制御手段へ通知することを特徴とする請求項３又は４に記載の画像形成装置。
【請求項６】
前記第１制御手段は、
前記優先出力要求を通知した後に、前記通知手段によって通知された操作情報が元の画面へ遷移する操作を示す場合、該優先出力要求を解除するように前記出力処理手段へ要求することを特徴とする請求項４に記載の画像形成装置。
【請求項７】
前記第１制御手段は、
前記ネイティブプログラムの操作画面が出力されている場合に、前記通知手段によって通知された操作情報が前記拡張アプリケーションを起動する操作を示す場合、前記第２バッファ制御手段が描画する操作画面を出力するように要求する切替要求を前記出力処理手段へ通知することを特徴とする請求項３に記載の画像形成装置。
【請求項８】
前記第２制御手段は、
前記切替要求が通知された後に、前記拡張アプリケーションが終了すると、前記切替要求を解除するように前記出力処理手段へ要求することを特徴とする請求項７に記載の画像形成装置。
【請求項９】
前記操作画面の一部とは、前記画像形成装置の状態を表示する領域であることを特徴とする請求項１乃至８の何れか１項に記載の画像形成装置。
【請求項１０】
前記領域には、前記画像形成装置の状態を詳細に表示する状況確認画面へ遷移するためのボタンが選択可能に表示されることを特徴とする請求項９に記載の画像形成装置。
【請求項１１】
画像形成装置の制御方法であって、
第１制御手段が、前記画像形成装置のネイティブプログラムを制御する第１制御工程と、
第２制御手段が、前記ネイティブプログラムとは異なる拡張アプリケーションを制御する第２制御工程と、
第１バッファ制御手段が、前記第１制御工程で制御されるネイティブプログラムの操作画面を描画する第１バッファ制御工程と、
第２バッファ制御手段が、前記第２制御工程で制御される拡張アプリケーションの操作画面を描画する第２バッファ制御工程と、
出力処理手段が、前記第１バッファ制御工程又は前記第２バッファ制御工程で描画された操作画面を出力する出力処理工程と
を実行し、
前記出力処理工程において、
前記第２バッファ制御工程で描画された操作画面を出力する場合には、前記ネイティブプログラムの操作画面の一部を、前記拡張アプリケーションの操作画面に組み込んで出力することを特徴とする画像形成装置の制御方法。
【請求項１２】
画像形成装置の制御方法における各工程をコンピュータに実行させるためのプログラムであって、前記制御方法は、
第１制御手段が、前記画像形成装置のネイティブプログラムを制御する第１制御工程と、
第２制御手段が、前記ネイティブプログラムとは異なる拡張アプリケーションを制御する第２制御工程と、
第１バッファ制御手段が、前記第１制御工程で制御されるネイティブプログラムの操作画面を描画する第１バッファ制御工程と、
第２バッファ制御手段が、前記第２制御工程で制御される拡張アプリケーションの操作画面を描画する第２バッファ制御工程と、
出力処理手段が、前記第１バッファ制御工程又は前記第２バッファ制御工程で描画された操作画面を出力する出力処理工程と
を実行し、
前記出力処理工程において、
前記第２バッファ制御工程で描画された操作画面を出力する場合には、前記ネイティブプログラムの操作画面の一部を、前記拡張アプリケーションの操作画面に組み込んで出力することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
画像形成装置に拡張アプリケーションをインストールし、画像形成装置の機能を拡張できるシステムが普及している。これらのシステムには、画像形成装置の制御アプリケーションとは別に、拡張プログラムをアドインして拡張アプリケーションを動作させる実行環境を有する。特許文献１には、可搬記憶媒体を利用した、拡張プログラムの設定情報のエクスポート、及びインポートを実現する技術について提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−７５０８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来技術には以下に記載する課題がある。例えば、画像形成装置のコピー等の標準機能を操作するＵＩと、拡張機能を操作するＵＩを共存させるためにＷＩＮＤＯＷマネージャを搭載する方法が知られている。このようなＷＩＮＤＯＷマネージャを実現するには高速なＣＰＵやＧＰＵ、メモリ等の多くのハードウェアリソースを消費する必要がある。しかし、リソースの限られた画像形成装置では、標準機能を操作するＵＩと、拡張機能を操作するＵＩを共存させることが難しく、ユーザの利便性が損なわれていた。
【０００５】
本発明は、上述の問題に鑑みて成されたものであり、画像形成装置の限られたリソースの消費を抑えつつ、標準機能を操作するＵＩと、拡張機能を操作するＵＩを好適に共存させることにより、ユーザの利便性を確保する仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、画像形成装置であって、前記画像形成装置のネイティブプログラムを制御する第１制御手段と、前記ネイティブプログラムとは異なる拡張アプリケーションを制御する第２制御手段と、前記第１制御手段によって制御されるネイティブプログラムの操作画面を描画する第１バッファ制御手段と、前記第２制御手段によって制御される拡張アプリケーションの操作画面を描画する第２バッファ制御手段と、前記第１バッファ制御手段又は前記第２バッファ制御手段によって描画された操作画面を出力する出力処理手段とを備え、前記出力処理手段は、前記第２バッファ制御手段によって描画された操作画面を出力する場合には、前記ネイティブプログラムの操作画面の一部を、前記拡張アプリケーションの操作画面に組み込んで出力することを特徴とする。
【発明の効果】
【０００７】
本発明によれば、画像形成装置の限られたリソースの消費を抑えつつ、標準機能を操作するＵＩと、拡張機能を操作するＵＩを好適に共存させることにより、ユーザの利便性を確保することができる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態に係る画像形成装置４０１のハードウェア構成を示す図。
【図２】一実施形態に係る画像形成装置４０１の拡張アプリケーション実行環境のソフトウェア構成を示す図。
【図３】一実施形態に係る画像形成装置４０１のソフトウェアモジュール構成を示す図。
【図４】一実施形態に係る画像形成装置の操作部１１２に表示するホーム画面４００例を示す図。
【図５】一実施形態に係るコピー設定画面を表示するまでの処理を示すシーケンス図。
【図６】一実施形態に係るコピー設定画面例を示す図。
【図７】一実施形態に係る状況確認画面例を示す図。
【図８】一実施形態に係るアプリケーションの操作画面を表示するシーケンス図。
【図９】一実施形態に係る操作情報通知処理シーケンス図。
【図１０】一実施形態に係る画面出力処理シーケンス図。
【図１１】一実施形態に係るアプリケーションが表示する画面例を示す図。
【図１２】一実施形態に係るフッター領域への画面出力制御シーケンス図。
【図１３】一実施形態に係るアプリケーションが表示する画面例を示す図。
【図１４】一実施形態に係る状況確認ボタンを選択した場合のシーケンス図。
【図１５】一実施形態に係る画面出力要求送信処理のシーケンス図。
【図１６】一実施形態に係る通知先切替処理のシーケンス図。
【図１７】一実施形態に係る画面出力元切替処理のシーケンス図。
【図１８】一実施形態に係るアプリケーション終了処理のシーケンス図。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１０】
＜第１の実施形態＞
＜画像形成装置の構成＞
以下では、本発明の第１の実施形態について説明する。まず、図１を参照して、画像形成装置の主要部の構成の一例について説明する。
【００１１】
画像形成装置１０は、コントローラユニット１００、操作部１１２、スキャナ１７０、及びプリンタ１９５を備える。さらに、画像形成装置１０には、ＵＳＢストレージ１１４が着脱可能である。コントローラユニット１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、ストレージ１０４、画像パスＩ／Ｆ１０５、操作部Ｉ／Ｆ１０６、ネットワークＩ／Ｆ１１０、及びＵＳＢホストＩ／Ｆ１１３を備える。これらのコンポーネントは、システムバス１０７を介して接続される。さらに、コントローラユニット１００は、デバイスＩ／Ｆ１２０、スキャナ画像処理部１８０、及びプリンタ画像処理部１９０を備える。これらのコンポーネントは画像バス１０８を介して接続される。なお、画像パスＩ／Ｆ１０５は、システムバス１０７及び画像バス１０８の両方に接続される。
【００１２】
コントローラユニット１００は、スキャナ１７０で読み取られた画像データをプリンタ１９５により印刷出力するコピー機能を実現するための制御を行う。ＣＰＵ１０１は、ＲＯＭ１０３に格納されているブートアプリケーションによりオペレーションシステム（ＯＳ）を立ち上げる。ＣＰＵ１０１は、このＯＳ上で、ストレージ１０４に格納されているアプリケーションを実行し、これによって各種処理を実行する。このＣＰＵ１０１の作業領域としてはＲＡＭ１０２が用いられる。ＲＡＭ１０２は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。ストレージ１０４は、アプリケーションや画像データを格納する。
【００１３】
操作部Ｉ／Ｆ１０６は、タッチパネルを有する操作部１１２とのインタフェースであり、操作部１１２に表示すべき画像データを操作部１１２に対して出力する。また、操作部Ｉ／Ｆ１０６は、操作部１１２においてユーザにより入力された情報をＣＰＵ１０１に送出する。ネットワークＩ／Ｆ１１０は、画像形成装置１０をＬＡＮに接続するためのインタフェースである。
【００１４】
ＵＳＢホストＩ／Ｆ１１３は、ＵＳＢストレージ１１４と通信するインタフェース部である。ＵＳＢホストＩ／Ｆ１１３は、ストレージ１０４に格納されているデータをＵＳＢストレージ１１４に記憶させるための出力部である。また、ＵＳＢホストＩ／Ｆ１１３は、ＵＳＢストレージ１１４に格納されているデータを入力し、ＣＰＵ１０１にそれを伝える。ＵＳＢストレージ１１４は、データを格納する外部記憶装置であり、ＵＳＢホストＩ／Ｆ１１３に対して着脱可能である。ＵＳＢホストＩ／Ｆ１１３には、ＵＳＢストレージ１１４を含む複数のＵＳＢデバイスが接続可能である。
【００１５】
画像バスＩ／Ｆ１０５は、システムバス１０７と、画像データを高速で転送する画像バス１０８とを接続し、データ形式を変換するためのバスブリッジである。画像バス１０８は、ＰＣＩバス又はＩＥＥＥ１３９４等によって構成される。デバイスＩ／Ｆ１２０には、スキャナ１７０及びプリンタ１９５が接続され、デバイスＩ／Ｆ１２０は、画像データの同期系／非同期系の変換を行う。スキャナ画像処理部１８０は、入力画像データに対し補正、加工、編集を行う。プリンタ画像処理部１９０は、プリント出力画像データに対してプリンタ１９５に応じた補正、解像度変換などを行う。
【００１６】
＜拡張アプリケーション＞
次に、図２を参照して、画像形成装置１０の拡張アプリケーションの実行環境の一例について説明する。ここで、拡張アプリケーションとは、標準機能以外の拡張機能を提供するためのアプリケーションである。ストレージ１０４に記憶されているアプリケーションを、ＣＰＵ１０１がＲＡＭ１０２にロードし、アプリケーションを実行することで図２の各モジュールが実現される。
【００１７】
オペレーティングシステムであるＯＳ２０１上には、プリンタやＦＡＸ、スキャナなどの画像処理ユニットを制御するためのネイティブプログラム２１０と、拡張アプリケーションの実行環境である仮想マシン（Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ：ＶＭ）２３０が動作している。ＶＭ２３０は、拡張アプリケーションを制御するアプリケーションを理解し実行するモジュールである。拡張アプリケーションは、必ずＶＭ２３０上で動作する。本実施形態に係るＶＭ２３０は、ＣＰＵ１０１上で動作するソフトウェアモジュールであるが、ハードウェアモジュールであってもよい。VMは、インタープリタであり、Java（登録商標）であってもよい。また、VMは、バイトコードを解釈するインタプリタであれば、例えば、スクリプト言語であるLua言語の解釈系でもよい。
【００１８】
ネイティブプログラム２１０には、プリンタやＦＡＸ、スキャナなどの画像処理ユニットを制御するためのネイティブスレッド２１４と、仮想マシン２３０を動かすためのＶＭスレッド２１５とが含まれる。ＶＭスレッドはＶＭ２３０の数に対応する数存在する。ここでは、２１１、２１２，２１３の３つのスレッドが生成されている。ネイティブプログラム２１０は、画像形成装置のネイティブの機能を直接的に制御するファームウェア（リアルタイムOS）の一部、または、当該ファームウェアが呼び出すライブラリとして構成されてもよい。そのライブラリは、C言語など、画像形成装置のネイティブの機能を直接的に制御する制御プログラム群として構成されてもよい。  
【００１９】
ＶＭシステムサービス２２０は、拡張アプリケーションから共通利用されるユーティリティライブラリである。拡張アプリケーション２４０からＶＭシステムサービス２２０の機能を呼び出すことにより、拡張アプリケーションを開発する手間を省く、又は画像形成装置１０の各モジュールへアクセスすることができる。ＶＭシステムサービス２２０には、ＶＭとして最低限動作させる標準ＶＭシステムサービス２２１と、画像形成装置１０の各モジュールにアクセスや、ＯＳの機能を提供する拡張ＶＭシステムサービス２２２が含まれる。
【００２０】
ＶＭ２３０は、拡張アプリケーション２４０を実行する。ＶＭ２３０は、拡張アプリケーションのスレッド毎に生成される。図２の例では拡張アプリケーションＡ２４１で２つのスレッドを動かすためのＶＭ  Ａ−１  ２３１  と、ＶＭ  Ａ−２  ２３２、拡張アプリケーションＢ２４２で１つのスレッドを動かすためのＶＭ  Ｂ−１  ２３３が生成されている。
【００２１】
また、画像形成装置１０の操作部１１２に表示されるメインメニュー画面には、拡張アプリケーションごとのアイコンが表示される。このアイコンをユーザが選択したことを、操作部１１２を通じて操作部Ｉ／Ｆ１０６が検知すると、操作部Ｉ／Ｆ１０６はその旨をＣＰＵ１０１に送信する。その旨を受け取ったＣＰＵ１０１はユーザによって選択された拡張アプリケーションを起動する。
【００２２】
＜ソフトウェアモジュール＞
次に、図３を参照して、本実施形態に係る画像形成装置１０のＣＰＵ１０１上で動作するソフトウェアモジュールの構成例について説明する。
【００２３】
画像形成装置１０は、ソフトウェアモジュールとして、ＵＩ制御部３０１、標準機能制御部３０２、標準機能用画面バッファ制御部３０３、及び画面出力処理部３０４を備える。さらに、画像形成装置１０は、アプリケーション管理部３０５、アプリケーション実行制御部３０６、及びアプリケーション用画面バッファ制御部３０７を備える。ＵＩ制御部３０１は、操作部１１２を通してユーザが操作した情報を検出し、状況に応じて検出した操作情報を標準機能制御部３０２、又はアプリケーション管理部３０５に通知を切り替えて通知するモジュールである。
【００２４】
標準機能制御部３０２は、第１制御手段として機能し、ＵＩ制御部３０１から通知された操作情報に基づき、コピー、スキャン、ＦＡＸ等、画像形成装置１０の標準機能（ネイティブプログラム）を制御する。また、ユーザにとって操作に必要な情報を、標準機能用画面バッファ制御部３０３を通して描画し、画面出力処理部３０４を通して操作部１１２に表示するモジュールである。さらに、図４に示す画像形成装置１０の機能を呼び出すホーム画面４００を制御し、アプリケーション（拡張アプリケーション）を実行するアイコンが選択された場合に、アプリケーション起動要求をアプリケーション管理部３０５に通知する。ここで、拡張アプリケーションとは、ネイティブプログラムとは異なり、画像形成装置１０の標準機能以外の機能を提供するためにインストールされたアプリケーションを示す。当該拡張アプリケーションについては、画像形成装置の製品出荷時に既にインストールされていてもよいし、製品出荷後にインストールされてもよい。
【００２５】
標準機能用画面バッファ制御部３０３は、第１バッファ制御手段として機能し、標準機能制御部３０２が描画する画面バッファを制御するモジュールである。このバッファに描画された画像が画面出力処理部３０４を通して操作部１１２に表示される。画面出力部３０４は、状況に応じて操作部１１２に表示するバッファを、標準機能用画面バッファ制御部３０３、又は、アプリケーション用画面バッファ制御部３０７に切り替えて表示を行うモジュールである。
【００２６】
アプリケーション管理部３０５は、第２制御手段として機能し、標準機能制御部３０２から通知されたアプリケーション起動要求を受けた際の指定アプリケーションの起動処理と、ＵＩ制御部３０１から通知された操作情報をアプリケーション実行制御部３０６に通知を行うモジュールである。アプリケーション実行制御部３０６は、アプリケーション管理部３０５から指定されたアプリケーションを実行するモジュールである。さらにしアプリケーション実行制御部３０６は、アプリケーション操作画面を、アプリケーション用画面バッファ制御部３０７を通して描画し、画面出力処理部３０４を通して操作部１１２に表示する。アプリケーション用画面バッファ制御部３０７は、第２バッファ制御手段として機能し、アプリケーション実行制御部３０６が描画する画面バッファを制御するモジュールである。
【００２７】
＜ホーム画面＞
次に、図４を参照して、本実施形態に係る画像形成装置１０の操作部１１２に表示するホーム画面４００の一例について説明する。ホーム画面４００は、標準機能制御部３０２が標準機能用画面バッファ制御部３０３を通して描画した画面を、画面出力処理部３０４が操作部１１２に出力した画面である。
【００２８】
ホーム画面４００は、ユーザが画像形成装置１０の機能を呼び出すために利用する画面であり、この画面に表示されたコピー、ＦＡＸ、Ｓｅｎｄのような画像形成装置１０の標準機能や、アプリを起動するためのアイコンを含んで表示される。これらのアイコンをユーザが選択することで、選択したアイコンが示す機能が動作する。コピーアイコン４０１、ＦＡＸアイコン４０２、及びＳｅｎｄアイコン４０３は、選択するとそれぞれコピー機能、ＦＡＸ機能、Ｓｅｎｄ機能の設定画面を表示する。アプリアイコン４０４を選択すると、当該アイコンに紐付けられたアプリを起動する。
【００２９】
また、ホーム画面４００の下部には、状況確認ボタン４０５が選択可能に表示されるとともに、ステータス表示領域４０６が設けられる。状況確認ボタン４０５を選択すると、図７に示す画像形成装置１０の状況を確認するための状況確認画面７００が表示される。ステータス表示領域４０６は、画像形成装置１０の状態を表示する領域である。状況確認ボタン４０５を選択すると、画像形成装置１０の状況を確認するための状況確認画面７００を表示する。ここでは、状況確認ボタン４０５とステータス表示領域４０６を合わせた表示領域をフッター領域４０７と称し、本実施形態における画像形成装置１０の様々な画面に共通して表示される領域である。つまり、標準機能の画面と、その他のアプリケーションの画面との両方で共通して表示される領域となる。このような領域を設けることで、ユーザが標準機能であるネイティブプログラムか、又は、他の拡張したアプリケーションかを意識することなく操作を行うことができ、ＵＩの利便性を向上することができる。
【００３０】
＜標準機能選択シーケンス＞
次に、図５を参照して、ユーザが図４で示すホーム画面４００のコピーアイコン（標準機能）４０１を選択した際に、図６で示すコピー設定画面６００を表示するまでの処理のシーケンスについて説明する。以下で説明する処理は、例えば、ＣＰＵ１０１がＲＯＭ１０３やストレージ１０４に格納されたプログラムをＲＡＭ１０２に読み出して実行することによって実現される。
【００３１】
まず、Ｓ５００１で、ＵＩ制御部３０１は、ユーザの操作を検出する。続いて、Ｓ５００２で、ＵＩ制御部３０１は、操作情報を標準機能制御部３０２及びアプリケーション管理部３０５のいずれに通知するかを決定する操作情報通知処理を実行する。ここでは、標準機能制御部３０２に決定されたと想定する。さらに、Ｓ５００３で、ＵＩ制御部３０１は、Ｓ５００２の操作情報通知処理で決定された通知先である標準機能制御部３０２に操作情報を通知する。
【００３２】
次に、Ｓ５００４で、標準機能制御部３０２は、現在表示している画面と、受信した操作情報とに基づき、どのような操作が行われたかを識別する操作識別処理を実行する。ここではコピーアイコン４０１が選択されたことが識別される。続いて、Ｓ５００５で、標準機能制御部３０２は、図６のコピー設定画面６００を描画するために標準機能用画面バッファ制御部３０３に対し描画要求を行う。標準機能用画面バッファ制御部３０３は、描画要求を受け画面を描画する。
【００３３】
次に、Ｓ５００６で、標準機能制御部３０２は、描画した画面を表示するため、画面出力要求を送信する画面出力要求送信処理を実行する。Ｓ５００７で、標準機能制御部３０２は、画面出力処理部３０４に出力要求を行う。Ｓ５００８で、画面出力処理部３０４は、出力要求を受けて画面出力処理を実行し、当該画面を操作部１１２に出力する。
【００３４】
＜コピー設定画面＞
次に、図６を参照して、図４のコピーアイコン４０１を選択した際に操作部１１２に表示されるコピー設定画面６００について説明する。ユーザは、コピー設定画面６００を操作して画像形成装置１０のコピー機能を利用することができる。６０１は、コピーの設定を表示、編集するためのコピー設定領域である。図６に示すように、コピー設定画面６００においても、図４に示すホーム画面４００と同様にフッター領域４０７が表示される。
【００３５】
＜状況確認画面＞
次に、図７を参照して、状況確認ボタン４０５を選択した際に操作部１１２に表示される、画像形成装置１０の状況確認画面７００について説明する。状況確認画面７００には、画像形成装置１０の各種状況を確認するためのボタン７０１乃至７０５が表示され、それらを選択することで各種状況を確認するための画面が操作部１１２に表示される。
【００３６】
デバイス情報ボタン７０１は、画像形成装置１０のシリアル番号やファームウェアのバージョンを確認する画面を表示するためのボタンである。コピー・プリントジョブボタン７０２は、画像形成装置１０が処理したコピー・プリントジョブの処理状況、履歴を表示するためのボタンである。送信ジョブボタン７０３は、画像形成装置１０が処理した送信ジョブの処理状況、履歴を表示するためのボタンである。受信ジョブボタン７０４は、画像形成装置１０が処理した受信ジョブの処理状況、履歴を表示するためのボタンである。ネットワーク情報ボタン７０５は、画像形成装置１０のネットワークＩＰアドレスや、ネットワーク設定を表示するボタンである。閉じるボタン７０６は、この状況確認画面７００を閉じて元の画面に戻るボタンである。
【００３７】
＜拡張アプリ選択シーケンス＞
次に、図８を参照して、図４のアプリアイコン４０４を選択してアプリケーション（拡張アプリ）を起動し、図１１のアプリケーションの拡張アプリ画面１１００を表示するシーケンスについて説明する。以下で説明する処理は、例えば、ＣＰＵ１０１がＲＯＭ１０３やストレージ１０４に格納されたプログラムをＲＡＭ１０２に読み出して実行することによって実現される。
【００３８】
まず、Ｓ８００２で、ＵＩ制御部３０１は、ユーザの操作を検出する。続いて、Ｓ８００２で、ＵＩ制御部３０１は、操作情報を標準機能制御部３０２及びアプリケーション管理部３０５のいずれに通知するかを決定する操作情報通知処理を実行する。ここでは、標準機能制御部３０２に決定されたと想定する。さらに、Ｓ８００３で、ＵＩ制御部３０１は、Ｓ８００２の操作情報通知処理で決定された通知先である標準機能制御部３０２に操作情報を通知する。
【００３９】
次に、Ｓ８００４で、標準機能制御部３０２は、現在表示している画面と、受信した操作情報とに基づき、どのような操作が行われたかを識別する操作識別処理を実行する。ここではアプリアイコン４０４が選択されたことが識別される。続いて、Ｓ８００５で、標準機能制御部３０２は、アプリケーションのアイコンが選択されたことを通知するアプリケーションアイコン押下通知をアプリケーション管理部３０５に送信する。
【００４０】
次に、Ｓ８００６で、アプリケーション管理部３０５は、押下されたアイコンに対応するアプリケーションを起動するため、アプリケーション実行制御部３０６にアプリケーション起動要求を行う。続いて、Ｓ８００７で、アプリケーション実行制御部３０６は、アプリケーション起動要求を受け、アプリケーションの画面を表示するため画面出力処理部３０４に対し切替要求を通知し、Ｓ８００８でＵＩ制御部３０１に対し操作情報通知要求を通知する。ＵＩ制御部３０１は、操作情報通知要求を受け、Ｓ８０１３で、通知先切替処理を実行し、通知先をアプリケーション管理部に切り替える。
【００４１】
一方、画面出力処理部３０４は、Ｓ８００９で、切替要求を受け画面の出力元をアプリケーション用画面バッファ制御部３０７に切り替える画面出力元切替処理を実行する。その後、Ｓ８０１０で、アプリケーション実行制御部３０６は、アプリケーションの操作画面を描画するためアプリケーション用画面バッファ制御部３０７に対し、描画要求を行う。さらに、Ｓ８０１１で、アプリケーション実行制御部３０６は、描画した操作画面を表示するために画面出力処理部３０４に対し出力要求を通知する。出力要求を受けた画面出力処理部３０４は、Ｓ８０１２で、画面出力処理を事項する。
【００４２】
次に、Ｓ８０１４で、ＵＩ制御部３０１は、ユーザの操作を検出する。続いて、Ｓ８０１５で、ＵＩ制御部３０１は、操作情報を標準機能制御部３０２及びアプリケーション管理部３０５のいずれに通知するか決定する操作情報通知処理を実行する。ここでは、Ｓ８０１３の通知先切替処理によって通知先がアプリケーション管理部３０５に変更されているため、ＵＩ制御部３０１は、Ｓ８０１６で、操作情報をアプリケーション管理部３０５に通知する。その後、Ｓ８０１７で、アプリケーション管理部３０５は、受信した操作情報を、アプリケーションを実行しているアプリケーション実行制御部３０６に通知する。この処理でアプリケーションが起動され、アプリケーションの操作画面の表示、操作情報のアプリケーション実行制御部３０６への通知が行われる。
【００４３】
＜操作情報通知処理＞
次に、図９を参照して、図５、図８、及び図１４の操作情報通知処理（Ｓ５００１、Ｓ８００２、Ｓ８０１５、Ｓ１４０２、Ｓ１４１３）の詳細な処理手順について説明する。以下で説明する処理は、例えば、ＣＰＵ１０１がＲＯＭ１０３やストレージ１０４に格納されたプログラムをＲＡＭ１０２に読み出して実行することによって実現される。
【００４４】
まず、Ｓ９００で、ＵＩ制御部３０１は、アプリケーションからの操作情報通知要求が有効かどうかを判定する。操作情報通知要求が有効な場合はＳ９０１に進み、無効な場合はＳ９０２に進む。Ｓ９０１で、ＵＩ制御部３０１は、現在の操作情報通知対象がアプリケーション管理部３０５であるか、又は、標準機能制御部３０２であるかを判定する。ＵＩ制御部３０１の操作情報通知対象がアプリケーションだった場合はＳ９０３に進み、操作対象が標準機能だった場合はＳ９０２に進む。
【００４５】
Ｓ９０３で、ＵＩ制御部３０１は、操作対象領域がフッター領域４０７であるか否かを判定する。フッター領域４０７であればＳ９０２に進み、フッター領域４０７でなければＳ９０４に進む。Ｓ９０４で、ＵＩ制御部３０１は、アプリケーション管理部３０５に操作情報を通知し、処理を終了する。一方、Ｓ９０２で、ＵＩ制御部３０１は、標準機能制御部３０２に操作情報を通知し、処理を終了する。
【００４６】
＜画面出力処理＞
次に、図１０を参照して、図５、図８、図１２、及び図１４の画面出力処理（Ｓ５００８、Ｓ８０１２、Ｓ１２０４、Ｓ１４０９、Ｓ１４２０）の詳細な処理手順について説明する。以下で説明する処理は、例えば、ＣＰＵ１０１がＲＯＭ１０３やストレージ１０４に格納されたプログラムをＲＡＭ１０２に読み出して実行することによって実現される。
【００４７】
まず、Ｓ１００１で、画面出力処理部３０４は、現在の出力元がアプリケーション用画面バッファであるか、又は、標準機能制用画面バッファであるかを判定する。ここで出力元がアプリケーション用バッファの場合はＳ１００３に進み、標準機能用画面バッファの場合はＳ１００２に進む。Ｓ１００２で、画面出力処理部３０４は、標準機能用画面バッファの内容を出力し処理を終了する。
【００４８】
一方、Ｓ１００３で、画面出力処理部３０４は、標準機能用画面バッファからフッター領域４０７をアプリケーション用画面バッファにコピーしＳ１００４に進む。Ｓ１００４で、画面出力処理部３０４は、アプリケーション用画面バッファの内容を出力し処理を終了する。この処理によって、アプリケーションが表示する画面のフッター領域４０７に、標準機能と同じものを表示することができる。
【００４９】
＜拡張アプリ画面＞
次に、図１１を参照して、アプリケーション（拡張アプリケーション）が表示する画面例について説明する。この拡張アプリ画面１１００は、アプリケーション実行制御部３０６で動作するアプリケーションがアプリケーション用画面バッファ制御部３０７を通して描画した画面を、画面出力処理部３０４が操作部１１２に出力した画面である。この例では予め登録している画像フォームの印刷を行うアプリケーションの実行画面で説明する。
【００５０】
１１０１は、予め登録したフォームの印刷設定を表示する領域である。１１０２は、このフォームの印刷を実行することを決定するボタンである。１１０３は、このフォームの印刷をキャンセルすることを決定するボタンである。フッター領域４０７は、画面出力処理部３０４によって、標準機能制御部３０２が描画したフッター部をコピーして表示している領域である。この画面を表示している間のユーザの操作情報は、基本的に、操作情報通知処理（Ｓ５００２）によってアプリケーション管理部３０５に通知される。その後、アプリケーション管理部３０５からアプリケーション実行制御部３０６内で実行されるアプリケーション（拡張アプリケーション）に通知される。一方で、詳細については後述するが、フッター領域４０７への操作については、標準機能制御部３０２へ通知される。
【００５１】
＜画面出力制御シーケンス＞
次に、図１２を参照して、図１１の拡張アプリ画面１１００を表示中のフッター領域４０７への画面出力制御のシーケンスについて説明する。以下で説明する処理は、例えば、ＣＰＵ１０１がＲＯＭ１０３やストレージ１０４に格納されたプログラムをＲＡＭ１０２に読み出して実行することによって実現される。
【００５２】
Ｓ１２０１で、標準機能制御部３０２は、画像形成装置１０の状態を監視し、何らかのエラーが発生した場合、ステータス表示領域４０６にエラーメッセージの描画要求を行う。続いて、Ｓ１２０２で、標準機能制御部３０２は、描画した内容を表示するために画面出力要求送信処理を実行する。Ｓ１２０３で、標準機能制御部３０２は、画面出力要求送信処理の中で画面出力処理部３０４に対し出力要求を送信する。出力要求を受けた、画面出力処理部３０４は、Ｓ１２０４で、画面出力処理を実行し、当該画面を操作部１１２に出力する。このとき、標準機能用バッファからフッター領域４０７がアプリケーション用画面バッファ制御部３０７にコピーされた後に、アプリケーション用画面が操作部１１２に出力される。この処理によって、図１３に示すフッター領域４０７が更新された拡張アプリ画面１３００が表示される。
【００５３】
図１３は、図１２の画面出力制御によって表示された拡張アプリ画面１３００の一例である。１３０１は、アプリケーション実行制御部３０６が描画した領域である。一方、フッター領域４０７は、標準機能制御部３０２が描画した領域である。画面出力処理によって、上記領域が合成されて操作部１１２に表示される。つまり、拡張アプリ画面１３００は、ネイティブプログラムが描画した画像と、拡張アプリケーションが描画した画像とが合成されて出力された画面となる。なお、上述したように、本実施形態によれば、それぞれの描画領域への操作は、当該領域の画像を描画したアプリケーションへ通知されることとなる。
【００５４】
＜状況確認ボタン選択シーケンス＞
次に、図１４を参照して、図１１の拡張アプリ画面１１００における状況確認ボタン４０５を選択した場合のシーケンスについて説明する。以下で説明する処理は、例えば、ＣＰＵ１０１がＲＯＭ１０３やストレージ１０４に格納されたプログラムをＲＡＭ１０２に読み出して実行することによって実現される。
【００５５】
まず、Ｓ１４０１で、ＵＩ制御部３０１は、ユーザによる画面操作を検知する。続いて、Ｓ１４０２で、ＵＩ制御部３０１は、操作情報通知処理により、いずれに操作情報を通知するかを決定する。この場合、フッター領域４０７内にある状況確認ボタン４０５が選択（操作）されたため、Ｓ９０３の判定処理で通知先が標準機能制御部３０２に決定される。その後、Ｓ１４０３で、ＵＩ制御部３０１は、操作情報を標準機能制御部３０２に通知する。
【００５６】
Ｓ１４０４で、標準機能制御部３０２は、現在表示している画面と、受信した操作情報とに基づき、どのような操作が行われたかを識別する操作識別処理を実行する。ここでは状況確認ボタン４０５が選択されたことが識別される。続いて、Ｓ１４０５で、標準機能制御部３０２は、状況確認ボタン４０５が選択されたため、図７に示す状況確認画面７００の描画を行う。その後、Ｓ１４０６で、標準機能制御部３０２は、画面を表示するため画面出力要求送信処理を実行する。そしてＳ１４０７で、標準機能制御部３０２は、画面出力処理部３０４に優先出力要求を通知する。画面出力要求送信処理の詳細については図１５を用いて後述する。
【００５７】
Ｓ１４０８で、画面出力処理部３０４は、優先出力要求を受け、標準機能用画面バッファの内容をアプリケーション用画面バッファよりも優先的に出力するために、画面の出力元を一時的に標準機能用画面バッファに切り替える画面切替処理を実行する。続いて、Ｓ１４０９で、切り替えた画面を表示するため、画面出力処理部３０４は、画面出力処理を実行する。この処理によって図１１の画面から図７の画面に表示が切り替わる。
【００５８】
また、Ｓ１４１０で、標準機能制御部３０２は、次の操作情報を標準機能制御部３０２に送るように操作情報通知要求をＵＩ制御部３０１へ送る。Ｓ１４１１で、ＵＩ制御部３０１は、操作情報通知要求を受けると、通知先切替処理を実行し、操作情報通知先を標準機能制御部３０２に切り替える。
【００５９】
次に、Ｓ１４１２で、ユーザが閉じるボタン７０６を選択した場合、ＵＩ制御部３０１は画面操作を検知する。続いて、Ｓ１４１３で、ＵＩ制御部３０１は、操作情報通知処理により、いずれに操作情報を通知するかを決定する。ここでは、Ｓ１４１１で通知先が標準機能制御部３０２に切り替えられているため、Ｓ１４１４で、ＵＩ制御部３０１は、操作情報を標準機能制御部３０２に通知する。
【００６０】
Ｓ１４１５で、標準機能制御部３０２は、現在表示している画面と、受信した操作情報とに基づき、どのような操作が行われたかを識別する操作識別処理を実行する。ここでは閉じるボタン７０６が選択されたことが識別される。続いて、Ｓ１４１６で、標準機能制御部３０２は、閉じるボタン７０６が選択されたため、図４に示すホーム画面４００の描画を行う。Ｓ１４１７で、標準機能制御部３０２は、画面を表示するために画面出力要求送信処理を実行する。そしてＳ１４１８で、標準機能制御部３０２は、優先出力を解除するため優先出力解除を画面出力処理部３０４へ送り、Ｓ１４２１で操作情報通知の解除要求をＵＩ制御部３０１へ送る。画面出力要求送信処理の詳細については図１５を用いて後述する。
【００６１】
優先出力解除を受けた画面出力処理部３０４は、Ｓ１４１９で、画面切替処理を実行し、画面出力元を元のアプリケーション用画面バッファに切り替える。続いて、Ｓ１４２０で、画面出力処理部３０４は、図１１の拡張アプリ画面１１００を操作部１１２に表示するため画面出力処理を実行する。
【００６２】
また、標準機能制御部３０２は、操作情報通知の解除要求を受けると、Ｓ１４２２で、通知先切替処理を実行し、情報通知先をアプリケーション管理部３０５、即ち、拡張アプリケーションに切り替える。
【００６３】
上述したように、拡張アプリ画面のフッター領域４０７への操作を検知した際に、標準機能制御部３０２による画面遷移が発生するような場合には、当該画面（ネイティブプログラムの画面）へ表示を切り替えることができる。さらに、当該画面においてユーザ操作によって戻る操作が行われた場合には、元の拡張アプリ画面へ戻ることができる。
【００６４】
＜画面出力要求送信処理＞
次に、図１５を参照して、図５、図１２、図１４の画面出力要求送信処理（Ｓ５００６、Ｓ１２０２、Ｓ１４０６、Ｓ１４１７）の詳細な処理手順について説明する。以下で説明する処理は、例えば、ＣＰＵ１０１がＲＯＭ１０３やストレージ１０４に格納されたプログラムをＲＡＭ１０２に読み出して実行することによって実現される。
【００６５】
まず、Ｓ１５０１で、標準機能制御部３０２は、出力しようとしている画面が画面遷移によるものなのか、画面の部分更新によるものなのかを判定する。ここで、画面遷移である場合はＳ１５０２に進み、部分更新である場合はＳ１５０７に進む。Ｓ１５０２で、標準機能制御部３０２は、画面遷移の種類がホーム画面４００への遷移かどうかを判定する。ホーム画面４００への遷移である場合はＳ１５０５に進み、ホーム画面４００への遷移でない場合はＳ１５０３に進む。
【００６６】
Ｓ１５０３で、標準機能制御部３０２は、画面出力処理部３０４で標準機能用画面バッファが表示されるように、優先出力表示要求の送信を行う。続いて、Ｓ１５０４で、標準機能制御部３０２は、ＵＩ制御部３０１の操作情報の通知先が標準機能制御部３０２になるように、入力切替要求の送信をＵＩ制御部３０１に対して行い、処理を終了する。
【００６７】
一方、Ｓ１５０５で、標準機能制御部３０２は、アプリケーションが実行中の場合にアプリケーション用画面バッファが表示されるように、優先出力解除要求の送信を画面出力処理部３０４に対して行う。続いて、Ｓ１５０６で、標準機能制御部３０２は、アプリケーションが実行中の場合にアプリケーションに操作情報が通知されるように、入力切替要求の送信をＵＩ制御部３０１に対して行い、処理を終了する。
【００６８】
また、Ｓ１５０７で、標準機能制御部３０２は、表示画面を更新するために、画面出力要求の送信を画面出力処理部３０４に対して行い、処理を終了する。本フローチャートの処理を実行することにより、状況に応じて表示画面の切り替えと、操作情報の通知先を切り替えることができる。
【００６９】
＜通知先切替処理＞
次に、図１６を参照して、図８及び図１４の通知先切替処理（Ｓ８０１３、Ｓ１４１１、Ｓ１４２２）の詳細な処理手順について説明する。以下で説明する処理は、例えば、ＣＰＵ１０１がＲＯＭ１０３やストレージ１０４に格納されたプログラムをＲＡＭ１０２に読み出して実行することによって実現される。
【００７０】
まず、Ｓ１６０１で、ＵＩ制御部３０１は、切替処理の要求元が標準機能制御部３０２（ネイティブプログラム）であるか、又はアプリケーション実行制御部３０６（拡張アプリケーション）であるかを判定する。切替処理の要求元が標準機能制御部３０２の場合はＳ１６０８に進み、要求元がアプリケーション実行制御部３０６の場合はＳ１６０２に進む。
【００７１】
Ｓ１６０２で、ＵＩ制御部３０１は、切替処理要求が通知要求か解除要求かを判定する。通知要求の場合はＳ１６０３に進み、解除要求の場合はＳ１６０６に進む。Ｓ１６０３で、ＵＩ制御部３０１は、アプリケーションへの操作情報通知フラグを有効にセットする。このフラグはデフォルトでは無効にセットされている。続いて、Ｓ１６０４で、ＵＩ制御部３０１は、標準機能制御部３０２の操作情報通知フラグを確認する。通知有効の場合はそのまま処理を終了し、無効の場合はＳ１６０５に進む。Ｓ１６０５で、ＵＩ制御部３０１は、操作情報通知対象をアプリケーション管理部３０５に設定し、処理を終了する。なお、操作情報通知対象は、デフォルトで標準機能制御部３０２にセットされている。
【００７２】
一方、Ｓ１６０６で、ＵＩ制御部３０１は、アプリケーションへの操作情報通知フラグを無効にセットする。続いて、Ｓ１６０７で、ＵＩ制御部３０１は、操作情報通知対象を標準機能制御部３０２に設定し、処理を終了する。
【００７３】
一方、Ｓ１６０８で、ＵＩ制御部３０１は、Ｓ１６０２と同様に、切替要求が通知要求か解除要求かを判定する。通知要求の場合はＳ１６０９に進み、解除要求の場合はＳ１６１１に進む。Ｓ１６０９で、ＵＩ制御部３０１は、標準機能制御部３０２の操作情報通知フラグを有効にセットする。このフラグはデフォルトで無効にセットされている。続いて、Ｓ１６１０で、ＵＩ制御部３０１は、操作情報通知対象を標準機能制御部３０２に設定し、処理を終了する。
【００７４】
一方、Ｓ１６１１で、ＵＩ制御部３０１は、標準機能制御部３０２の操作情報通知フラグを無効にセットする。続いて、Ｓ１６１２で、ＵＩ制御部３０１は、アプリケーションへの操作情報通知フラグの設定状態を確認する。有効に設定されている場合はＳ１６１３に進み、無効に設定されている場合は、処理を終了する。Ｓ１６１３で、ＵＩ制御部３０１は、操作情報通知対象をアプリケーション管理部３０５に設定して、処理を終了する。本フローチャートの処理を実行することにより、状況に応じて操作情報をアプリケーション管理部３０５と標準機能制御部３０２とに切り分けて通知することができる。
【００７５】
＜画像出力元切替処理＞
次に、図１７を参照して、図８及び図１８の画面出力元切替処理（Ｓ８００９、Ｓ１８０２）の詳細な処理手順について説明する。以下で説明する処理は、例えば、ＣＰＵ１０１がＲＯＭ１０３やストレージ１０４に格納されたプログラムをＲＡＭ１０２に読み出して実行することによって実現される。
【００７６】
まず、Ｓ１７０１で、画面出力処理部３０４は、画面出力元切替の要求元が標準機能制御部３０２（ネイティブプログラム）か又はアプリケーション実行制御部３０６（拡張アプリケーション）かを判定する。要求元が標準機能制御部３０２の場合はＳ１７０８に進み、要求元がアプリケーション実行制御部３０６の場合はＳ１７０２に進む。
【００７７】
Ｓ１７０２で、画面出力処理部３０４は、画面出力元切替要求の種類が出力要求か解除要求かを判定する。出力要求の場合はＳ１７０３に進み、解除要求の場合はＳ１７０６に進む。Ｓ１７０３で、画面出力処理部３０４は、アプリケーション用画面バッファからの出力フラグを有効にセットする。このフラグはデフォルトでは無効にセットされている。続いて、Ｓ１７０４で、画面出力処理部３０４は、標準機能用画面バッファからの出力フラグを確認する。有効の場合は処理を終了し、無効の場合はＳ１７０５に進む。Ｓ１７０５で、画面出力処理部３０４は、出力元をアプリケーション用画面バッファに設定し、処理を終了する。この出力元は、デフォルトで標準機能画面バッファにセットされている。
【００７８】
一方、Ｓ１７０６で、画面出力処理部３０４は、アプリケーション用画面バッファからの出力フラグを無効にセットする。続いて、Ｓ１７０７で、画面出力処理部３０４は、操作情報通知対象を標準機能制御部３０２に設定し、処理を終了する。
【００７９】
一方、Ｓ１７０８で、画面出力処理部３０４は、Ｓ１７０２と同様に、画面出力元切替要求が出力要求か解除要求かを判定する。出力要求の場合はＳ１７０９に進み、解除要求の場合はＳ１７１１に進む。Ｓ１７０９で、画面出力処理部３０４は、標準機能用画面バッファからの出力フラグを有効にセットする。このフラグはデフォルトで無効にセットされている。続いて、Ｓ１７１０で、画面出力処理部３０４は、操作情報通知対象を標準機能制御部３０２に設定し、処理を終了する。
【００８０】
一方、Ｓ１７１１で、画面出力処理部３０４は、標準機能用画面バッファからの出力フラグを無効にセットする。続いて、Ｓ１７１２で、画面出力処理部３０４は、アプリケーション用画面バッファからの出力フラグの設定状態を確認する。有効に設定されている場合はＳ１７１３に進み、無効に設定されている場合は処理を終了する。Ｓ１７１３で、画面出力処理部３０４は、操作情報通知対象をアプリケーション管理部３０５に設定し、処理を終了する。本フローチャートの処理を実行することにより、状況に応じて出力する画面をアプリケーション用画面と標準機能用画面に切り分けることができる。
【００８１】
＜アプリケーション終了シーケンス＞
次に、図１８を参照して、本実施形態に係るアプリケーション終了時のシーケンスについて説明する。以下で説明する処理は、例えば、ＣＰＵ１０１がＲＯＭ１０３やストレージ１０４に格納されたプログラムをＲＡＭ１０２に読み出して実行することによって実現される。
【００８２】
アプリケーションが終了すると、Ｓ１８０１で、アプリケーション実行制御部３０６は、画面出力処理部３０４に対し出力解除要求を行う。さらに、Ｓ１８０４で、アプリケーション実行制御部３０６は、ＵＩ制御部３０１に対して操作情報通知解除要求を行い、Ｓ１８０５で、アプリケーション管理部３０５に対して終了通知を行う。
【００８３】
Ｓ１８０２で、画面出力処理部３０４は、出力解除要求を受け、画面出力元切替処理を実行する。この処理で、標準機能画面バッファが画面出力元に切り替わる。続いて、Ｓ１８０３で、画面出力処理部３０４は、画面出力処理を実行し、元の画面を表示する。
【００８４】
一方、Ｓ１８０６で、ＵＩ制御部３０１は、操作情報通知解除要求を受け、通知先切替処理を実行する。この処理で操作情報通知先は標準機能制御部３０２に切り替わる。その後、Ｓ１８０７で、ＵＩ制御部３０１は、ユーザからの画面操作を検知する。操作を検知すると、Ｓ１８０８で、ＵＩ制御部３０１は、操作情報通知処理を実行し、Ｓ１８０９で、操作情報を標準機能制御部３０２に通知する。上述のシーケンスを実行することによって、アプリケーションが終了した際に、表示画面は標準機能制御用画面に切り替わり、標準機能制御が操作情報を受け取ることができる。つまり、ユーザはネイティブプログラムと拡張アプリケーションとの切り替わりを意識することなく操作を行うことができる。
【００８５】
以上説明したように、本画像形成装置は、標準機能の操作画面を描画する標準機能用画面バッファ制御部３０３と、拡張機能の操作画面を描画するアプリケーション用画面バッファ制御部３０７とを備える。さらに、本画像形成装置は、標準機能用画面バッファ制御部３０３又はアプリケーション用画面バッファ制御部３０７によって描画された操作画面を出力する。当該出力において、アプリケーション用画面バッファ制御部３０７によって描画された操作画面、即ち、拡張機能の操作画面を出力する場合には、標準機能の操作画面の一部（例えば、フッター領域）を、拡張機能の操作画面に組み込んで出力する。上記標準機能の操作画面の一部とは、例えば、フッター領域であり、画像形成装置の状態を表示する領域である。当該操作画面の一部が操作されると、その操作情報は、標準機能制御部３０２へ通知される。一方、当該操作画面の一部以外が操作されると、その操作情報は、アプリケーション管理部３０５へ送信される。このように、本実施形態によれば、画像形成装置の限られたリソースの消費を抑えつつ、標準機能を操作するＵＩと、拡張機能を操作するＵＩを好適に共存させることにより、ユーザの利便性を確保することができる。なお、上述の制御のほとんどが標準機能制御部３０２によって制御されるため、拡張アプリケーションを開発する際には、煩雑な画面制御を意識することなく、設計することができる。
【００８６】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８７】
１０：、画像形成装置、１００：コントローラユニット、１０１：ＣＰＵ、１０２：ＲＡＭ、１０３：ＲＯＭ、１０４：ストレージ、１０５：画像パスＩ／Ｆ、１０６：操作部Ｉ／Ｆ、１０７：システムバス、１０８：画像バス、１１０：ネットワークＩ／Ｆ、１１２：操作部、１１３：ＵＳＢホストＩ／Ｆ、１１４：ＵＳＢストレージ、１２０：デバイスＩ／Ｆ、１７０：スキャナ、１８０：スキャナ画像処理部、１９０：プリンタ画像処理部、１９５：プリンタ
【図１】
2018024151.tif 000003
【図２】
2018024151.tif 000004
【図３】
2018024151.tif 000005
【図４】
2018024151.tif 000006
【図５】
2018024151.tif 000007
【図６】
2018024151.tif 000008
【図７】
2018024151.tif 000009
【図８】
2018024151.tif 000010
【図９】
2018024151.tif 000011
【図１０】
2018024151.tif 000012
【図１１】
2018024151.tif 000013
【図１２】
2018024151.tif 000014
【図１３】
2018024151.tif 000015
【図１４】
2018024151.tif 000016
【図１５】
2018024151.tif 000017
【図１６】
2018024151.tif 000018
【図１７】
2018024151.tif 000019
【図１８】
2018024151.tif 000020