(57)【要約】【課題】  コンテンツがブラウジングプログラムとは別のアプリケーションプログラムを実行する記述を含む場合にアプリケーションプログラムを適切に実行すること。【解決手段】  データ処理装置は、コンテンツに対応する表示画像を表示するブラウジング部６１と、ユーザーにより指示された１以上の位置を示すマウスイベントを生成するマウスイベント生成部８５と、１以上のマウスイベントの組に基づいて１つのジェスチャーイベントを決定するジェスチャーイベント決定部８３と、を備え、ブラウジング部６１は、アプリケーションプログラムが実行されて生成された埋込画像を埋込領域に配置した表示画像を生成する表示画像生成部７１と、１以上のマウスイベントにより示される位置が埋込領域内の場合、ジェスチャーイベントと１以上のマウスイベントの組のいずれか一方を選択する選択部７５と、を含む。【選択図】        図５
2014106808.tif 000002
【特許請求の範囲】
【請求項１】
画像を表示可能な表示手段と、
前記表示手段の表示面中で、ユーザーにより指示される１以上の位置を検出可能な位置検出手段と、
制御手段と、を備え、
前記制御手段は、ブラウジングプログラムを実行し、外部からマークアップ言語で記述されたコンテンツを取得し、前記取得されたコンテンツに対応する表示画像の少なくとも一部を前記表示手段に表示するとともに、前記ブラウジングプログラムにより定められる複数種類の処理にそれぞれ対応する複数のジェスチャーイベントのいずれか１つが入力されることに応じて、前記複数種類の処理のうち前記入力されたジェスチャーイベントに対応する種類の処理を実行するブラウジング手段と、
前記位置検出手段により１以上の位置が検出されることに応じて、前記１以上の位置それぞれを示す位置情報を含むマウスイベントを生成するマウスイベント生成手段と、
前記マウスイベント生成手段によって生成される１以上のマウスイベントの組に基づいて、複数のジェスチャーイベントのいずれか１つを決定するジェスチャーイベント決定手段と、を含み、
前記ブラウジング手段は、前記コンテンツが前記ブラウジングプログラムとは別のアプリケーションプログラムが実行されて生成される埋込画像を表示する記述を含む場合、前記アプリケーションプログラムが実行されて生成された埋込画像を前記コンテンツにより定められた埋込領域に配置した表示画像を生成する表示画像生成手段と、
前記ジェスチャーイベント決定手段により決定されたジェスチャーイベントを決定する基になった１以上のマウスイベントのいずれか１つのマウスイベントにより示される位置が前記埋込領域内の場合、前記ジェスチャーイベント決定手段により決定されたジェスチャーイベントと、当該ジェスチャーイベントを決定する基になった１以上のマウスイベントの組のいずれか一方を、前記決定されたジェスチャーイベントの種類に基づいて選択する選択手段と、を含むデータ処理装置。
【請求項２】
前記選択手段は、前記ジェスチャーイベント決定手段により決定されるジェスチャーイベントが所定の種類でない場合には、前記ジェスチャーイベント決定手段により決定されたジェスチャーイベントを決定する基になった１以上のマウスイベントを選択するマウスイベント選択手段と、
前記ジェスチャーイベント決定手段により決定されたジェスチャーイベントが前記所定の種類の場合、前記ジェスチャーイベント決定手段により決定されたジェスチャーイベントを選択するジェスチャーイベント選択手段を含む、請求項１に記載のデータ処理装置。
【請求項３】
前記ジェスチャーイベント決定手段は、前記マウスイベント生成手段によって生成される第１のマウスイベントにより示される第１の位置と、前記第１のマウスイベントが生成されてから所定時間以内に生成される第２のマウスイベントにより生成される第２の位置との間の間隔が所定の距離以上でない場合には、ジェスチャーイベントを決定しないと判断する判断手段を含む、請求項１または２に記載のデータ処理装置。
【請求項４】
前記ブラウジング手段は、前記マウスイベント生成手段により生成される１以上のマウスイベントを、前記ジェスチャーイベント決定手段によりジェスチャーイベントが決定される時、または、前記判断手段により前記ジェスチャーイベントを決定しないと判断される時まで保留する保留手段と、
前記選択手段によって前記１以上のマウスイベントの組が選択される場合、前記保留された組に含まれる１以上のマウスイベントを、前記アプリケーションプログラムを実行するタスクに出力し、前記埋込領域に表示される埋込画像を更新させる指示手段と、をさらに含む、請求項１〜３のいずれかに記載のデータ処理装置。
【請求項５】
前記ブラウジング手段は、前記選択手段によって前記１以上のマウスイベントの組が選択される場合は、前記保留された組に含まれる１以上のマウスイベントが前記指示手段によって前記アプリケーションプログラムを実行するタスクに出力された後に前記保留された組に含まれる１以上のマウスイベントを消去し、前記選択手段によってジェスチャーイベントが選択される場合は、前記選択手段によってジェスチャーイベントが選択された時点で、前記保留された組に含まれる１以上のマウスイベントを消去する消去手段を、さらに含む、請求項４に記載のデータ処理装置。
【請求項６】
前記ブラウジング手段は、前記ジェスチャーイベントが選択される場合、前記複数種類の処理のうち前記選択されたジェスチャーイベントに対応する種類の処理を実行することによって、前記表示画像のうち前記表示手段に表示するための表示部分を決定する決定手段を、さらに含む、請求項１〜５のいずれかに記載のデータ処理装置。
【請求項７】
前記制御手段は、前記ブラウジングプログラムがインストールされる段階で、前記ブラウジングプログラムに対応して、前記ブラウジングプログラムが定める前記複数種類の処理に対応する複数のジェスチャーイベントを関連付ける関連付手段をさらに含み、
前記ジェスチャーイベント決定手段は、前記マウスイベント生成手段によって生成される１以上のマウスイベントの組に対応するジェスチャーイベントが、前記関連付手段によって前記ブラウジングプログラムに対応して前記複数種類の処理のいずれかと関連付けられていることを条件に、前記ジェスチャーイベントを決定する、請求項１〜６のいずれかに記載のデータ処理装置。
【請求項８】
画像を表示可能な表示手段と、
前記表示手段の表示面中で、ユーザーにより指示される１以上の位置を検出可能な位置検出手段と、を備えたデータ処理装置で実行される操作受付方法であって、
ブラウジングプログラムを実行し、外部からマークアップ言語で記述されたコンテンツを取得し、前記取得されたコンテンツに対応する表示画像の少なくとも一部を前記表示手段に表示するとともに、前記ブラウジングプログラムにより定められる複数種類の処理にそれぞれ対応する複数のジェスチャーイベントのいずれか１つが入力されることに応じて、前記複数種類の処理のうち前記入力されたジェスチャーイベントに対応する種類の処理を実行するブラウジングステップと、
前記位置検出手段により１以上の位置が検出されることに応じて、前記１以上の位置それぞれを示す位置情報を含むマウスイベントを生成するマウスイベント生成ステップと、
前記マウスイベント生成ステップにおいて生成される１以上のマウスイベントの組に基づいて、複数のジェスチャーイベントのいずれか１つを決定するジェスチャーイベント決定ステップと、を含み、
前記ブラウジングステップは、前記コンテンツが前記ブラウジングプログラムとは別のアプリケーションプログラムが実行されて生成される埋込画像を表示する記述を含む場合、前記アプリケーションプログラムが実行されて生成された埋込画像を前記コンテンツにより定められた埋込領域に配置した表示画像を生成する表示画像生成ステップと、
前記ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントを決定する基になった１以上のマウスイベントのいずれか１つのマウスイベントにより示される位置が前記埋込領域内の場合、前記ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントと、当該ジェスチャーイベントを決定する基になった１以上のマウスイベントの組のいずれか一方を、前記決定されたジェスチャーイベントの種類に基づいて選択する選択ステップと、を含む、操作受付方法。
【請求項９】
前記選択ステップは、前記ジェスチャーイベント決定ステップにおいて決定されるジェスチャーイベントが所定の種類でない場合には、前記ジェスチャーイベント決定手段ステップにおいて決定されたジェスチャーイベントを決定する基になった１以上のマウスイベントを選択するマウスイベント選択ステップと、
前記ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントが前記所定の種類の場合、前記ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントを選択するジェスチャーイベント選択ステップと、を含む、請求項８に記載の操作受付方法。
【請求項１０】
前記ジェスチャーイベント決定ステップは、前記マウスイベント生成ステップにおいて生成される第１のマウスイベントにより示される第１の位置と、前記第１のマウスイベントが生成されてから所定時間以内に生成される第２のマウスイベントにより生成される第２の位置との間の間隔が所定の距離以上でない場合には、ジェスチャーイベントを決定しないと判断する判断ステップを含む、請求項８または９に記載の操作受付方法。
【請求項１１】
前記ブラウジングステップは、前記マウスイベント生成ステップにおいて生成される１以上のマウスイベントの組を、前記ジェスチャーイベント決定ステップにより当該組に基づいてジェスチャーイベントが決定検出される時、または、前記判断ステップにおいて前記ジェスチャーイベントを決定しないと判断される時まで保留する保留ステップと、
前記選択手段によって前記１以上のマウスイベントの組が選択される場合、前記保留された組に含まれる１以上のマウスイベントを、前記アプリケーションプログラムを実行するタスクに出力し、前記埋込領域に表示される埋込画像を更新させる指示ステップと、をさらに含む、請求項８〜１０のいずれかに記載の操作受付方法。
【請求項１２】
前記ブラウジングステップは、前記選択ステップにおいて前記１以上のマウスイベントの組が選択される場合は、前記保留された組に含まれる１以上のマウスイベントが前記指示ステップにおいて前記アプリケーションプログラムを実行するタスクに出力された後に前記保留された組に含まれる１以上のマウスイベントを消去し、前記選択ステップにおいてジェスチャーイベントが選択される場合は、前記選択手段によってジェスチャーイベントが選択された時点で、前記保留された組に含まれる１以上のマウスイベントを消去する消去ステップを、さらに含む、請求項１１に記載の操作受付方法。
【請求項１３】
前記ブラウジングステップは、前記ジェスチャーイベントが選択される場合、前記複数種類の処理のうち前記選択されたジェスチャーイベントに対応する種類の処理を実行することによって、前記表示画像のうち前記表示手段に表示するための表示部分を決定する決定ステップを、さらに含む、請求項８〜１２のいずれかに記載の操作受付方法。
【請求項１４】
前記ブラウジングプログラムがインストールされる段階で、前記ブラウジングプログラムに対応して、前記ブラウジングプログラムが定める前記複数種類の処理に対応する複数のジェスチャーイベントを関連付ける関連付ステップをさらに含み、
前記ジェスチャーイベント決定ステップは、前記マウスイベント生成ステップにおいて生成される１以上のマウスイベントの組に対応するジェスチャーイベントが、前記関連付ステップにおいて前記ブラウジングプログラムに対応して前記複数種類の処理のいずれかと関連付けられていることを条件に、前記ジェスチャーイベントを決定するステップを含む、請求項８〜１３のいずれかに記載の操作受付方法。
【請求項１５】
データ処理装置を制御するコンピューターで実行されるブラウジングプログラムであって、
前記データ処理装置は、
画像を表示可能な表示手段と、
前記表示手段の表示面中で、ユーザーにより指示される１以上の位置を検出可能な位置検出手段と、
前記位置検出手段により１以上の位置が検出されることに応じて、前記１以上の位置それぞれを示す位置情報を含むマウスイベントを生成するマウスイベント生成手段と、
前記マウスイベント生成手段によって連続して生成される１以上のマウスイベントの組に基づいて、複数のジェスチャーイベントのいずれか１つを決定するジェスチャーイベント決定手段と、を備えており、
ブラウジングプログラムを実行し、外部からマークアップ言語で記述されたコンテンツを取得し、前記取得されたコンテンツに対応する表示画像の少なくとも一部を前記表示手段に表示するとともに、前記ブラウジングプログラムにより定められる複数種類の処理にそれぞれ対応する複数のジェスチャーイベントのいずれか１つが入力されることに応じて、前記複数種類の処理のうち前記入力されたジェスチャーイベントに対応する種類の処理を実行するブラウジングステップを、前記コンピューターに実行させ、
前記ブラウジングステップは、前記コンテンツが前記ブラウジングプログラムとは別のアプリケーションプログラムが実行されて生成される埋込画像を表示する記述を含む場合、前記アプリケーションプログラムが実行されて生成された埋込画像を前記コンテンツにより定められた埋込領域に配置した表示画像を生成する表示画像生成ステップと、
前記ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントを決定する基になった１以上のマウスイベントのいずれか１つのマウスイベントにより示される位置が前記埋込領域内の場合、前記ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントと、当該ジェスチャーイベントを決定する基になった１以上のマウスイベントの組のいずれか一方を、前記決定されたジェスチャーイベントの種類に基づいて選択する選択ステップと、を含む、ブラウジングプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明はデータ処理装置、操作受付方法およびブラウジングプログラムに関し、特に、マルチタッチ対応のタッチパネルを備えたデータ処理装置、そのデータ処理装置で実行される操作受付方法およびブラウジングプログラムに関する。
【背景技術】
【０００２】
近年、複合機（ＭＦＰ）で代表されるデータ処理装置において、ユーザーインターフェースとして、ユーザーが同時に指示する複数の位置を検出可能なマルチタッチ対応のタッチパネルを備えた装置がある。一方で、ＭＦＰは、アプリケーションプログラムをインストールすることが可能になっているものがあり、ユーザーは、使用形態に応じたアプリケーションプログラムをインストールすることによって、ＭＦＰをカスタマイズすることができる。このアプリケーションプログラムは、マルチタッチ操作を受け付けることが可能な仕様のものと、マルチタッチ操作を受け付けることができずシングルタッチ操作を受け付けることが可能な仕様のものとがある。このため、同時に複数のアプリケーションプログラムが実行される場合に、アプリケーションプログラムによって、ユーザーにより入力される操作を、マルチタッチ操作として受け付けるか、シングルタッチ操作として受け付けるかを、切り換えなければならない。
【０００３】
例えば、特開２００９−２１１７０４号公報には、マルチタッチデバイスにおけるマウスイベントに対応する方法であって、１又はそれ以上のビューを表示するステップと、各々が特定のビューに関連付けられた１又はそれ以上のソフトウェア要素を実行するステップと、マルチタッチフラグ又は排他的タッチフラグを個々のビューに関連付けるステップと、前記１又はそれ以上のビューにおいて１又はそれ以上のタッチを受信するステップと、前記マルチタッチフラグ及び排他的タッチフラグの値に基づいて、各々が受信したタッチについて記述する１又はそれ以上のマウスイベントを、タッチを受信した前記１又はそれ以上のビューに関連付けられた１又はそれ以上の前記ソフトウェア要素へ選択的に送信するステップと、を含むことを特徴とする方法が記載されている。
【０００４】
しなしながら、アプリケーションプログラムによっては、そのアプリケーションプログラムが出力する画像（ビュー）中に、マルチタッチ操作を受け付ける領域と、シングルタッチ操作を受け付ける領域とを含む場合がある。このため、従来の方法においては、ビューによって、ユーザーにより入力される操作を、マルチタッチ操作として受け付けるか、シングルタッチ操作として受け付けるかを切り換えるので、１つのビュー（画像）中にマルチタッチ操作を受け付ける領域と、シングルタッチ操作を受け付ける領域とを含む場合に対応することができないといった問題がある。
【特許文献１】特開２００９−２１１７０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の１つは、コンテンツがブラウジングプログラムとは別のアプリケーションプログラムを実行する記述を含む場合にアプリケーションプログラムを適切に実行することが可能なデータ処理装置を提供することである。
【０００６】
この発明の他の目的は、ユーザーによる１つの操作を、ブラウジングプログラムおよびアプリケーションプログラムそれぞれに適した操作として受け付けることが可能な操作受付方法を提供することである。
【０００７】
この発明のさらに他の目的は、ユーザーによる１つの操作を、ブラウジングプログラムおよびアプリケーションプログラムそれぞれに適した操作として受け付けることが可能なブラウジングプログラムを提供することである。
【課題を解決するための手段】
【０００８】
上述した目的を達成するためにこの発明のある局面によれば、データ処理装置は、画像を表示可能な表示手段と、表示手段の表示面中で、ユーザーにより指示される１以上の位置を検出可能な位置検出手段と、制御手段と、を備え、制御手段は、ブラウジングプログラムを実行し、外部からマークアップ言語で記述されたコンテンツを取得し、取得されたコンテンツに対応する表示画像の少なくとも一部を表示手段に表示するとともに、ブラウジングプログラムにより定められる複数種類の処理にそれぞれ対応する複数のジェスチャーイベントのいずれか１つが入力されることに応じて、複数種類の処理のうち入力されたジェスチャーイベントに対応する種類の処理を実行するブラウジング手段と、位置検出手段により１以上の位置が検出されることに応じて、１以上の位置それぞれを示す位置情報を含むマウスイベントを生成するマウスイベント生成手段と、マウスイベント生成手段によって生成される１以上のマウスイベントの組に基づいて、複数のジェスチャーイベントのいずれか１つを決定するジェスチャーイベント決定手段と、を含み、ブラウジング手段は、コンテンツがブラウジングプログラムとは別のアプリケーションプログラムが実行されて生成される埋込画像を表示する記述を含む場合、アプリケーションプログラムが実行されて生成された埋込画像をコンテンツにより定められた埋込領域に配置した表示画像を生成する表示画像生成手段と、ジェスチャーイベント決定手段により決定されたジェスチャーイベントを決定する基になった１以上のマウスイベントのいずれか１つのマウスイベントにより示される位置が埋込領域内の場合、ジェスチャーイベント決定手段により決定されたジェスチャーイベントと、当該ジェスチャーイベントを決定する基になった１以上のマウスイベントの組のいずれか一方を、決定されたジェスチャーイベントの種類に基づいて選択する選択手段と、を含む。
【０００９】
この局面に従えば、ユーザーにより指示された１以上の位置が検出されることに応じて、１以上の位置それぞれを示す位置情報を含むマウスイベントが生成され、１以上のマウスイベントの組に基づいて、複数のジェスチャーイベントのうちからいずれか１つが決定され、外部から受信されるコンテンツがブラウジングプログラムとは別のアプリケーションプログラムが実行されて生成される埋込画像を表示する記述を含む場合、埋込画像をコンテンツにより定められた埋込領域に配置した表示画像が生成され、ジェスチャーイベントを決定する基になった１以上のマウスイベントのいずれか１つのマウスイベントにより示される位置が埋込領域内の場合、ジェスチャーイベントと、当該ジェスチャーイベントを決定する基になった１以上のマウスイベントの組のいずれか一方が選択される。このため、ユーザーによる１つの操作をマウスイベントとジェスチャーイベントとして検出するとともに、検出されたマウスイベントとジェスチャーイベントのうちからブラウジングプログラムおよびアプリケーションプログラムそれぞれに適した一方を受け付けることができる。その結果、コンテンツがブラウジングプログラムとは別のアプリケーションプログラムを実行する記述を含む場合であってもアプリケーションプログラムを適切に実行することが可能なデータ処理装置を提供することができる。
【００１０】
好ましくは、選択手段は、ジェスチャーイベント決定手段により決定されるジェスチャーイベントが所定の種類でない場合には、ジェスチャーイベント決定手段により決定されたジェスチャーイベントを決定する基になった１以上のマウスイベントを選択するマウスイベント選択手段と、ジェスチャーイベント決定手段により決定されたジェスチャーイベントが所定の種類の場合、ジェスチャーイベント決定手段により決定されたジェスチャーイベントを選択するジェスチャーイベント選択手段を含む。
【００１１】
この局面に従えば、ユーザーによる１つの操作をマウスイベントとジェスチャーイベントとして検出するとともに、ジェスチャーイベントが所定の種類の場合には、ジェスチャーイベントをブラウジングプログラムに対応させ、ジェスチャーイベントが所定の種類でない場合には、マウスイベントをアプリケーションプログラムに対応させる。このため、ユーザーによる１つの操作を、ブラウジングプログラムおよびアプリケーションプログラムのいずれかに対する操作として受け付けることができる。
【００１２】
好ましくは、ジェスチャーイベント決定手段は、マウスイベント生成手段によって生成される第１のマウスイベントにより示される第１の位置と、第１のマウスイベントが生成されてから所定時間以内に生成される第２のマウスイベントにより生成される第２の位置との間の間隔が所定の距離以上でない場合には、ジェスチャーイベントを決定しないと判断する判断手段を含む。
【００１３】
この局面に従えば、第１のマウスイベントにより示される第１の位置と、第１のマウスイベントが生成されてから所定時間以内に生成される第２のマウスイベントにより生成される第２の位置との間の間隔が所定の距離以上でない場合には、ジェスチャーイベントを決定しない。このため、ユーザーが指示したまま移動させる操作をジェスチャーイベントとして検出することができる。
【００１４】
好ましくは、ブラウジング手段は、マウスイベント生成手段により生成される１以上のマウスイベントを、ジェスチャーイベント決定手段によりジェスチャーイベントが決定される時、または、判断手段によりジェスチャーイベントを決定しないと判断される時まで保留する保留手段と、選択手段によって１以上のマウスイベントの組が選択される場合、保留された組に含まれる１以上のマウスイベントを、アプリケーションプログラムを実行するタスクに出力し、埋込領域に表示される埋込画像を更新させる指示手段と、をさらに含む。
【００１５】
この局面に従えば、所定の種類でないジェスチャーイベントが決定される時まで、またはジェスチャーイベントを決定しないことが判断される時までに入力されたユーザーによる操作に基づき生成されたマウスイベントが保留されるので、ユーザーによる操作を有効にすることができる。
【００１６】
好ましくは、ブラウジング手段は、選択手段によって１以上のマウスイベントの組が選択される場合は、保留された組に含まれる１以上のマウスイベントが指示手段によってアプリケーションプログラムを実行するタスクに出力された後に保留された組に含まれる１以上のマウスイベントを消去し、選択手段によってジェスチャーイベントが選択される場合は、選択手段によってジェスチャーイベントが選択された時点で、保留された組に含まれる１以上のマウスイベントを消去する消去手段を、さらに含む。
【００１７】
この局面に従えば、保留された組に含まれる１以上のマウスイベントを、アプリケーションプログラムを実行するタスクに出力された後に消去し、ジェスチャーイベントが選択される場合は、ジェスチャーイベントが選択された時点で消去する。このため、１つのマウスイベントが複数回出力されるのを防止することができる。
【００１８】
好ましくは、ブラウジング手段は、ジェスチャーイベントが選択される場合、複数種類の処理のうち選択されたジェスチャーイベントに対応する種類の処理を実行することによって、表示画像のうち表示手段に表示するための表示部分を決定する決定手段を、さらに含む。
【００１９】
この局面に従えば、ジェスチャーイベントに従ってブラウジングプログラムを実行することができる。
【００２０】
好ましくは、制御手段は、ブラウジングプログラムがインストールされる段階で、ブラウジングプログラムに対応して、ブラウジングプログラムが定める複数種類の処理に対応する複数のジェスチャーイベントを関連付ける関連付手段をさらに含み、ジェスチャーイベント決定手段は、マウスイベント生成手段によって生成される１以上のマウスイベントの組に対応するジェスチャーイベントが、関連付手段によってブラウジングプログラムに対応して複数種類の処理のいずれかと関連付けられていることを条件に、ジェスチャーイベントを決定する。
【００２１】
この局面に従えば、ブラウジングプログラムがインストールされる段階で、ブラウジングプログラムが定める複数種類の処理に対応する複数のジェスチャーイベントを関連付けるので、ブラウジングプログラムが定める複数種類の処理それぞれに対応するジェスチャーイベントのみを検出することができる。
【００２２】
この発明の他の局面によれば、操作受付方法は、画像を表示可能な表示手段と、表示手段の表示面中で、ユーザーにより指示される１以上の位置を検出可能な位置検出手段と、を備えたデータ処理装置で実行される操作受付方法であって、ブラウジングプログラムを実行し、外部からマークアップ言語で記述されたコンテンツを取得し、取得されたコンテンツに対応する表示画像の少なくとも一部を表示手段に表示するとともに、ブラウジングプログラムにより定められる複数種類の処理にそれぞれ対応する複数のジェスチャーイベントのいずれか１つが入力されることに応じて、複数種類の処理のうち入力されたジェスチャーイベントに対応する種類の処理を実行するブラウジングステップと、位置検出手段により１以上の位置が検出されることに応じて、１以上の位置それぞれを示す位置情報を含むマウスイベントを生成するマウスイベント生成ステップと、マウスイベント生成ステップにおいて生成される１以上のマウスイベントの組に基づいて、複数のジェスチャーイベントのいずれか１つを決定するジェスチャーイベント決定ステップと、を含み、ブラウジングステップは、コンテンツがブラウジングプログラムとは別のアプリケーションプログラムが実行されて生成される埋込画像を表示する記述を含む場合、アプリケーションプログラムが実行されて生成された埋込画像をコンテンツにより定められた埋込領域に配置した表示画像を生成する表示画像生成ステップと、ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントを決定する基になった１以上のマウスイベントのいずれか１つのマウスイベントにより示される位置が埋込領域内の場合、ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントと、当該ジェスチャーイベントを決定する基になった１以上のマウスイベントの組のいずれか一方を、決定されたジェスチャーイベントの種類に基づいて選択する選択ステップと、を含む。
【００２３】
この局面に従えば、ユーザーによる１つの操作をマウスイベントとジェスチャーイベントとして検出するとともに、検出されたマウスイベントとジェスチャーイベントのうちからブラウジングプログラムおよびアプリケーションプログラムそれぞれに適した一方を受け付けることができる。その結果、ユーザーによる１つの操作を、ブラウジングプログラムおよびアプリケーションプログラムそれぞれに適した操作として受け付けることが可能な操作受付方法を提供することができる。
【００２４】
好ましくは、選択ステップは、ジェスチャーイベント決定ステップにおいて決定されるジェスチャーイベントが所定の種類でない場合には、ジェスチャーイベント決定手段ステップにおいて決定されたジェスチャーイベントを決定する基になった１以上のマウスイベントを選択するマウスイベント選択ステップと、ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントが所定の種類の場合、ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントを選択するジェスチャーイベント選択ステップと、を含む。
【００２５】
好ましくは、ジェスチャーイベント決定ステップは、マウスイベント生成ステップにおいて生成される第１のマウスイベントにより示される第１の位置と、第１のマウスイベントが生成されてから所定時間以内に生成される第２のマウスイベントにより生成される第２の位置との間の間隔が所定の距離以上でない場合には、ジェスチャーイベントを決定しないと判断する判断ステップを含む。
【００２６】
好ましくは、ブラウジングステップは、マウスイベント生成ステップにおいて生成される１以上のマウスイベントの組を、ジェスチャーイベント決定ステップにより当該組に基づいてジェスチャーイベントが決定検出される時、または、判断ステップにおいてジェスチャーイベントを決定しないと判断される時まで保留する保留ステップと、選択手段によって１以上のマウスイベントの組が選択される場合、保留された組に含まれる１以上のマウスイベントを、アプリケーションプログラムを実行するタスクに出力し、埋込領域に表示される埋込画像を更新させる指示ステップと、をさらに含む。
【００２７】
好ましくは、ブラウジングステップは、選択ステップにおいて１以上のマウスイベントの組が選択される場合は、保留された組に含まれる１以上のマウスイベントが指示ステップにおいてアプリケーションプログラムを実行するタスクに出力された後に保留された組に含まれる１以上のマウスイベントを消去し、選択ステップにおいてジェスチャーイベントが選択される場合は、選択手段によってジェスチャーイベントが選択された時点で、保留された組に含まれる１以上のマウスイベントを消去する消去ステップを、さらに含む。
【００２８】
好ましくは、ブラウジングステップは、ジェスチャーイベントが選択される場合、複数種類の処理のうち選択されたジェスチャーイベントに対応する種類の処理を実行することによって、表示画像のうち表示手段に表示するための表示部分を決定する決定ステップを、さらに含む。
【００２９】
好ましくは、ブラウジングプログラムがインストールされる段階で、ブラウジングプログラムに対応して、ブラウジングプログラムが定める複数種類の処理に対応する複数のジェスチャーイベントを関連付ける関連付ステップをさらに含み、ジェスチャーイベント決定ステップは、マウスイベント生成ステップにおいて生成される１以上のマウスイベントの組に対応するジェスチャーイベントが、関連付ステップにおいてブラウジングプログラムに対応して複数種類の処理のいずれかと関連付けられていることを条件に、ジェスチャーイベントを決定するステップを含む。
【００３０】
この発明のさらに他の局面によれば、ブラウジングプログラムは、データ処理装置を制御するコンピューターで実行されるブラウジングプログラムであって、データ処理装置は、画像を表示可能な表示手段と、表示手段の表示面中で、ユーザーにより指示される１以上の位置を検出可能な位置検出手段と、位置検出手段により１以上の位置が検出されることに応じて、１以上の位置それぞれを示す位置情報を含むマウスイベントを生成するマウスイベント生成手段と、マウスイベント生成手段によって連続して生成される１以上のマウスイベントの組に基づいて、複数のジェスチャーイベントのいずれか１つを決定するジェスチャーイベント決定手段と、を備えており、ブラウジングプログラムを実行し、外部からマークアップ言語で記述されたコンテンツを取得し、取得されたコンテンツに対応する表示画像の少なくとも一部を表示手段に表示するとともに、ブラウジングプログラムにより定められる複数種類の処理にそれぞれ対応する複数のジェスチャーイベントのいずれか１つが入力されることに応じて、複数種類の処理のうち入力されたジェスチャーイベントに対応する種類の処理を実行するブラウジングステップを、コンピューターに実行させ、ブラウジングステップは、コンテンツがブラウジングプログラムとは別のアプリケーションプログラムが実行されて生成される埋込画像を表示する記述を含む場合、アプリケーションプログラムが実行されて生成された埋込画像をコンテンツにより定められた埋込領域に配置した表示画像を生成する表示画像生成ステップと、ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントを決定する基になった１以上のマウスイベントのいずれか１つのマウスイベントにより示される位置が埋込領域内の場合、ジェスチャーイベント決定ステップにおいて決定されたジェスチャーイベントと、当該ジェスチャーイベントを決定する基になった１以上のマウスイベントの組のいずれか一方を、決定されたジェスチャーイベントの種類に基づいて選択する選択ステップと、を含む。
【００３１】
この局面に従えば、ユーザーによる１つの操作をマウスイベントとジェスチャーイベントとして検出するとともに、検出されたマウスイベントとジェスチャーイベントのうちからブラウジングプログラムおよびアプリケーションプログラムそれぞれに適した一方を受け付けることができる。その結果、ユーザーによる１つの操作を、ブラウジングプログラムおよびアプリケーションプログラムそれぞれに適した操作として受け付けることが可能なブラウジングプログラムを提供することができる。
【図面の簡単な説明】
【００３２】
【図１】本実施の形態の一つにおけるＭＦＰの外観を示す斜視図である。
【図２】操作パネルの一例を示す平面図である。
【図３】ＭＦＰのハードウェア構成の概要の一例を示すブロック図である。
【図４】ＭＦＰが備えるＣＰＵのソフトウェアアーキテクチャの一例を示す図である。
【図５】ＭＦＰが備えるＣＰＵが有する機能の一例を、ＨＤＤに記憶される情報とともに示すブロック図である。
【図６】マスターテーブルの一例を示す図である。
【図７】ユーザーによる操作とＭＦＰが実行する処理の流れの一例を示す図である。
【図８】ジェスチャーイベント決定処理の流れの一例を示すフローチャートである。
【図９】ブラウジング処理の流れの一例を示すフローチャートである。
【図１０】表示画像の一例を示す図である。
【図１１】表示画像中の表示部分の一例を示す第１の図である。
【図１２】表示画像中の表示部分の一例を示す第２の図である。
【図１３】表示画像中の表示部分の一例を示す第３の図である。
【発明を実施するための形態】
【００３３】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがって、それらについての詳細な説明は繰り返さない。
【００３４】
図１は、本実施の形態の一つにおけるＭＦＰの外観を示す斜視図である。図２は、操作パネルの一例を示す平面図である。図１および図２を参照して、ＭＦＰ１００は、原稿を読み取るための原稿読取部１３０と、原稿を原稿読取部１３０に搬送するための自動原稿搬送装置１２０と、原稿読取部１３０が原稿を読み取って出力する画像データに基づいて用紙等に画像を形成するための画像形成部１４０と、画像形成部１４０に用紙を供給するための給紙部１５０と、ユーザーインターフェースとしての操作パネル１６０とを含む。
【００３５】
操作パネル１６０は、ＭＦＰ１００の上面に設けられる。操作パネル１６０は、表示部１６１と、タッチパネル１６５と、ハードキー部１６７とを含む。表示部１６１は、例えば、液晶表示装置（ＬＣＤ）であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。ハードキー部１６７は、「ＢＯＸ」、「ＦＡＸ」、「ＣＯＰＹ」、「ＥＣＯ」の文字がそれぞれ表された４つのハードキー１６７Ａ〜１６７Ｄを含む。タッチパネル１６５は、表示部１６１の上面または下面に表示部１６１に重畳して設けられたマルチタッチ対応のタッチパネルであり、表示部１６１の表示面中でユーザーにより指示された位置を検出する。ユーザーがタッチパネル１６５を指示する操作は、タッチパネル１６５を、同時に複数個所を指で指示するマルチタッチ操作と、一度に１つの個所を指で指示するシングルタッチ操作と、を含む。
【００３６】
自動原稿搬送装置１２０は、原稿給紙トレイ上にセットされた複数枚の原稿を１枚ずつ自動的に原稿読取部１３０のプラテンガラス上に設定された所定の原稿読み取り位置まで搬送し、原稿読取部１３０により原稿画像が読み取られた原稿を原稿排紙トレイ上に排出する。原稿読取部１３０は、原稿読取位置に搬送されてきた原稿に光を照射する光源と、原稿で反射した光を受光する光電変換素子とを含み、原稿のサイズに応じた原稿画像を走査する。光電変換素子は、受光した光を電気信号である画像データに変換して、画像形成部１４０に出力する。給紙部１５０は、給紙トレイに収納された用紙を画像形成部１４０に搬送する。
【００３７】
画像形成部１４０は、周知の電子写真方式により画像を形成するものであって、原稿読取部１３０から入力される画像データにシェーディング補正などの各種のデータ処理を施した、データ処理後の画像データまたは、外部から受信された画像データに基づいて、給紙部１５０により搬送される用紙に画像を形成する。
【００３８】
図３は、ＭＦＰのハードウェア構成の概要の一例を示すブロック図である。図３を参照して、ＭＦＰ１００は、メイン回路１１０を含む。メイン回路１１０は、ＣＰＵ１１１と、通信インターフェース（Ｉ／Ｆ）部１１２と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１３と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１４と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１５と、ファクシミリ部１１６と、外部記憶装置１１７と、を含む。ＣＰＵ１１１は、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０および操作パネル１６０と接続され、ＭＦＰ１００の全体を制御する。
【００３９】
ＲＯＭ１１３は、ＣＰＵ１１１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ１１４は、ＣＰＵ１１１がプログラムを実行する際の作業領域として用いられる。また、ＲＡＭ１１４は、原稿読取部１３０から連続的に送られてくる読取画像を一時的に記憶する。
【００４０】
ファクシミリ部１１６は、公衆交換電話網（ＰＳＴＮ）に接続され、ＰＳＴＮにファクシミリデータを送信する、またはＰＳＴＮからファクシミリデータを受信する。ファクシミリ部１１６は、受信したファクシミリデータを、ＨＤＤ１１５に記憶するか、または、画像形成部１４０でプリント可能なプリントデータに変換して、画像形成部１４０に出力する。これにより、画像形成部１４０は、ファクシミリ部１１６により受信されたファクシミリデータを用紙に画像を形成する。また、ファクシミリ部１１６は、原稿読取部１３０によって読み取られたデータ、またはＨＤＤ１１５に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮに接続されたファクシミリ装置に送信する。
【００４１】
通信Ｉ／Ｆ部１１２は、ネットワークにＭＦＰ１００を接続するためのインターフェースである。通信Ｉ／Ｆ部１１２は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで、ネットワークに接続された他のコンピューターと通信する。なお、通信のためのプロトコルは、特に限定されることはなく、任意のプロトコルを用いることができる。また、通信Ｉ／Ｆ部１１２が接続されるネットワークは、例えば、ローカルエリアネットワーク（ＬＡＮ）であり、接続形態は有線または無線を問わない。またネットワークは、ＬＡＮに限らず、ワイドエリアネットワーク（ＷＡＮ）、公衆交換電話網（Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋｓ）を用いたネットワーク等であってもよい。さらに、ネットワークは、インターネットに接続されている。このため、ＭＦＰ１００は、インターネットに接続されたサーバー等のコンピューターと通信が可能である。
【００４２】
外部記憶装置１１７は、ＣＰＵ１１１により制御され、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１８、または半導体メモリが装着される。ＣＰＵ１１１は、外部記憶装置１１７を介してＣＤ−ＲＯＭ１１８または半導体メモリにアクセス可能である。ＣＰＵ１１１は、外部記憶装置１１７に装表されたＣＤ−ＲＯＭ１１８または半導体メモリに記録されたプログラムをＲＡＭ１１４にロードして実行する。なお、ＣＰＵ１１１が実行するプログラムは、ＣＤ−ＲＯＭ１１８に記録されたプログラムに限られず、ＨＤＤ１１５に記憶されたプログラムをＲＡＭ１１４にロードして実行するようにしてもよい。この場合、通信Ｉ／Ｆ部１１２に接続されるネットワークを介して、ネットワークに接続された他のコンピューターが、ＭＦＰ１００のＨＤＤ１１５に記憶されたプログラムを書換える、または、新たなプログラムを追加して書き込むようにしてもよい。さらに、ＭＦＰ１００が、ネットワークに接続された他のコンピューターからプログラムをダウンロードして、そのプログラムをＨＤＤ１１５に記憶するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１が直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００４３】
なお、ＣＰＵ１１１が実行するプログラムを記憶する媒体としては、ＣＤ−ＲＯＭ１１８に限られず、光ディスク（ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの半導体メモリであってもよい。
【００４４】
操作パネル１６０は、表示部１６１と操作部１６３とを含む。表示部１６１は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等のディスプレイであり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１６３は、タッチパネル１６５と、複数のキーからなるハードキー部１６７と、を含む。ハードキー部１６７が含む複数のキーそれぞれは、接点スイッチを含み、ＣＰＵ１１１に接続される。ハードキーは、操作ユーザーにより押下されると接点を閉じて、ＣＰＵ１１１に接続される回路を閉じる。ハードキーは、ＭＦＰ１００を操作する操作ユーザーにより押下されている間は回路を閉じ、操作ユーザーにより押下されていない間は回路を開く。
【００４５】
操作部１６３は、ハードキー部１６７が有する複数のキーが押下されると、押下されたキーに対応する指示、文字、数字などのデータの入力を受け付ける。タッチパネル１６５は、表示部１６１の上面または下面に設けられ、操作ユーザーにより指示された位置の座標をＣＰＵ１１１に出力する。タッチパネル１６５は、操作ユーザーが指またはスタイラスペンで指示した位置を検出し、検出した位置の座標をＣＰＵ１１１に出力する。タッチパネル１６５は、マルチタッチ対応のタッチパネルであり、ユーザーがマルチタッチ操作を入力する場合、ユーザーにより同時に指示された複数の位置にそれぞれ対応する複数の座標をＣＰＵ１１１に出力する。また、タッチパネル１６５は、ユーザーがシングルタッチ操作を入力する場合に、ユーザーにより指示された単一の位置に対応する座標をＣＰＵ１１１に出力する。
【００４６】
タッチパネル１６５は、表示部１６１の表示面と同じまたはそれ以上のサイズであるのが好ましい。タッチパネル１６５は、表示部１６１に重畳して設けられるので、タッチパネル１６５は、操作ユーザーが表示部１６１の表示面を指示すれば、表示部１６１の表示面中で操作ユーザーが指示した位置の座標をＣＰＵ１１１に出力する。タッチパネル１６５は、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式を用いることができ、その方式は限定されない。
【００４７】
操作部１６３が受け付け可能な操作は、ハードキー部１６７が有する複数のキーを押下する操作、タッチパネル１６５を指示するシングルタッチ操作およびマルチタッチ操作を含む。さらに、ハードキー部１６７は、「ＢＯＸ」、「ＦＡＸ」、「ＣＯＰＹ」、「ＥＣＯ」の文字がそれぞれ表された４つのハードキー１６７Ａ〜１６７Ｄを含む。「ＢＯＸ」、「ＦＡＸ」、「ＣＯＰＹ」の文字がそれぞれ表された３つのハードキー１６７Ａ，１６７Ｂ，１６７Ｃは、ＭＦＰ１００に実行させる処理の切り換えを指示するための処理切換操作が割り当てられた処理切換キーである。「ＥＣＯ」の文字が表されたハードキー１６７Ｄは、ＭＦＰ１００を、通常モードから通常モードよりも消費電力の低い省電力モードへの切換を指示するためのモード切換操作が割り当てられたモード切換キーである。操作部１６３は、ハードキー１６７Ａ，１６７Ｂ，１６７Ｃのいずれかが押下される場合、処理切換操作を受け付け、ハードキー１６７Ｄが押下される場合、モード切換操作を受け付ける。
【００４８】
図４は、ＭＦＰが備えるＣＰＵのソフトウェアアーキテクチャの一例を示す図である。図４を参照して、ＣＰＵ１１１には、オペレーティングシステム（ＯＳ）層が形成され、その上の階層に、ＭＦＰプロセス層が形成される。ＭＦＰプロセス層の上層に、アプリケーションプラットフォーム（ＰＦ）層、アプリケーション層の順に形成される。
【００４９】
ＯＳ層は、ＣＰＵ１１１がＯＳプログラムを実行するタスクが属する。ＯＳ層に属するタスクは、ＭＦＰ１００のハードウェア資源を制御する処理を実行する。ハードウェア資源は、ここでは、通信Ｉ／Ｆ部１１２、ＲＯＭ１１３、ＲＡＭ１１４、ＨＤＤ１１５、ファクシミリ部１１６、外部記憶装置１１７、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０、給紙部１５０、操作パネル１６０を含む。ＯＳ層に属するタスクは、ＭＦＰプロセス層から入力されるオペレーティングコマンドに従って、ハードウェア資源を制御する。また、ＯＳ層は、ＭＦＰプロセス層との間で、ハードウェア資源の１つである操作部１６３が受け付け可能な複数種類の操作それぞれを識別するための操作識別情報を共有しており、ＯＳ層に属するタスクは、操作部１６３によって操作ユーザーによる操作が検出されることに応じて、検出された操作を示す操作識別情報をＭＦＰプロセス層に出力する。
【００５０】
アプリケーション層は、ＣＰＵ１１１がアプリケーションプログラムを実行するタスクが属する。複数種類のアプリケーションプログラムがＭＦＰ１００にインストールされる場合、アプリケーション層に、複数種類のアプリケーションプログラムをそれぞれ実行する複数のタスクが属する場合がある。
【００５１】
アプリケーションプログラムを実行するタスクは、アプリケーションプログラムによって定められた複数種類の処理を実行する。複数種類の処理は、ＭＦＰプロセス層において実行される処理をＭＦＰプロセス層に属するタスクに実行させる処理を含む。アプリケーションプログラムを実行するタスクは、ＭＦＰプロセス層に属するタスクに処理を実行させる場合、アプリコマンドを出力する。アプリコマンドは、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）として、公開されたコマンドである。このため、ＭＦＰ１００に処理を実行させるアプリケーションプログラムを容易に作成することができる。公開とは、ＭＦＰ１００を製造するメーカー以外の第三者が使用可能な状態をいう。このため、第三者は、アプリコマンドを用いてＭＦＰ１００にインストール可能なアプリケーションプログラムを開発することができる。
【００５２】
さらに、アプリケーションプログラムを実行するタスクは、ＭＦＰ１００を操作する操作ユーザーが入力する操作に基づいて、アプリケーションプログラムによって定められた複数種類の処理のうちから実行する処理を特定し、処理を実行する。ＭＦＰ１００を操作する操作ユーザーが入力する操作は、操作ユーザーが操作部１６３を操作して入力することにより、ＯＳ層において受け付けられる。
【００５３】
アプリケーションＰＦ層は、アプリケーション層とＭＦＰプロセス層との間に配置され、アプリケーション層に属する複数のタスクを調停するとともに、アプリケーション層に属する複数のタスクが出力するアプリコマンドを制御するタスクが属する。具体的には、アプリケーションＰＦ層は、アプリケーション層に属する複数のタスクそれぞれが出力するアプリコマンドを受け付け、受け付けられたアプリコマンドを、予め定められた規則に従って内部コマンドに変換することにより標準化し、内部コマンドをＭＦＰプロセス層に出力する。このため、複数のアプリケーションプログラム間で、バージョンが異なる場合等に対応することができる。また、アプリケーションＰＦ層は、アプリケーション層に属する複数のタスクのいずれか１つをカレント状態に決定する。そして、ＯＳ層において受け付けられ、ＭＦＰプロセス層に属するタスクから入力される操作を、アプリケーション層に属する複数のタスクのうちカレント状態に決定したカレントタスクに出力する。
【００５４】
ＯＳ層において受け付けられるユーザーが入力する操作は、１本の指でタッチパネル１６５を指示するシングルタッチ操作と、２本以上の指で同時にタッチパネル１６５を指示するマルチタッチ操作とを含む。シングルタッチ操作およびマルチタッチ操作は、それぞれマウスイベントとしてオペレーティングシステムによって検出され、アプリケーションＰＦ層からアプリケーション層に属する複数のタスクのうちカレントタスクに入力される。また、１以上のマウスイベントは、ＭＦＰプロセス層においてジェスチャーイベントに変換され、アプリケーションＰＦ層からアプリケーション層に属する複数のタスクのうちカレントタスクに入力される。このため、アプリケーション層は、ＭＦＰプロセス層との間で、アプリケーションプログラムにより受け付け可能な１以上のジェスチャーイベントを共有しており、アプリケーションプログラムを実行するタスクは、アプリケーションＰＦ層に属するタスクからアプリケーションプログラムにより受け付け可能な１以上のジェスチャーイベントが入力される。アプリケーションプログラムを実行するタスクは、複数種類の処理のうちジェスチャーイベントまたはマウスイベントのいずれかに対応する処理を実行する。
【００５５】
アプリコマンドと内部コマンドとは予め対応付けられている。例えば、アプリコマンドと内部コマンドとを対応付けたコマンド対応テーブルを記憶しておくようにすればよい。アプリコマンドと内部コマンドとは、１対１に対応してもよいし、１つのアプリコマンドに２以上の内部コマンドの組が対応していてもよい。さらに、バージョンの異なる複数のアプリコマンドに対して、１つの内部コマンド、または複数の内部コマンドからなる１組が対応していてもよい。このため、複数のアプリケーションプログラム間で、バージョンが異なる場合等に対応することができる。内部コマンドは、ＭＦＰ１００のハードウェア資源に依存するコマンドである。内部コマンドは、通常は、公開されていないが、公開されていてもよい。
【００５６】
ＭＦＰプロセス層は、アプリケーションＰＦ層とＯＳ層との間に配置され、ＣＰＵ１１１がＭＦＰプロセスプログラムを実行するタスクが属する。ＭＦＰプロセス層は、アプリケーションＰＦ層に属するタスクが出力する内部コマンドを、ＯＳ層に属するタスクが解釈可能なオペレーティングコマンドに変換し、ハードウェア資源を制御するためにオペレーティングコマンドをＯＳ層に属するタスクに出力する。なお、実際には、内部コマンドを、ＯＳ層に属するタスクが実行可能な１以上のオペレーティングコマンドに変換する場合があるが、ここでは説明のために、内部コマンドとＯＳ層に属するタスクが実行可能な１以上のオペレーティングコマンドとの関係は１対１として、説明する。
【００５７】
上述したように、アプリケーションプログラムは、ＭＦＰ１００に、ブラウジング処理、コピー処理、スキャン処理、プリント処理、ファクシミリ送受信処理、データ送信処理等を実行させるためのアプリケーションプログラムであるが、以下の説明では、アプリケーションプログラムがＣＰＵ１１１に実行させる処理のうちで、操作パネル１６０を制御する処理に関連する部分を主に説明する。
【００５８】
図５は、ＭＦＰが備えるＣＰＵが有する機能の一例を、ＨＤＤに記憶される情報とともに示すブロック図である。図５に示す機能は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶されたプログラムを実行することにより、ＣＰＵ１１１により実現される機能である。具体的には、ＣＰＵ１１１が、ＯＳプログラム、ＭＦＰプロセスプログラム、操作受付プログラム、およびアプリケーションプログラムを実行することにより、ＣＰＵ１１１により実現される。ここでは、ＭＦＰ１００に、アプリケーションプログラムとして、第１アプリケーションプログラムおよび第２アプリケーションプログラムが、インストールされている場合におけるＣＰＵ１１１の機能を示している。
【００５９】
図５を参照して、ＣＰＵ１１１は、アプリケーション部５１と、調停部５３と、操作変換部５５と、オペレーティング部５７と、を含む。アプリケーション部５１は、図４に示したソフトウェアアーキテクチャにおいて、アプリケーション層に属する。アプリケーション部５１は、第１アプリケーションプログラムであるブラウジングプログラムを実行するブラウジング部６１と、ブラウジングプログラムとは別の第２アプリケーションプログラムを実行する副実行部６３と、を含む。
【００６０】
ブラウジング部６１は、表示画像生成部７１と、決定部７３と、選択部７５と、指示部７７と、を含む。表示画像生成部７１は、インターネットに接続されたサーバーからＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等のマークアップ言語で記述されたコンテンツであるＷｅｂページをダウンロードし、Ｗｅｂページを解釈して、Ｗｅｂページに対応する表示画像を生成し、表示画像の少なくとも一部を表示部１６１に表示する。Ｗｅｂページは、ＭＦＰ１００を操作する操作ユーザーが指定したＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）で識別されるＷｅｂページであってもよいし、ブラウジング部６１において予め定められたＵＲＬで識別されるＷｅｂページであってもよい。
【００６１】
具体的には、表示画像生成部７１は、Ｗｅｂページに対応する表示画像の少なくとも一部を表示部１６１に表示するために、アプリコマンドを調停部５３に出力する。これにより、後述するオペレーティング部５７によって、表示部１６１が備えるＶＲＡＭ（Ｖｉｄｅｏ  ＲＡＭ）に表示画像が記憶され、表示画像の少なくとも一部が表示部１６１に表示される。表示画像中で、表示部１６１に表示する部分は、任意に定めることができる。例えば、予め定めておいてもよいし、Ｗｅｂページによって定めるようにしてもよいし、表示画像のサイズと表示部１６１のサイズとから定めるようにしてもよい。
【００６２】
また、表示画像生成部７１は、サーバーから取得されたＷｅｂページが、ブラウジングプログラムとは別の第２アプリケーションプログラムが実行されて生成される埋込画像を表示する記述を含んでいる場合、副実行部６３に起動指示を出力する。これにより、副実行部６３がＣＰＵ１１１に形成される。表示画像生成部７１は、Ｗｅｂページが埋込画像を表示する記述を含んでいる場合、表示画像中で、Ｗｅｂページにより定められた埋込領域には、画像を配置しない。埋込領域は、表示画像中で埋込画像を配置する領域である。
【００６３】
起動指示は、表示画像中の埋込領域の位置を示す位置情報を含む。また、起動指示は、Ｗｅｂページとは別の埋込コンテンツを特定するコンテンツ識別情報を含む場合がある。コンテンツ識別情報は、例えば、ネットワークアドレスであり、好ましくは、ＵＲＬである。
【００６４】
副実行部６３は、表示画像生成部７１から起動指示が入力されることに応じて起動する。副実行部６３は、ＪＡＶＡ（登録商標）、ＪＡＶＡＳＣＲＩＰＴ（登録商標）等のオブジェクト指向プログラミング言語で記述されたプログラムを実行する。副実行部６３は、ブラウジングプログラムとは別の第２アプリケーションプログラムを実行する場合と、ブラウジングプログラムとは別の第２アプリケーションプログラムを、ネットワークを介して接続された外部のコンピューターであるサーバーに実行させる場合とがある。
【００６５】
副実行部６３が、第２アプリケーションプログラムをネットワークに接続されたサーバーに実行させる場合、副実行部６３は、ブラウジング部６１に含まれる場合と、ブラウジング部６１に含まれない場合がある。副実行部６３がブラウジング部６１に含まれる場合は、例えば、副実行部６３が、ＪＡＶＡＳＣＲＩＰＴ（登録商標）で記述されたアプリケーションプログラムを実行する場合である。この場合、ＪＡＶＡＳＣＲＩＰＴ（登録商標）で記述されたアプリケーションプログラムが、第１アプリケーションプログラムであるブラウジングプログラム中に記述される。副実行部６３がブラウジング部６１に含まれない場合は、例えば、副実行部６３が、ＪＡＶＡ（登録商標）で記述されたアプリケーションプログラムを実行する場合である。この場合、ＪＡＶＡ（登録商標）で記述されたアプリケーションプログラムは、第１アプリケーションプログラムであるブラウジングプログラムとは別のプログラムである。
【００６６】
副実行部６３は、サーバーが実行する第２アプリケーションプログラムにより定まるコンテンツの画像を埋込画像として取得する。副実行部６３は、サーバーによって第２アプリケーションプログラムによって予め定められた処理を実行させるために処理リクエストをサーバーに送信する。そして、副実行部６３は、サーバーが処理リクエストに従って処理を実行することにより生成される画像をサーバーから受信し、受信される画像を埋込画像として取得する。サーバーによって表示するコンテンツが決定される場合には、処理リクエストはコンテンツ識別情報を含む必要はない。逆に、Ｗｅｂページでコンテンツを特定するようにして、サーバーに起動指示に含まれるコンテンツ識別情報を含む処理リクエストを送信し、サーバーにコンテンツ識別情報で特定されるコンテンツを処理させ、コンテンツの画像を返信させるようにしてもよい。なお、副実行部６３が処理を実行させるサーバーは、ブラウジング部６１がＷｅｂページをダウンロードしたサーバーと同じであってもよいし、それとは異なるサーバーであってもよい。
【００６７】
また、副実行部６３が、ブラウジングプログラムとは別の第２アプリケーションプログラムを実行する場合、第２アプリケーションプログラムは、ブラウジングプログラムとは別のアプリケーションプログラムであり、例えば、コンテンツである静止画または動画を生成する再生プログラムである。副実行部６３は、第２アプリケーションプログラムである再生プログラムを実行し、起動指示に含まれるコンテンツ識別情報で特定されるコンテンツの画像を再生する処理をＣＰＵ１１１に実行させる。
【００６８】
副実行部６３は、サーバーから受信されるコンテンツの画像、または、第２アプリケーションプログラムを実行することにより生成されるコンテンツの画像を埋込画像として表示部１６１に表示する。具体的には、副実行部６３は、埋込画像を表示画像の埋込領域に配置するために、アプリコマンドを調停部５３に出力する。また、副実行部６３は、ブラウジング部６１に表示要求を出力する。これにより、後述するオペレーティング部５７によって、表示部１６１が備えるＶＲＡＭに記憶された表示画像中の埋込領域に埋込画像が記憶される。アプリコマンドは、実行指示に含まれる位置情報を含む。
【００６９】
なお、ブラウジング部６１および副実行部６３が実行するアプリケーションプログラムは、これらに限定されることなく、ＭＦＰ１００にコピー処理、スキャン処理、プリント処理、ファクシミリ送受信処理、データ送受信処理等を実行させるために、ユーザーインターフェース等をカスタマイズするためのプログラムであってもよい。
【００７０】
調停部５３および操作変換部５５は、ＣＰＵ１１１が操作受付プログラムを実行するタスクによって実現される機能である。調停部５３は、図４に示したソフトウェアアーキテクチャにおいて、アプリケーションＰＦ層に属する。操作変換部５５は、図４に示したソフトウェアアーキテクチャにおいて、アプリケーションＰＦ層に属する。なお、操作変換部５５が有する機能のすべてをアプリケーションＰＦ層の機能としたが、操作変換部５５が有する機能の少なくとも一部をアプリケーションＰＦ層の機能とし、他の部分をＭＦＰプロセス層の機能としてもよい。
【００７１】
調停部５３は、アプリケーション部５１においてアプリケーションプログラムを実行するタスクが複数の場合、複数のタスクのうちいずれか１つをカレント状態に決定する。以下、調停部５３が、カレント状態に決定しているタスクをカレントタスクという。本実施の形態においては、アプリケーション部５１がブラウジング部６１と副実行部６３とを含み、副実行部６３は、ブラウジング部６１によって起動されるので、ブラウジング部６１をカレントタスク状態に決定する。
【００７２】
調停部５３は、ブラウジング部６１および副実行部６３それぞれが出力するアプリコマンドが入力され、アプリコマンドを出力したタスクを識別するためのアプリ識別情報とアプリコマンドとを操作変換部５５に出力する。
【００７３】
調停部５３は、ブラウジング部６１および副実行部６３から複数のアプリコマンドが出力される場合、それらの順番を決定し、順に操作変換部５５に出力する。例えば、複数のアプリコマンドを同時に実行できない場合に、一方のアプリコマンドの操作変換部５５による実行が終了するのを待って他方のアプリコマンドを操作変換部５５に出力する。また、一方のアプリコマンドを実行した後でなければ、他方のアプリコマンドを実行できない場合には、他方のアプリコマンドが一方のアプリコマンドより先に入力される場合であっても、一方のアプリコマンドを先に出力する。
【００７４】
操作変換部５５は、調停部５３からアプリコマンドが入力され、アプリコマンドをコマンド対応テーブルに従って内部コマンドに変換することにより標準化する。コマンド対応テーブルは、１つのアプリコマンドに１以上の内部コマンドを対応付ける。コマンド対応テーブルに含まれるアプリコマンドは、バージョンの異なる同種類のアプリコマンドを含む場合があり、この場合、異なるバージョンのアプリコマンドそれぞれを１以上の内部コマンドに対応付ける。このため、異なるバージョンのアプリコマンドを記述したアプリケーションプログラムをインストールすることを可能としている。コマンド対応テーブルは、新しいアプリコマンドが登場する場合に、新たに登場したアプリコマンドに１以上の内部コマンドを対応付けたコマンド対応テーブルで更新される。このため、新しいアプリコマンドを記述したアプリケーションプログラムをインストールすることができる。
【００７５】
さらに、操作変換部５５は、標準化された内部コマンドを、オペレーティングコマンドに変換し、オペレーティングコマンドをオペレーティング部５７に出力する。オペレーティングコマンドは、操作変換部５５とオペレーティング部５７との間で予め定められた、オペレーティング部５７が解釈可能なコマンドである。
【００７６】
オペレーティング部５７は、ＣＰＵ１１１がＯＳプログラムを実行するタスクによって実行される機能である。オペレーティング部５７は、図４に示したソフトウェアアーキテクチャにおいて、ＯＳ層に属する。
【００７７】
オペレーティング部５７は、操作変換部５５が出力するオペレーティングコマンドが入力され、オペレーティングコマンドに従って、ハードウェア資源を制御する。ハードウェア資源として、ここでは、表示部１６１、操作部１６３のタッチパネル１６５およびＨＤＤ１１５を例に説明する。オペレーティング部５７は、表示部１６１を制御して、表示部１６１に画像を表示させる。また、オペレーティング部５７は、ＨＤＤ１１５を制御して、ＨＤＤ１１５にデータを記憶させ、また、ＨＤＤ１１５に記憶されたデータを読み出す。さらに、オペレーティング部５７は、所定時間間隔でタッチパネル１６５にユーザーにより指示された位置を検出させ、タッチパネル１６５から所定時間間隔で位置情報を取得する。
【００７８】
タッチパネル１６５は、操作ユーザーが表示部１６１の表示面を指示すれば、操作ユーザーにより指示された位置を検出し、表示部１６１の表示面の位置を示す位置情報をＣＰＵ１１１に出力する。オペレーティング部５７は、タッチパネル１６５から位置情報が入力される場合、位置情報を操作変換部５５に出力する。オペレーティング部５７は、タッチパネル１６５から同時に２以上の位置情報が入力される場合がある。例えば、操作ユーザーが、表示部１６１の表示面の異なる２つの部分を、２つの指で同時に指示する場合、指示された表示面の２つの位置をそれぞれ示す２つの位置情報を受け付ける。オペレーティング部５７は、タッチパネル１６５から同時に２以上の位置情報を受け付ける場合、２以上の位置情報を、操作変換部５５に出力する。
【００７９】
操作変換部５５は、関連付部８１と、ジェスチャーイベント決定部８３と、マウスイベント生成部８５と、表示制御部８７と、を含む。関連付部８１は、ブラウジングプログラムがインストールされる段階で、ブラウジングプログラムが定める複数種類の処理それぞれを、複数のジェスチャーイベントのいずれかと関連付ける。具体的には、関連付部８１は、ブラウジングプログラムが定める複数の処理識別情報それぞれに、ブラウジングプログラムが受け付け可能なジェスチャーイベントを関連付けたマスターテーブルを生成し、ＨＤＤ１１５に記憶する。
【００８０】
図６は、マスターテーブルの一例を示す図である。図６を参照して、マスターテーブル９１は、複数の処理識別情報ごとにマスターレコードを含む。マスターレコードは、処理の項目と、ジェスチャーの項目と、を含む。処理の項目には、処理識別情報が設定され、ジェスチャーの項目には、ジェスチャーイベントを識別するためのジェスチャー識別情報が設定される。
【００８１】
例えば、処理の項目に処理識別情報「ページ送り」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「スワイプ」が設定される。処理識別情報「ページ送り」で特定される処理は、画面を次のページの画面に変更して表示させる処理である。ジェスチャー識別情報「スワイプ」で特定されるジェスチャーイベントは、タッチパネル１６５を指示しながら、上下左右のいずれかに指を所定の速さより速い速さで移動させるユーザーの操作に対応する。指を所定の速さより速い速さで移動させる操作は、指を移動させる方向が定まるため、ジェスチャー識別情報「スワイプ」で特定されるジェスチャーイベントは、指を移動させる方向をパラメータに含む。
【００８２】
処理の項目に処理識別情報「拡大」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「ピンチアウト」が設定される。処理識別情報「拡大」で特定される処理は、画面を拡大して表示させる処理である。ジェスチャー識別情報「ピンチアウト」で特定されるジェスチャーイベントは、タッチパネル１６５の２箇所を指示しながら、指示した２個所の少なくとも一方を、２箇所の間隔が長くなるように移動させる操作に対応する。２箇所の間隔が長くなるように移動させる操作は、２箇所の間隔が変化するため、ジェスチャー識別情報「ピンチアウト」で特定されるジェスチャーイベントは、２箇所の間隔が変化の割合を倍率としたパラメータに含む。
【００８３】
処理の項目に処理識別情報「縮小」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「ピンチイン」が設定される。処理識別情報「縮小」で特定される処理は、画面を縮小して表示させる処理である。ジェスチャー識別情報「ピンチイン」で特定されるジェスチャーイベントは、タッチパネル１６５の２箇所を指示しながら、指示した２個所の少なくとも一方を、２箇所の間隔が短くなるように移動させる操作に対応する。２箇所の間隔が短くなるように移動させる操作は、２箇所の間隔が変化するため、ジェスチャー識別情報「ピンチイン」で特定されるジェスチャーイベントは、２箇所の間隔が変化の割合を倍率としたパラメータに含む。
【００８４】
処理の項目に処理識別情報「回転」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「ローテーション」が設定される。処理識別情報「回転」で特定される処理は、画面を回転して画面の方向を変更する処理である。ジェスチャー識別情報「ローテーション」で特定されるジェスチャーイベントは、タッチパネル１６５の２箇所を指示しながら、指示した２個所の少なくとも一方を、２箇所を結ぶ直線の向きが変更されるように移動させる操作が入力される場合に検出される。例えば、２箇所の一方を中心に他方で円弧を描く操作である。円弧を描く方向が時計回りと反時計回りとがあるため、ジェスチャー識別情報「ローテーション」で特定されるジェスチャーイベントは、時計回りと反時計回りのいずれかを方向としたパラメータに含む。
【００８５】
処理の項目に処理識別情報「スクロール」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「フリック」が設定される。処理識別情報「スクロール」で特定される処理は、画面を上下左右にスクロールさせる処理である。ジェスチャー識別情報「フリック」で特定されるジェスチャーイベントは、タッチパネル１６５を指示しながら、上下左右のいずれかに指をスワイプのジェスチャーイベントの操作におけるしきい値より遅い速さで移動させる操作に対応する。指をしきい値より遅い速さで移動させる操作は、指を移動させる方向が定まるため、ジェスチャー識別情報「フリック」で特定されるジェスチャーイベントは、指を移動させる方向をパラメータに含む。
【００８６】
処理の項目に処理識別情報「コンテンツ選択」が設定されたマスターレコードは、ジェスチャーの項目にジェスチャー識別情報「ダブルタップ」が設定される。処理識別情報「コンテンツ選択」で特定される処理は、コンテンツを選択する処理である。
図５に戻って、表示制御部８７は、ブラウジング部６１または副実行部６３から入力されるアプリコマンドを、表示部１６１に画像を表示させるためのオペレーティングコマンドに変換し、オペレーティング部５７に出力する。これにより、ブラウジング部６１によって生成された表示画像および副実行部６３により生成される埋込画像が、表示部１６１のＶＲＡＭに記憶され、表示部１６１に表示画像の少なくとも一部が表示される。
【００８７】
マウスイベント生成部８５は、オペレーティング部５７から位置情報が入力されることに応じてマウスイベントを生成する。さらに、マウスイベント生成部８５は、マウスイベントを生成するごとに、生成されたマウスイベントをジェスチャーイベント決定部８３および調停部５３を介しておよびブラウジング部６１に出力する。マウスイベント生成部８５は、オペレーティング部５７から複数の位置情報が同時に入力される場合、複数の位置情報それぞれに対応する複数のマウスイベントを生成する。マウスイベント生成部８５は、１以上のマウスイベントを生成する場合、生成された１以上のマウスイベントをジェスチャーイベント決定部８３およびブラウジング部６１に出力する。位置情報は、操作ユーザーが指示した表示部１６１の表示面中の位置を示す。
【００８８】
操作ユーザーが表示部１６１の表示面を指示する操作は、ユーザーが表示部１６１の表示面の任意の位置を指示する指示開始操作、ユーザーが表示部１６１の表示面を指示しながら、換言すれば、表示部１６１の表示面に触れながら指示する位置を移動させる移動操作、ユーザーが表示部１６１の表示面の指示を終了する終了操作、を含む。マウスイベント生成部８５は、オペレーティング部５７から位置情報が入力されると、操作ユーザーによる操作が、指示開始操作、移動操作、終了操作のいずれであるかを判断する。上述したように、オペレーティング部５７は、タッチパネル１６５から位置情報が出力されるごとに、その位置情報を出力するので、時間の経過とともに連続して入力される位置情報の連続性に基づいて、操作ユーザーによる操作が、指示開始操作、移動操作、終了操作のいずれであるかを判断する。
【００８９】
マウスイベント生成部８５は、オペレーティング部５７から位置情報が入力されていない状態が所定時間経過した後に入力される位置情報に対して、操作ユーザーによる操作が指示開始操作と判断し、位置情報と、指示開始操作を識別するための状態識別情報「Ｐｒｅｓｓ」とを含むマウスイベントを生成する。
【００９０】
マウスイベント生成部８５は、状態識別情報「Ｐｒｅｓｓ」のマウスイベントを検出した後、オペレーティング部５７から連続して１以上位置情報が入力される場合、１以上の位置情報それぞれに対して、操作ユーザーによる操作が移動操作と判断する。マウスイベント生成部８５は、オペレーティング部５７から連続して入力される１以上の位置情報それぞれに対して、その位置情報と移動操作を識別するための状態識別情報「Ｍｏｖｅ」とを含むマウスイベントを生成する。
【００９１】
マウスイベント生成部８５は、状態識別情報「Ｍｏｖｅ」のマウスイベントを検出した後、オペレーティング部５７から位置情報が入力されなくなる場合、最後に入力された位置情報に対して、操作ユーザーによる操作が終了操作と判断し、最後に入力された位置情報と、終了操作を識別するための状態識別情報「Ｒｅｌｅａｓｅ」とを含むマウスイベントを生成する。
【００９２】
より具体的には、マウスイベント生成部８５は、オペレーティング部５７から第１の時に入力される位置情報と、第１の時よりも所定時間後の第２の時に入力される位置情報とに基づいて、マウスイベントの状態を決定する。マウスイベント生成部８５は、第１の時に入力される位置情報に対して、第１の時よりも所定時間前に、第１の時に入力される位置情報で特定される位置から所定の距離の範囲内の位置を示す位置情報が入力されていない場合には、第１の時に入力される位置情報に対するマウスイベントの状態を「Ｐｒｅｓｓ」に決定する。マウスイベント生成部８５は、第１の時に入力される位置情報で特定される位置が、第２の時に入力される位置情報で特定される位置から所定の距離の範囲内に存在しない場合には、第２の時に入力される位置情報に対するマウスイベントの状態を「Ｐｒｅｓｓ」に決定する。
【００９３】
また、マウスイベント生成部８５は、第１の時に入力される位置情報で特定される位置が、第２の時に入力される位置情報で特定される位置から所定の距離の範囲内に存在する場合には、第２の時に入力される位置情報に対するマウスイベントの状態を「Ｍｏｖｅ」に決定する。さらに、状態検出部７６は、第１の時に入力される位置情報で特定される位置から所定の距離の範囲内の位置情報が、第２の時に入力されない場合には、第２の時において第１の時に入力されていた位置情報に対するマウスイベントの状態を「Ｒｅｌｅａｓｅ」に決定する。
【００９４】
ジェスチャーイベント決定部８３は、マウスイベント生成部８５から連続して入力される複数のマウスイベントに基づいてジェスチャーイベントを決定する。ジェスチャーイベント決定部８３は、マウスイベント生成部８５から同時に１つのマウスイベントが連続して入力される場合、最初の第１のマウスイベントが入力されてから所定時間経過後に入力される第２のマウスイベントを特定し、第１のマウスイベントで特定される位置と、第２のマウスイベントで特定される位置との間の距離が所定の距離以上の場合に、ジェスチャーイベントを決定するが、２つの位置の間の距離が所定の距離より小さい場合にはジェスチャーイベントを決定しない。所定の時間は、任意に定めることができる。所定の時間は、たとえば、タッチパネル１６９が位置を検出する間隔の数倍とすることができる。また、所定の距離は、任意に定めることができるが、たとえば、４０ピクセルとするのが好ましい。
【００９５】
ジェスチャーイベント決定部８３は、マウスイベント生成部８５から同時に２以上のマウスイベントが入力される場合、２以上のマウスイベントに基づいてジェスチャーイベントを決定する。したがって、ユーザーが、マルチタッチ操作を入力する場合、ジェスチャーイベント決定部８３は、ジェスチャーイベントを決定する。具体的には、ジェスチャーイベント決定部８３は、マウスイベント生成部８５から第１のマウスイベントと第２のマウスイベントの２つが同時に入力される場合、第１のマウスイベントに対して連続して入力される複数のマウスイベントの第１の組と、第２のマウスイベントに対して連続して入力される複数のマウスイベントの第２の組と、に基づいてジェスチャーイベントを決定する。ジェスチャーイベント決定部８３は、決定されたジェスチャーイベントを処理特定部７９に出力する。第１の組に含まれる複数のマウスイベントは、位置情報が同じか、または位置情報が連続している。連続とは、２つの位置情報が隣接する位置を示すことをいう。第２の組に含まれる複数のマウスイベントは、位置情報が同じか、または位置情報が連続している。このため、ジェスチャーイベント決定部８３は、同時に入力される複数のマウスイベントが、第１の組と第２の組のいずれに属するかを、それらに含まれる位置情報で判断する。
【００９６】
ジェスチャーイベント決定部８３は、マウスイベント生成部８５から連続してマウスイベントが入力される場合、最初に入力されるマウスイベントの状態識別情報は「Ｐｒｅｓｓ」である。そして、ジェスチャーイベント決定部８３は、状態識別情報が「Ｍｏｖｅ」のマウスイベントが入力されると、状態識別情報が「Ｐｒｅｓｓ」のマウスイベントの位置情報と、状態識別情報が「Ｍｏｖｅ」のマウスイベントの位置情報とから２点間の距離を算出し、距離が所定のしきい値ＴＨ以上ならばユーザーによるスワイプ操作を検出し、距離が所定のしきい値ＴＨより短ければユーザーによるフリック操作を検出する。また、複数のマウスイベントが入力される場合は、最初の複数のマウスイベントによってユーザーによるスワイプ操作が検出され、後の複数のマウスイベントによってユーザーによるフリック操作が検出される場合がある。ジェスチャーイベント決定部８３は、スワイプ操作およびフリック操作を検出する場合、最初の位置情報で特定される位置から後の位置情報で特定される位置に向かう方向を算出し、表示部１６１の表示面を基準に上下左右の４方向のうち算出された方向に最も近い方向をパラメータとして決定し、パラメータを含むジェスチャー識別情報を決定する。スワイプ操作を検出する場合には、ジェスチャー識別情報「スワイプ」のジェスチャーイベントは、方向を示すパラメータを含む。フリック操作を検出する場合には、ジェスチャー識別情報「フリック」のジェスチャーイベントは、方向を示すパラメータを含む。
【００９７】
ジェスチャーイベント決定部８３は、マウスイベント生成部８５から同時に２つのマウスイベントが入力される場合、最初に入力される２つのマウスイベントそれぞれの状態は「Ｐｒｅｓｓ」である。この場合に、２つのマウスイベントそれぞれに含まれる位置情報に基づいて、２点間の距離Ｌ１および２点間を結ぶ直線の角度Ｒ１を算出する。２点間を結ぶ直線の角度は、表示部１６１の横方向を基準線として、２点間を結ぶ直線が基準線となす角度とすればよい。２点間を結ぶ直線と基準線とのなす角度は、基準線から時計回りになす角度である。そして、ジェスチャーイベント決定部８３は、その後に連続して入力される２つのマウスイベントの位置情報に基づいて、２点間の距離Ｌ２および２点間を結ぶ直線の角度Ｒ２を算出する。
【００９８】
ジェスチャーイベント決定部８３は、角度Ｒ１と角度Ｒ２とが同じで、かつ、距離Ｌ２と距離Ｌ１と異なれば、ユーザーによるピンチアウト操作またはピンチイン操作を検出する。角度Ｒ１と角度Ｒ２とが同じとは、角度Ｒ１と角度Ｒ２との差が所定の範囲内の場合を含む。ユーザーの指の動きを検出するために、誤差を含む。距離Ｌ２が距離Ｌ１より大きければピンチアウト操作を検出し、距離Ｌ２が距離Ｌ１より小さければピンチイン操作を検出する。ジェスチャーイベント決定部８３は、ピンチアウト操作またはピンチイン操作を検出する場合、距離Ｌ２を距離Ｌ１で除算することによって倍率を算出し、算出された倍率をパラメータとして決定し、パラメータを含むジェスチャー識別情報を決定する。ピンチアウト操作を検出する場合には、ジェスチャー識別情報「ピンチアウト」のジェスチャーイベントは、倍率を示すパラメータを含み、ピンチイン操作を検出する場合には、ジェスチャー識別情報「ピンチイン」のジェスチャーイベントは、倍率を示すパラメータを含む。
【００９９】
ジェスチャーイベント決定部８３は、角度Ｒ１と角度Ｒ２とが異なる場合、ユーザーによるローテーション操作を検出する。角度Ｒ１と角度Ｒ２とが異なるとは、角度Ｒ１と角度Ｒ２との差が所定の範囲外の場合である。ユーザーの指の動きを検出するために、誤差を含む。ジェスチャーイベント決定部８３は、ローテーション操作を検出する場合、角度Ｒ２から角度Ｒ１を減算することによって回転方向を決定し、決定された回転方向をパラメータとして決定し、パラメータを含むジェスチャー識別情報を決定する。角度Ｒ２から角度Ｒ１を減算した値がプラスならば回転方向は時計回りであり、角度Ｒ２から角度Ｒ１を減算した値がマイナスならば回転方向は反時計回りである。ジェスチャー識別情報「ローテーション」のジェスチャーイベントは、回転方向を示すパラメータを含む。
【０１００】
ジェスチャーイベント決定部８３は、ジェスチャーイベントを決定する場合、ＨＤＤ１１５から、調停部５３によって設定されているカレントタスクのアプリ識別情報に対応するマスターテーブル９１を読み出す。具体的には、マスターテーブル９１を読み出すためのオペレーティングコマンドをオペレーティング部５７に出力し、オペレーティング部５７がＨＤＤ１１５を制御して読み出すマスターテーブル９１を取得する。以下、ブラウジング部６１がカレントタスクの場合について説明する。
【０１０１】
ジェスチャーイベント決定部８３は、ジェスチャーイベントを決定することに応じて、ジェスチャーイベントに基づいて、マスターテーブル９１において定められている複数種類の処理のうちから調停部５３によってカレント状態に設定されているアプリケーションプログラムに対応して関連付けられた処理を特定する。ここでは、調停部５３によってブラウジング部６１がカレントタスクに設定されているので、ジェスチャーイベント決定部８３は、ジェスチャーイベントと、マスターテーブル９１によって関連付けられた処理を特定する。より具体的には、ジェスチャーイベント決定部８３は、決定されたジェスチャーイベントのジェスチャー識別情報がジェスチャーの項目に設定されたマスターレコードを、マスターテーブル９１から抽出し、抽出されたマスターレコードの処理の項目に設定されている処理識別情報を取得する。ジェスチャーイベント決定部８３は、処理識別情報が取得される場合、決定されたジェスチャーイベントを調停部５３に出力するが、処理識別情報が取得されない場合、決定されたジェスチャーイベントを調停部５３に出力しない。また、ジェスチャーイベント決定部８３は、マウスイベント生成部８５から同時に１つのマウスイベントが連続して入力される場合であって、ジェスチャーイベントを決定しない場合、ジェスチャーイベントを決定しないことを示す未決定信号を調停部５３に出力する。
【０１０２】
ジェスチャーイベント決定部８３は、調停部５３によってカレント状態に設定されているブラウジング部６１が実行可能な処理に対応するジェスチャーイベントのみを調停部５３に出力し、調停部５３は、ジェスチャーイベントをカレントタスクであるブラウジング部６１に出力する。このため、タッチパネル１６５に入力される操作であって、複数のマウスイベントの組で特定されるジェスチャーイベントを、ブラウジングプログラムを実行するブラウジング部６１に実行させることができる。換言すれば、ブラウジングプログラムを開発する段階で、ＭＦＰ１００においてタッチパネル１６５で受け付け可能なジェスチャーイベントを意識することなく開発することができる。例えば、ローテーション操作を受け付けないブラウジングプログラムを開発することができる。
【０１０３】
調停部５３は、マウスイベント生成部８５からマウスイベントが入力され、ジェスチャーイベント決定部８３からジェスチャーイベントが入力され、それらをアプリケーション部５１がアプリケーションプログラムを実行する複数のタスクのうちカレントタスクに出力する。ここでは、アプリケーション部５１は、ブラウジング部６１と、副実行部６３とを含み、副実行部６３はブラウジング部６１によって起動されるため、調停部５３は、ブラウジング部６１をカレント状態に設定する。このため、ブラウジング部６１がカレントタスクである。調停部５３は、マウスイベント生成部８５からマウスイベントが入力されることに応じて、マウスイベントをブラウジング部６１に出力する。調停部５３は、ジェスチャーイベント決定部８３からジェスチャーイベントが入力されることに応じて、ジェスチャーイベントをブラウジング部６１に出力する。
【０１０４】
ブラウジング部６１は、マウスイベント生成部８５が出力するマウスイベントが調停部５３から入力され、ジェスチャーイベント決定部８３が出力するジェスチャーイベントが調停部５３から入力される。ジェスチャーイベントは、１以上のマウスイベントの組から決定されるため、ジェスチャーイベントと、ジェスチャーイベントを決定する１以上のマウスイベントの組とは、操作ユーザーが入力する１回のシングルタッチ操作または１回のマルチタッチ操作に対して、同時に発生する。
【０１０５】
ブラウジング部６１は、ＭＦＰ１００を操作する操作ユーザーがタッチパネル１６５に入力するシングルタッチ操作またはマルチタッチ操作のうちジェスチャーイベントが決定されるシングルタッチ操作またはマルチタッチ操作に従って、ブラウジングプログラムによって定められた複数種類の処理のうちから実行する処理を特定し、処理を実行する。
【０１０６】
ブラウジング部６１が実行する複数種類の処理は、表示部１６１に表示する画像を変化させる処理を含む。画面を変化させる処理は、例えば、表示する画像を別のコンテンツの画像に変更する処理、表示部１６１に画像の一部が表示されている場合には、画像のうち表示部１６１に表示する部分を変更するスクロール処理、ページ送り処理、画像を拡大して表示する拡大処理、画像を縮小して表示する縮小処理、画像の方向を変更する回転処理を含む。
【０１０７】
また、副実行部６３は、ＭＦＰ１００を操作する操作ユーザーがタッチパネル１６５に入力するシングルタッチ操作のうち埋込領域内に入力され、かつ、ジェスチャーイベントが決定されないシングルタッチ操作に従って、処理を実行する。具体的には、副実行部６３が、ブラウジングプログラムとは別の第２アプリケーションプログラムを実行する場合、ブラウジングプログラムとは別の第２アプリケーションプログラムによって定められた複数種類の処理のうちから実行する処理を特定し、特定された処理を実行する。この場合において、副実行部６３が実行する複数種類の処理は、表示部１６１に表示する画像を変化させる処理を含む。画面を変化させる処理は、例えば、表示する画像を別のコンテンツの画像に変更する処理、表示部１６１に画像の一部が表示されている場合には、画像のうち表示部１６１に表示する部分を変更するスクロール処理、ページ送り処理、画像を拡大して表示する拡大処理、画像を縮小して表示する縮小処理、画像の方向を変更する回転処理を含む。
【０１０８】
また、副実行部６３は、ブラウジングプログラムとは別の第２アプリケーションプログラムを、ネットワークを介して接続された外部のコンピューターであるサーバーに実行させる場合、シングルタッチ操作に対応するマウスイベントを含む処理リクエストを、サーバーに送信する。
【０１０９】
ブラウジング部６１が備える選択部７５は、マウスイベントとジェスチャーイベントとのいずれか一方を選択する。選択部７５は、マウスイベントを選択する場合は、マウスイベントを指示部７７に出力し、ジェスチャーイベントを選択する場合は、ジェスチャーイベントを決定部７３に出力する。
【０１１０】
選択部７５にジェスチャーイベントが入力される場合には、それ以前にジェスチャーイベントを決定する基になった１以上のマウスイベントが入力される。選択部７５は、ジェスチャーイベント決定部８３から調停部７５を介してジェスチャーイベントが入力されるまで、または、ジェスチャーイベント決定部８３からジェスチャーイベントを決定しないことを示す信号が調停部７５を介して入力されるまで、マウスイベント生成部８１から調停部７５を介して入力されるマウスイベントを一時的に記憶する。選択部７５は、調停部５３から同時に１つのマウスイベントが入力される場合と、同時に２つのマウスイベントが入力される場合と、がある。ユーザーがシングルタッチ操作を入力した場合に、１つのマウスイベントが入力され、ユーザーがマルチタッチ操作を入力した場合に、複数のマウスイベントが入力される。
【０１１１】
＜シングルタッチ操作の場合＞
選択部７５は、調停部５３からマウスイベントが入力される場合、そのマウスイベントに含まれる位置情報で示される位置が、表示画像生成部７１によって生成された表示画像中の埋込領域内か否かを判断する。選択部７５は、マウスイベントに含まれる位置情報で示される位置が埋込領域内であって、ジェスチャーイベント決定部８３からジェスチャーイベントを決定しないことを示す信号が調停部７５を介して入力される場合、マウスイベントを選択する。また、選択部７５は、マウスイベントに含まれる位置情報で示される位置が埋込領域内であって、ジェスチャーイベント決定部８３からジェスチャーイベントが調停部７５を介して入力される場合、ジェスチャーイベントが所定の種類ならばマウスイベントを選択せず、ジェスチャーイベントが所定の種類でなければマウスイベントを選択する。さらに、選択部７５は、マウスイベントに含まれる位置情報で示される位置が埋込領域外の場合、マウスイベントを選択しない。
【０１１２】
また、選択部７５は、マウスイベントに含まれる位置情報で示される位置が埋込領域外ならばジェスチャーイベントを選択する。選択部７５は、マウスイベントに含まれる位置情報で示される位置が埋込領域内であって、ジェスチャーイベント決定部８３からジェスチャーイベントが調停部７５を介して入力される場合、ジェスチャーイベントが所定の種類ならばジェスチャーイベントを選択するが、ジェスチャーイベントが所定の種類でなければジェスチャーイベントを選択しない。  所定の種類のジェスチャーイベントは、ブラウジングプログラムによって、予め定められている。本実施の形態においては、図６に示したマスターテーブル９１において、ブラウジングプログラムによって受付可能なジェスチャーイベントとして、スワイプ、ピンチアウト、ピンチイン、ローテーション、フリック、ダブルタップとしている。所定の種類は、ブラウジングプログラムによって受付可能なジェスチャーイベントのうちから任意に定めることができる。たとえば、スワイプ、ピンチアウト、ピンチイン、ローテーションおよびフリックを所定の種類のジェスチャーイベントとすることができる。この場合、ダブルタップは、所定の種類のジェスチャーイベントではない。
【０１１３】
＜マルチタッチ操作の場合＞
選択部７５は、調停部５３から同時に複数のマウスイベントが入力される場合、マウスイベントを選択しない。また、選択部７５は、同時に複数のマウスイベントが入力される場合、複数のマウスイベントそれぞれに含まれる位置情報で示される位置に係らず、ジェスチャーイベント決定部８３からジェスチャーイベントが調停部７５を介して入力されると、そのジェスチャーイベントを選択する。さらに、選択部７５は、マウスイベントに含まれる位置情報で示される位置が埋込領域外の場合、マウスイベントを選択しない。
【０１１４】
また、選択部７５は、マウスイベントに含まれる位置情報で示される位置が埋込領域外ならばジェスチャーイベントを選択する。選択部７５は、マウスイベントに含まれる位置情報で示される位置が埋込領域内であって、ジェスチャーイベント決定部８３からジェスチャーイベントが調停部７５を介して入力される場合、ジェスチャーイベントが所定の種類ならばジェスチャーイベントを選択するが、ジェスチャーイベントが所定の種類でなければジェスチャーイベントを選択しない。
【０１１５】
指示部７７は、選択部７５からマウスイベントが入力される場合、マウスイベントを副実行部６３に出力する。副実行部６３は、ブラウジングプログラムとは別の第２アプリケーションプログラムを、ネットワークを介して接続された外部のコンピューターであるサーバーに実行させる場合、指示部７７からマウスイベントが入力されることに応じて、サーバーにマウスイベントを含む処理リクエストを送信し、サーバーから受信される画像で、埋込画像を更新する。具体的には、表示部１６１が備えるＶＲＡＭにサーバーから受信される画像を上書きするアプリコマンドを表示制御部８７に出力する。これにより、表示部１６１が備えるＶＲＡＭに記憶されている表示画像の埋込領域が、サーバーから受信される画像で上書きされる。
【０１１６】
また、副実行部６３が、ブラウジングプログラムとは別の第２アプリケーションプログラムを実行する場合、副実行部６３は、第２アプリケーションプログラムによって定められた複数種類の処理のうちから、マウスイベントに基づいて実行する処理を特定し、処理を実行する。例えば、マウスイベントに含まれる位置情報で特定される位置が、埋込画像に含まれるボタンの画像内ならば、そのボタンの画像に対応付けられた処理を特定する。例えば、拡大ボタンの画像ならば画像を拡大する処理を実行し、埋込画像を拡大した後の画像で更新する。具体的には、表示部１６１が備えるＶＲＡＭに更新後の画像を上書きするアプリコマンドを表示制御部８７に出力する。これにより、表示部１６１が備えるＶＲＡＭに記憶されている表示画像の埋込領域が、更新後の画像で上書きされる。
【０１１７】
決定部７３は、選択部７５からジェスチャーイベントが入力される場合、ブラウジングプログラムによって定められた複数種類の処理のうちジェスチャーイベントに対応する種類の処理を実行する。具体的には、表示画像のうち表示部１６１に表示するための表示部分を決定する。決定部７３は、決定された表示部分を表示部１６１に表示させるアプリコマンドを、表示制御部８７に出力する。これにより、表示部１６１が備えるＶＲＡＭに記憶されている表示画像のうちから決定部７３によって決定された部分の画像が表示部１６１に表示される。例えば、選択部７５から入力されるジェスチャーイベントが処理識別情報「スクロール」に対応するならば、表示画像で表示部１６１に表示されていた部分を、その部分から上下左右のいずれかにスライドさせた部分が表示部１６１に表示される。
【０１１８】
次に、本実施の形態におけるＭＦＰ１００において、インターネットに接続されたサーバー３００からＷｅｂページをダウンロードし、Ｗｅｂページの画像である表示画像を表示する場合を例に、ユーザーの操作とＭＦＰ１００が実行する処理の流れの一例を説明する。
【０１１９】
図７は、ユーザーによる操作とＭＦＰが実行する処理の流れの一例を示す図である。図７を参照して、左から順に、ユーザーによる操作、オペレーティング部５７の処理、副実行部６３の処理、ブラウジング部６１の処理およびサーバー３００の処理をそれぞれに対応する軸を示し、それぞれの軸は上から下に時間の流れを示している。
【０１２０】
まず、ユーザーが、ブラウジングプログラムを起動する操作を入力すれば、オペレーティング部５７によって、その操作が受け付けられる。ここでは、サーバー３００に記憶されたＷｅｂページのＵＲＬが同時に指定される場合を説明する。ユーザーによる操作に従って、オペレーティング部５７は、ＣＰＵ１１１にブラウジングプログラムを実行させることによって、ＣＰＵ１１１がブラウジングプログラムを実行するタスクであるブラウジング部６１が起動する。また、オペレーティング部５７は、ユーザーにより入力されたＵＲＬを、ブラウジング部６１に出力する。
【０１２１】
ブラウジング部６１は、オペレーティング部５７から入力されるＵＲＬで特定されるＷｅｂページを、ＵＲＬで特定されるサーバー３００に送信する要求であるコンテンツリクエストをサーバー３００に送信する。サーバー３００は、コンテンツリクエストを受信すると、ＵＲＬで特定されるＷｅｂページを返信するので、ブラウジング部６１は、サーバー３００からＷｅｂページを受信する。さらに、ブラウジング部６１は、Ｗｅｂページを解析して、Ｗｅｂページに対応する表示画像を生成し、表示画像をＶＲＡＭに記憶する指令と、表示部分を表示する指令を、オペレーティング部５７に出力する。これに伴い、オペレーティング部５７は、表示画像を表示部１６１のＶＲＡＭに記憶するとともに、表示部分を表示部１６１に表示する。
【０１２２】
ここで、ＷｅｂページがＪＡＶＡ（登録商標）プログラムを起動するコマンドの記述を含んでいるとする。このため、ブラウジング部６１は、ＣＰＵ１１１にＪＡＶＡ（登録商標）プログラムを実行させることによって、ＣＰＵ１１１がＪＡＶＡ（登録商標）プログラムを実行するタスクである副実行部６３が起動する。
【０１２３】
ここでは、ＪＡＶＡ（登録商標）プログラムにより、サーバー３００に、それに記憶されたコンテンツの画像を送信させる処理が定められているとする。副実行部６３は、コンテンツの画像を送信させる処理を実行する要求である処理リクエストをサーバーに送信する。これに伴い、サーバー３００は、コンテンツの画像を返信するので、副実行部６３は、サーバー３００から受信するコンテンツの画像を、埋込画像として受信する。さらに、副実行部６３は、埋込画像を表示部１６１のＶＲＡＭに記憶するとともに、表示要求をブラウジング部６１に出力する。これに伴い、オペレーティング部５７は、表示画像を表示部１６１のＶＲＡＭに記憶する。また、ブラウジング部６１は、オペレーティング部５７に、表示部分を表示する指示を出力し、オペレーティング部５７は、埋込領域に埋込画像を配置した表示画像のうち表示部分を表示部１６１に表示する。したがって、表示部分が埋込領域を含んでいれば、埋込画像が表示部１６１に表示される。
【０１２４】
次に、ユーザーが、シングルタッチ操作またはマルチタッチ操作を入力すれば、オペレーティング部５７によって、その操作が受け付けられる。操作変換部５５によって、シングルタッチ操作またはマルチタッチ操作に対応するマウスイベントが生成され、１以上のマウスイベントに基づいてジェスチャーイベントが決定される。マウスイベントとジェスチャーイベントとは、ブラウジング部６１に入力される。
【０１２５】
ブラウジング部６１は、マウスイベントに含まれる位置情報で示される位置が、埋込領域内の場合と、埋込領域外の場合とで、処理を異ならせる。ブラウジング部６１は、マウスイベントに含まれる位置情報で示される位置が埋込領域内の場合、さらに、ジェスチャーイベントが所定の種類か否かで処理を異ならせる。ジェスチャーイベントが所定の種類でない場合、マウスイベントを副実行部６３に出力する。副実行部６３は、マウスイベントを含む処理リクエストをサーバー３００に送信する。サーバー３００は、処理リクエストを受信すると、処理リクエストに含まれるマウスイベントにより特定される埋込画像中の位置に対応して、サーバー３００が実行する第２アプリケーションプログラムによって定められた処理を実行し、処理後のコンテンツの画像を返信する。例えば、第２アプリケーションプログラムによって画像を拡大する処理が定められている場合には、コンテンツの画像を拡大した画像を返信する。副実行部６３は、サーバー３００から受信するコンテンツの画像を、埋込画像として受信する。さらに、副実行部６３は、埋込画像を表示部１６１のＶＲＡＭに記憶するとともに、表示要求をブラウジング部６１に出力する。これに伴い、オペレーティング部５７は、表示画像を表示部１６１のＶＲＡＭに記憶する。また、ブラウジング部６１は、オペレーティング部５７に、表示部分を表示する指示を出力し、オペレーティング部５７は、埋込領域に埋込画像を配置した表示画像のうち表示部分を表示部１６１に表示する。したがって、表示部分が埋込領域を含んでいれば、サーバー３００によって拡大された後の埋込画像が表示部１６１に表示される。
【０１２６】
ブラウジング部６１は、マウスイベントに含まれる位置情報で示される位置が埋込領域内の場合で、かつ、ジェスチャーイベントが所定の種類の場合、ジェスチャーイベントに基づく処理を実行する。この場合、マウスイベントを副実行部６３に出力しない。ジェスチャーイベントに基づく処理は、ブラウジングプログラムによって定められている。例えば、ジェスチャーイベントに基づく処理が下方向にスクロールする処理ならば、表示画像の表示部分を下方に移動させた後の表示部分を表示する指示をオペレーティング部５７に出力する。オペレーティング部５７は、表示画像のうち表示部分を表示部１６１に表示する。したがって、表示画像のうち移動された後の表示部分が表示部１６１に表示される。
【０１２７】
一方、マウスイベントに含まれる位置情報で示される位置が埋込領域外の場合、ジェスチャーイベントに基づく処理を実行する。この場合、マウスイベントを副実行部６３に出力しない。
【０１２８】
図８は、ジェスチャーイベント決定処理の流れの一例を示すフローチャートである。ジェスチャーイベント決定処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶された操作受付プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。図８を参照して、ＣＰＵ１１１は、マウスイベントが検出されたか否かを判断する（ステップＳ０１）。ユーザーがタッチパネル１６５を指示すれば、タッチパネル１６５により検出された位置に基づいてマウスイベントが検出される。マウスイベントが検出されるまで待機状態となり（ステップＳ０１でＮＯ）、マウスイベントが検出されたたならば（ステップＳ０１でＹＥＳ）、処理をステップＳ０２に進める。換言すれば、ジェスチャーイベント決定処理は、ユーザーがタッチパネル１６５を指示し、タッチイベントが検出されることを条件に実行される処理である。
【０１２９】
ステップＳ０２においては、検出されたマウスイベントが単数か否かを判断する。単数のマウスイベントが検出されたならば処理をステップＳ０３に進めるが、複数のマウスイベントが検出されたならば処理をステップＳ１７に進める。
【０１３０】
ステップＳ０３においてはマウスイベントの状態によって処理を分岐させる。マウスイベントの状態が「Ｐｒｅｓｓ」ならば処理をステップＳ０４に進め、「Ｍｏｖｅ」ならば処理をステップＳ０９に進め、「Ｒｅｌｅａｓｅ」ならば処理をステップＳ０５に進める。ステップＳ０４においては、タイマーＴをスタートさせ、処理をステップ０１に戻す。タイマーＴは、状態が「Ｐｒｅｓｓ」のマウスイベントが検出されてからの経過時間を計時する。
【０１３１】
ステップＳ０９においては、タイマーＴの値がしきい値ＴＴ以下か否かを判断する。タイマーＴの値がしきい値ＴＴ以下ならば処理をステップＳ１０に進めるが、そうでなければ処理をステップＳ１１に進める。ステップＳ１０においては、間隔がしきい値ＴＬ以上か否かを判断する。間隔がしきい値ＴＬ以上ならば処理をステップＳ１２に進めるが、そうでなければ処理をステップＳ１１に進める。間隔は、最初に検出されたマウスイベント、換言すれば状態が「Ｐｒｅｓｓ」のマウスイベントに含まれる位置情報で特定される位置と、ステップＳ０１において検出されたマウスイベントに含まれる位置情報で特定される位置との間の距離である。ステップＳ１１においては、マウスイベントを決定しないことを示す未決定信号を出力し、処理を終了する。状態が「Ｐｒｅｓｓ」のマウスイベントが検出されてからの経過時間がしきい値ＴＴ以内に、「Ｐｒｅｓｓ」のマウスイベントで示される位置からしきい値ＴＬ以上離れた位置を示すマウスイベントが検出されない場合は、ジェスチャーイベントを決定することなく、処理を終了する。ユーザーが指示してからしきい値ＴＴの時間が経過しても指示する位置が移動しない場合には、ジェスチャーイベントを決定しないためである。なお、同じ位置を所定時間指示するジェスチャーイベントを決定するようにしてもよい。
【０１３２】
処理がステップＳ１２に進む場合、マウスイベントの状態が「Ｍｏｖｅ」の場合であり、そのマウスイベントの直前に別のマウスイベントが入力されている。別のマウスイベントの状態は、「Ｐｒｅｓｓ」の場合と、「Ｍｏｖｅ」の場合とがある。ステップＳ１２においては、指示方向を決定する。直前に入力された別のマウスイベントに含まれる位置情報で特定される位置からステップＳ０１において検出されたマウスイベントに含まれる位置情報で特定される位置に向かう方向を決定する。ここで決定する方向は、表示部１６１の表示面を基準にした上下左右の４方向のうち最も近い方向である。
【０１３３】
次のステップＳ１３においては、指示距離Ｌを算出する。直前に入力された別のマウスイベントに含まれる位置情報で特定される位置とステップＳ０１において検出されたマウスイベントに含まれる位置情報で特定される位置との間の距離を指示距離Ｌとして算出する。そして、指示距離Ｌがしきい値ＴＨ以上か否かを判断する（ステップＳ１４）。指示距離Ｌがしきい値ＴＨ以上ならば処理をステップＳ１５に進めるが、そうでなければ処理をステップＳ１６に進める。
【０１３４】
ステップＳ１５においては、ジェスチャーイベントをスワイプに決定し、処理をステップＳ２７に進める。ステップＳ１６においては、ジェスチャーイベントをフリックに決定し、処理をステップＳ２７に進める。
【０１３５】
処理がステップＳ０５に進む場合、ステップＳ０１において検出されたマウスイベントの状態が「Ｒｅｌｅａｓｅ」である。マウスイベントの状態が「Ｒｅｌｅａｓｅ」の場合、そのマウスイベントの直前に別のマウスイベントが入力されている。別のマウスイベントの状態は、「Ｐｒｅｓｓ」の場合と、「Ｍｏｖｅ」の場合とがある。ステップＳ０５においては、直前に入力された別のマウスイベントの状態によって処理を分岐させる。直前に入力された別のマウスイベントの状態が「Ｐｒｅｓｓ」ならば処理をステップＳ０６に進めるが、そうでなければ処理をステップＳ０１に戻す。
【０１３６】
ステップＳ０６においては、ステップＳ０１において検出されたマウスイベントに含まれる位置情報と同じ位置情報がＲＡＭ１１４に記憶されているか否かを判断する。ＲＡＭ１１４に記憶されているならば処理をステップＳ０７に進めるが、そうでなければ処理をステップＳ０８に進める。なお、ここでいう同じ位置情報とは、２つの位置情報でそれぞれ特定される２つの位置の間の距離が所定の長さ以内である場合を含む。ユーザーが同じ位置を指示する操作を検出するために、誤差を含む。
【０１３７】
ステップＳ０８においては、ステップＳ０１において検出されたマウスイベントに含まれる位置情報をＲＡＭ１１４に一時記憶し、処理をステップＳ２９に進める。処理がステップＳ０８に進む場合は、直前に入力されたマウスイベントの状態が「Ｐｒｅｓｓ」で、次に入力されるマウスイベントの状態が「Ｒｅｌｅａｓｅ」の場合であり、かつ、ＲＡＭ１１４に同じ位置情報が記憶されていない場合である。換言すれば、ユーザーが最初のタップ操作を入力する場合である。
【０１３８】
ステップＳ０７においては、ジェスチャーイベントをダブルタップに決定し、処理をステップＳ２７に進める。処理がステップＳ０７に進む場合は、直前に入力されたマウスイベントの状態が「Ｐｒｅｓｓ」で、ステップＳ０１において入力されるマウスイベントの状態が「Ｒｅｌｅａｓｅ」の場合であり、かつ、ＲＡＭ１１４に同じ位置情報が記憶されている場合である。換言すれば、ユーザーが最初のタップ操作を入力した後に、最初のタップ操作と同じ位置をタップ操作する場合である。
【０１３９】
処理がステップＳ１７に進む場合は、２つのマウスイベントが検出される場合である。ステップＳ１７においては、２つのマウスイベントの少なくとも一方の状態が「Ｍｏｖｅ」か否かを判断する。２つのマウスイベントの少なくとも一方の状態が「Ｍｏｖｅ」ならば処理をステップＳ１８に進めるが、そうでなければ処理をステップＳ０１に戻す。
【０１４０】
ステップＳ１８においては、角度を算出する。表示部１６１の表示面の所定の基準辺を基準に、２つのマウスイベントそれぞれに含まれる位置情報で特定される２つの位置を結ぶ直線が基準辺となす角度を算出する。次のステップＳ１９においては、ステップＳ１８において算出された角度に変化があるか否かを判断する。ステップＳ１８において算出された角度が、直前に入力された別の２つのマウスイベントに基づいて算出された角度との差が所定の角度以上であれば、角度が変化したと判断する。角度が変化したならば処理をステップＳ２０に進めるが、そうでなければ処理をステップＳ２１に進める。ステップＳ２０においては、ジェスチャーイベントをローテーションに決定し、処理をステップＳ２７に進める。
【０１４１】
ステップＳ２１においては、距離を算出する。２つのマウスイベントそれぞれに含まれる位置情報で特定される２つの位置の間の距離を算出する。次のステップＳ２２においては、ステップＳ２１において算出された距離に変化があるか否かを判断する。ステップＳ２１において算出された距離と、直前に入力された別の２つのマウスイベントに基づいて算出された距離との差が所定の長さ以上であれば、距離が変化したと判断する。距離が変化したならば処理をステップＳ２３に進めるが、そうでなければ処理をステップＳ０１に戻す。
【０１４２】
ステップＳ２３においては、倍率を決定する。ステップＳ２１において算出された距離を、直前に入力された別の２つのマウスイベントに基づいて算出された距離で除算した値を倍率に決定する。そして、倍率が１より大きければ処理をステップＳ２５に進めるが、そうでなければ処理をステップＳ２６に進める。
【０１４３】
ステップＳ２５においては、ジェスチャーイベントをピンチアウトに決定し、処理をステップＳ２７に進める。ステップＳ２６においては、ジェスチャーイベントをピンチインに決定し、処理をステップＳ２７に進める。
【０１４４】
ステップＳ２７においては、決定されたジェスチャーイベントに対応する処理が定義されているか否かを判断する。ＨＤＤ１１５に記憶されているマスターテーブル９１において定められている複数種類の処理のうちに、カレント状態に設定されているアプリケーションプログラムに対応してジェスチャーイベントが関連付けられた処理が存在するか否かで判断する。マスターテーブル９１において、決定されたジェスチャーイベントに処理が関連付けられていれば、カレント状態に設定されているアプリケーションプログラムに対応して、決定されたジェスチャーイベントに対応する処理が定義されていると判断する。決定されたジェスチャーイベントに対応する処理が定義されていれば処理をステップＳ２８に進めるが、そうでなければ処理をステップＳ２９に進める。
【０１４５】
ステップＳ２８においては、決定されたジェスチャーイベントを出力し、処理を終了する。ステップＳ２９においては、未決定信号を出力し、処理を終了する。
【０１４６】
図９は、ブラウジング処理の流れの一例を示すフローチャートである。ブラウジング処理は、ＭＦＰ１００が備えるＣＰＵ１１１が、ＲＯＭ１１３、ＨＤＤ１１５またはＣＤ−ＲＯＭ１１８に記憶されたブラウジングプログラムを実行することにより、ＣＰＵ１１１により実行される処理である。図９を参照して、ＣＰＵ１１１は、コンテンツを取得する（ステップＳ３１）。具体的には、インターネットに接続されたサーバーからＷｅｂページをコンテンツとしてダウンロードする。Ｗｅｂページは、ＭＦＰ１００を操作する操作ユーザーが指定したＵＲＬで識別されるＷｅｂページである。また、予め定められたＵＲＬで識別されるＷｅｂページであってもよい。
【０１４７】
ステップＳ３２においては、取得されたＷｅｂページが埋込画像の記述を含むか否かを判断する（ステップＳ３２）。埋込画像の記述は、ブラウジングプログラムとは別の第２アプリケーションプログラムが実行されて生成される埋込画像を表示する記述である。サーバーから取得されたＷｅｂページが、埋込画像の記述を含んでいるならば処理をステップＳ３３に進めるが、そうでなければ処理をステップＳ３５に進める。ステップＳ３５においては、Ｗｅｂページの記述に従って表示画像を生成し、処理をステップＳ３６に進める。具体的には、表示画像を表示部１６１が備えるＶＲＡＭに記憶する。
【０１４８】
ステップＳ３３においては、埋込領域を含む表示画像を生成する。具体的には、埋込領域を含む表示画像を表示部１６１が備えるＶＲＡＭに記憶する。これにより、表示部１６１が備えるＶＲＡＭにブラウジングプログラムを実行するタスクが生成する表示画像が記憶される。ただし、表示画像の埋込領域は、ブラウジングプログラムを実行するタスクによっては何も記憶されない。
【０１４９】
ステップＳ３４においては、アプリケーションを起動し、処理をステップＳ３６に進める。Ｗｅｂページの記述に従って、ブラウジングプログラムとは別の第２アプリケーションプログラムをＣＰＵ１１１またはサーバーに実行させ、第２アプリケーションプログラムを実行するタスクに埋込画像を生成させる。具体的には、Ｗｅｂページに記述されたＪＡＶＡ（登録商標）スクリプトによってサーバーによって第２アプリケーションプログラムが実行される場合、サーバーにコンテンツの生成を要求する処理リクエストを送信し、サーバーから返信されるコンテンツの画像を、表示部１６１が備えるＶＲＡＭに記憶された表示画像の埋込領域に記憶させる。これにより、表示部１６１が備えるＶＲＡＭに記憶された表示画像の埋込領域に、サーバーが第２アプリケーションプログラムを実行することによって生成した画像が埋込画像として記憶される。また、Ｗｅｂページが、ＣＰＵ１１１が実行可能な再生プログラム等の第２アプリケーションプログラムを起動する指示を含む場合、ＣＰＵ１１１に第２アプリケーションプログラムを実行させ、ＣＰＵ１１１が第２アプリケーションプログラムを実行するタスクが生成する画像を、表示部１６１が備えるＶＲＡＭに記憶された表示画像の埋込領域に記憶させる。これにより、表示部１６１が備えるＶＲＡＭに記憶された表示画像の埋込領域に、ＣＰＵ１１１が第２アプリケーションプログラムを実行するタスクによって生成された埋込画像が記憶される。
【０１５０】
このように、ブラウジングプログラムを実行するタスクが表示画像を書き換え、ＣＰＵ１１１またはサーバーのいずれかが第２アプリケーションプログラムを実行するタスクによって生成された画像で埋込領域を書き換える。換言すれば、サーバーまたはＣＰＵ１１１のいずれかが第２アプリケーションプログラムを実行するタスクによって生成される画像で、ブラウジングプログラムを実行するタスクとは関係なく、埋込領域を更新することができる。
【０１５１】
ステップＳ３６においては、表示画像を表示する。表示部１６１のＶＲＡＭに記憶された表示画像を表示部１６１に表示する。この際、表示画像を部分的に表示してもよいし、表示画像の全体を表示してもよい。
【０１５２】
ステップＳ３７においては、マウスイベントが入力されたか否かを判断する。操作ユーザーが表示部１６１の表示面を指で指示すれば、タッチパネル１６５によって指示された位置が検出され、その位置情報を含むマウスイベントが入力される。マウスイベントが入力されたならば（ステップＳ３７でＹＥＳ）、処理をステップＳ３８に進め、そうでなければ処理をステップＳ５０に進める。
【０１５３】
ステップＳ３８においては、マウスイベントが単数か否かを判断する。マウスイベントが単数ならば処理をステップＳ３９に進めるが、複数ならば処理をステップＳ４８に進める。ステップＳ３９においては、マウスイベントが埋込領域に対する操作か否かを判断する。マウスイベントに含まれる位置情報で特定される位置が、表示画像中の埋込領域内ならばマウスイベントが埋込領域に対する操作であると判断する。マウスイベントが埋込領域に対する操作ならば処理をステップＳ４０に進めるが、そうでなければ処理をステップＳ４８に進める。
【０１５４】
ステップＳ４０においては未決定信号が入力されたか否かを判断する。上述したジェスチャーイベント決定処理において、ステップＳ３７において入力されたマウスイベントに基づいてジェスチャーイベントが決定されないと判断された場合に、未決定信号が入力される。未決定信号が入力されたならば処理をステップＳ４１に進めるが、そうでなければ処理をステップＳ４３に進める。ステップＳ４１においては、ステップＳ３４において起動した第２アプリケーションプログラムを実行するタスクに、マウスイベントを出力し、処理をステップＳ４２に進める。ここで出力するマウスイベントは、ステップＳ３７において入力されたマウスイベントに加えて、ステップＳ４７において一時記憶されたマウスイベントを含む。複数のマウスイベントを出力する場合には、入力された順にマウスイベントを出力する。具体的には、Ｗｅｂページに記述されたＪＡＶＡ（登録商標）スクリプトによってサーバーによって第２アプリケーションプログラムが実行される場合、サーバーにマウスイベントを含む処理リクエストを送信し、サーバーから返信されるコンテンツの画像を受信し、受信された画像を、表示部１６１が備えるＶＲＡＭに記憶された表示画像の埋込領域に記憶させる。また、Ｗｅｂページが、ＣＰＵ１１１が実行可能な再生プログラム等の第２アプリケーションプログラムを起動する指示を含む場合、ＣＰＵ１１１に第２アプリケーションプログラムを実行するタスクが形成されている。このため、ＣＰＵ１１１が第２アプリケーションプログラムを実行するタスクに、マウスイベントを出力し、マウスイベントに基づく処理を実行させ、ＣＰＵ１１１が第２アプリケーションプログラムを実行するタスクが生成するコンテンツの画像を、表示部１６１が備えるＶＲＡＭに記憶された表示画像の埋込領域に記憶させる。
【０１５５】
サーバーまたはＣＰＵ１１１が第２アプリケーションプログラムを実行するタスクは、マウスイベントが入力されると、第２アプリケーションプログラムによって定められた複数の処理のうちからマウスイベントにより特定される処理を実行する。具体的には、第２アプリケーションプログラムによって定められた複数の処理のうち、マウスイベントに含まれる位置情報で特定される位置に割り当てられた処理を実行する。例えば、埋込画像が拡大処理が割り当てられたボタンを含み、マウスイベントに含まれる位置情報で特定される位置が、拡大処理が割り当てられたボタン内ならば拡大処理を実行する。そして、拡大処理後の埋込画像で、表示部１６１が備えるＶＲＡＭに記憶された表示画像中の埋込領域を更新する。このため、表示部１６１に表示されている表示画像に含まれる埋込領域の画像だけが、拡大して表示される。
【０１５６】
次のステップＳ４２においては、ステップＳ４７において一時記憶されたマウスイベントを消去し、処理をステップＳ５０に進める。１つのマウスイベントが第２アプリケーションプログラムを実行するタスクに重複して出力されないようにするためである。  一方、ステップＳ４３においては、ジェスチャーイベントが決定されたか否かを判断する。図８に示したジェスチャーイベント決定処理が実行されて、ステップＳ３７において入力されたマウスイベントに基づいてジェスチャーイベントが決定されたか否かを判断する。ジェスチャーイベントが決定されたならば処理をステップＳ４４に進めるが、そうでなければ処理をステップＳ４７に進める。ステップＳ４７においては、ステップＳ３７において入力されたマウスイベントを保留し、処理をステップＳ５０に進める。
【０１５７】
ステップＳ４４においては、ステップＳ３７において入力されたマウスイベントに基づいて決定されたジェスチャーイベントが、所定の種類か否かを判断する。決定されたジェスチャーイベントが所定の種類ならな処理をステップＳ４５に進めるが、そうでなければ処理をステップＳ４１に進める。所定の種類のジェスチャーイベントは、ブラウジングプログラムにおいて予め定められている。
【０１５８】
ステップＳ４５においては、ジェスチャーイベントに対応する処理を実行し、処理をステップＳ４６に進める。ブラウジングプログラムによって定められた複数の処理のうち、ジェスチャーイベントにより特定される処理を実行する。具体的には、ジェスチャーイベントがフリックならば表示画像のうち表示部１６１に表示する部分をジェスチャーイベントにより定められる方向に移動する。より具体的には、表示部１６１が備えるＶＲＡＭに記憶された表示画像のうち表示部１６１に表示する領域を、ジェスチャーイベントにより定められる方向に移動し、移動後の領域を表示部１６１に表示する。このため、表示部１６１に表示されている表示画像の部分が変更される。ステップＳ４６においては、ステップＳ４２と同様に、ステップＳ４７において一時記憶されたマウスイベントを消去し、処理をステップＳ５０に進める。
一方、処理がステップＳ４８に進む場合、ステップＳ３７において複数のマウスイベントが入力される場合である。ステップＳ４８においては、ジェスチャーイベントが決定されたか否かを判断する。図８に示したジェスチャーイベント決定処理が実行されて、ステップＳ３７において入力されたマウスイベントに基づいてジェスチャーイベントが決定されたか否かを判断する。ジェスチャーイベントが決定されたならば処理をステップＳ４９に進めるが、そうでなければ処理をステップＳ４８に進める。ステップＳ４９においては、ジェスチャーイベントに対応する処理を実行し、処理をステップＳ５０に進める。
【０１５９】
ステップＳ５０においては、コンテンツの表示を終了する指示を受け付けたか否かを判断する。例えば、ハードキー部１６７に含まれる複数のキーのうち、ブラウジングプログラムを終了する指示が割り当てられたキーが指示されたならばコンテンツの表示を終了する指示を受け付ける。コンテンツンの表示を終了する指示を受け付けたならば処理を終了するが、そうでなければ処理をステップＳ３７に戻す。
【０１６０】
図１０は、表示画像の一例を示す図である。図１０に示す表示画像は、インターネットに接続されたサーバーからダウンロードされたＷｅｂページに対応する。ここでは、Ｗｅｂページを、商品を販売する店舗を紹介する内容が記述されている場合を例に説明する。図１０を参照して、表示画像３００は、Ｗｅｂページにおいて、ブラウジングプログラムとは別の第２アプリケーションプログラムによって生成される埋込画像を配置する２つの埋込領域３１０，３１１を含む。埋込領域３１０，３１１に配置される埋込画像は、インターネットに接続されたサーバーが、そのサーバーにインストールされた第２アプリケーションプログラムを実行することにより生成される。
【０１６１】
埋込領域３１０には、その店の場所を示す地図の画像が埋込画像として配置され、埋込領域３１１には、その店が販売する商品のリストを表示する画像が埋込画像として配置される。点線で示す領域３０１，３０３は、表示画像３００のうちで、表示部１６１に表示される表示部分を示している。なお、領域３０１，３０３を示す点線は、説明のために付したもので、表示画像３００中に実際には存在しない。
【０１６２】
図１１は、表示画像３００中の表示部分の一例を示す第１の図である。図１１を参照して、表示部分３３１は、図１０に示した表示画像３００のうち領域３０１で示される部分である。表示部分３３１は、表示画像３００に配置された埋込領域３１０を含む。埋込領域３１０は、上下左右の４つの矢印が表されたボタン群３１３と、「＋」および「−」の記号が表されたボタン群３１５を含む。ボタン群３１３，３１５は、それぞれのボタンにサーバーにインストールされた第２アプリケーションプログラムによって処理が割り当てられている。ここで、ユーザーがボタン群３１５の「＋」の記号が表されたボタンを指で指示すれば、「＋」の記号が表されたボタン内の位置を示す位置情報を含むマウスイベントが発生する。この場合における図８に示したジェスチャーイベント決定処理および図９に示したブラウジング処理の流れを具体的に説明する。図８に示したジェスチャーイベント決定処理においては、ユーザーがボタン群３１５の「＋」の記号が表されたボタンを指で指示すれば、ステップＳ０３においてマウスイベントの状態「Ｒｅｌｅａｓｅ」が検出されて処理がステップＳ０６に進むが、同じ位置が記憶されていないと判断されて、ステップＳ０８およびステップＳ２９が実行される。このため、ジェスチャーイベントが検出されることなく、未決定信号が出力される。さらに、図９に示したブラウジング処理においては、ユーザーがボタン群３１５の「＋」の記号が表されたボタンを指で指示すれば、ステップＳ３７においてマウスイベントが入力されると判断され、処理がステップＳ３８に進む。ユーザーがボタン群３１５の「＋」の記号が表されたボタンを指で指示する操作は、指示位置が単数で、埋め込み領域内なので、処理がステップＳ４０に進む。図８に示したジェスチャーイベント決定処理においては、ユーザーがボタン群３１５の「＋」の記号が表されたボタンを指で指示すれば、未決定信号が出力されるので、ブラウジング処理のステップＳ４１が実行され、マウスイベントが出力される。このため、そのマウスイベントは、埋込領域３１０に配置された画像を生成するサーバーに送信され、サーバーによって、画像を拡大する処理が実行される。そして、埋込領域３１０が、サーバーによって拡大する処理が実行された後の画像で更新される。
【０１６３】
図１２は、表示画像３００中の表示部分の一例を示す第２の図である。図１２を参照して、表示部分３３１は、図１０に示した表示画像３００のうち領域３０１で示される部分である。表示部分３３１は、表示画像３００に配置された埋込領域３１０を含む。埋込領域３１０に表示される埋込画像は、図１１に示した埋込領域３１０に配置された画像に比較して、拡大した画像となっている。しかしながら、図１２に示す表示画像３００の表示部分３３１のうち埋込領域３１０以外の部分は、図１１に示した表示部分３３１と同じである。
【０１６４】
さらに、操作ユーザーが、図１２に示す表示画像３００の表示部分３３１のいずれかに指で触れて、スワイプ操作を入力すれば、ジェスチャーイベントが発生する。この場合における図８に示したジェスチャーイベント決定処理および図９に示したブラウジング処理の流れを具体的に説明する。図８に示したジェスチャーイベント決定処理においては、ユーザーがスワイプ操作を入力すれば、ステップＳ０３においてマウスイベントの状態「Ｍｏｖｅ」が検出されて処理がステップＳ０９に進むが、スワイプ操作は指示する位置が移動し、単位時間当たりの移動距離がしきい値ＴＨ以上なので、処理がステップＳ１５に進む。これにより、スワイプのジェスチャーイベントが決定される。さらに、図９に示したブラウジング処理においては、ユーザーがスワイプ操作を入力すれば、ステップＳ３７においてマウスイベントが入力されると判断され、処理がステップＳ３８に進む。スワイプ操作は、１本の指で指示する位置を移動させる操作なので、処理がステップＳ４０またはステップＳ４８に進む。処理がステップＳ４０に進む場合、換言すれば、スワイプ操作がされた位置が埋込領域内の場合、図８に示したジェスチャーイベント決定処理においてスワイプのジェスチャーイベントが決定されるので、処理がステップＳ４５に進む。一方、処理がステップＳ４８に進む場合、換言すれば、スワイプ操作がされた位置が埋込領域以外の場合、図８に示したジェスチャーイベント決定処理においてスワイプのジェスチャーイベントが決定されるので、処理がステップＳ４９に進む。このように、ユーザーが指で触れる位置は、表示部分３３１内であれば、埋込領域３１０内であってもよい。ジェスチャーイベントとともにマウスイベントも発生するが、ジェスチャーイベントがブラウジングプログラムによって予め定められた所定の処理なので、マウスイベントは廃棄される。フリックのジェスチャーイベントに対応して、ブラウジングプログラムによって、表示画像の表示部分を変更するスクロール処理が定められている。ここでは、スクロール処理が実行されて、表示画像３００のうち領域３０１が領域３０３に変更される場合を例に説明する。
【０１６５】
図１３は、表示画像中３００の表示部分の一例を示す第３の図である。図１３を参照して、図１２に示した表示部分３３１が表示部１６１に表示されている段階で、スワイプ操作が入力された後に表示部１６１に表示される表示画像３００の表示部分３４１を示している。表示部分３４１は、図１０に示した表示画像３００のうち領域３０３で示される部分である。表示部分３４１は、表示画像３００に配置された埋込領域３１１を含む。埋込領域３１１に表示される埋込画像は、図１１に示した埋込領域３１１に配置された画像と同じである。
【０１６６】
以上説明したように、本実施の形態におけるＭＦＰ１００は、データ処理装置として機能し、タッチパネル１６９によってユーザーにより指示された１以上の位置が検出されることに応じて、１以上の位置それぞれを示す位置情報を含むマウスイベントを生成し、生成される１以上のマウスイベントの組に基づいて、複数のジェスチャーイベントのうちからいずれか１つを決定する。一方、外部から受信されるＷｅｂページがブラウジングプログラムとは別のアプリケーションプログラムが実行されて生成される埋込画像を表示する記述を含む場合、埋込画像をＷｅｂページにより定められた埋込領域に配置した表示画像を生成する。そして、表示画像が埋込領域を含む場合、ジェスチャーイベントを決定する基になった１以上のマウスイベントのいずれか１つのマウスイベントにより示される位置が埋込領域内の場合、ジェスチャーイベントと、当該ジェスチャーイベントを決定する基になった１以上のマウスイベントの組のいずれか一方を選択する。このため、ユーザーが表示部１６１の表示面を指示する１回の操作を１以上のマウスイベントとジェスチャーイベントとして検出するとともに、検出されたマウスイベントとジェスチャーイベントのうちからブラウジングプログラムおよびアプリケーションプログラムそれぞれに適した一方を受け付けることができる。その結果、Ｗｅｂページがブラウジングプログラムとは別のアプリケーションプログラムを実行する記述を含む場合であってもアプリケーションプログラムを適切に実行することができる。
【０１６７】
また、ユーザーが表示部１６１の表示面を指示する１回の操作を１以上のマウスイベントとジェスチャーイベントとして検出するとともに、ジェスチャーイベントが所定の種類の場合には、ジェスチャーイベントをブラウジングプログラムに対応させ、ジェスチャーイベントが所定の種類でない場合には、１以上のマウスイベントをアプリケーションプログラムに対応させる。このため、ユーザーによる１つの操作を、ブラウジングプログラムおよびアプリケーションプログラムのいずれかに対する操作として受け付けることができる。また、ブラウジングプログラムがジェスチャーイベントに対応し、アプリケーションプログラムがマウスイベントに対応する場合にアプリケーションプログラムを適切に実行することができる。
【０１６８】
また、第１のマウスイベントにより示される第１の位置と、第１のマウスイベントが生成されてから所定時間以内に生成される第２のマウスイベントにより生成される第２の位置との間の間隔が所定の距離以上でない場合には、ジェスチャーイベントを決定しない。このため、ユーザーがタッチパネル１６９を指示したまま移動させる操作をジェスチャーイベントとして検出することができる。
【０１６９】
また、生成される１以上のマウスイベントを、ジェスチャーイベントが決定される時、または、ジェスチャーイベントを決定しないと判断される時まで保留し、１以上のマウスイベントの組が選択される場合、保留された１以上のマウスイベントを、アプリケーションプログラムを実行するタスクに出力する。このため、所定の種類でないジェスチャーイベントが決定される時まで、またはジェスチャーイベントを決定しないことが判断される時までに入力されたユーザーによる操作に基づき生成されたマウスイベントを保留するので、ユーザーによる操作を有効にることができ、ユーザーは同じ操作を再度入力する必要はない。
【０１７０】
さらに、保留された１以上のマウスイベントを、アプリケーションプログラムを実行するタスクに出力した後に消去し、ジェスチャーイベントが選択される場合は、ジェスチャーイベントが選択された時点で消去する。このため、１つのマウスイベントが複数回出力されるのを防止することができる。
【０１７１】
また、マウスイベントを選択する場合、マウスイベントを、アプリケーションプログラムを実行するタスクに出力し、埋込領域に表示される埋込画像を更新させる。このため、アプリケーションプログラムを実行するタスクにマウスイベントに従って処理を実行させることができる。
【０１７２】
さらに、ジェスチャーイベントを選択する場合、ブラウジングプログラムが実行可能な複数種類の処理のうち選択されたジェスチャーイベントに対応する種類の処理を実行する。このため、表示画像のうち表示部１６１に表示するための表示部分を決定する処理を実行させることができる。ブラウジングプログラムを実行するタスクに、ジェスチャーイベントに従って処理を実行させることができる。
【０１７３】
さらに、ブラウジングプログラムがインストールされる段階で、ブラウジングプログラムが定める複数種類の処理に対応する複数のジェスチャーイベントを関連付けたマスターデータ９１をＨＤＤ１１５に記憶するので、ブラウジングプログラムが定める複数種類の処理それぞれに対応するジェスチャーイベントのみを検出することができる。
【０１７４】
なお、上述した実施の形態においては、データ処理装置の一例としてＭＦＰ１００について説明したが、図８および図９に示した処理を、ＭＦＰ１００を制御するＣＰＵ１１１に実行させる操作受付方法、また、その操作受付方法をＣＰＵ１１１に実行させるためのブラウジングプログラムとして、発明を捉えることができるのは言うまでもない。
【０１７５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【０１７６】
１００  ＭＦＰ、５１  アプリケーション部、５３  調停部、５５  操作変換部、５７  オペレーティング部、６１  ブラウジング部、６３  副実行部、７１  表示画像生成部、７３  決定部、７５  選択部、７６  状態検出部、７７  指示部、７９  処理特定部、８１  関連付部、８３  ジェスチャーイベント決定部、８５  マウスイベント生成部、８７  表示制御部、９１  マスターテーブル、１１０  メイン回路、１１１  ＣＰＵ、１１２  通信Ｉ／Ｆ部、１１３  ＲＯＭ、１１４  ＲＡＭ、１１５  ＨＤＤ、１１６  ファクシミリ部、１１７  外部記憶装置、１２０  自動原稿搬送装置、１３０  原稿読取部、１４０  画像形成部、１５０  給紙部、１６０  操作パネル、１６１  表示部、１６３  操作部、１６５  タッチパネル、１６７  ハードキー部。
【図１】
2014106808.tif 000003
【図２】
2014106808.tif 000004
【図３】
2014106808.tif 000005
【図４】
2014106808.tif 000006
【図５】
2014106808.tif 000007
【図６】
2014106808.tif 000008
【図７】
2014106808.tif 000009
【図８】
2014106808.tif 000010
【図９】
2014106808.tif 000011
【図１０】
2014106808.tif 000012
【図１１】
2014106808.tif 000013
【図１２】
2014106808.tif 000014
【図１３】
2014106808.tif 000015