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