(57)【要約】【課題】画像形成装置において、各種の事情（使用環境等）に応じてカスタマイズされたタッチ操作判定処理を容易に実現することが可能な技術を提供する。【解決手段】操作パネル部でのタッチ操作種類を判定する操作種類判定部１４が設けられる。操作種類判定部１４は、オブジェクト指向型のプログラムを実行することによって実現される。操作種類判定部１４は、拡張個別操作群に関する判定処理を管理する拡張ジェスチャ判定部３５を有する。拡張ジェスチャ判定部３５は、制御用クラスライブラリにて予め準備されている基本ジェスチャ判定部クラス（基本個別操作群に関する判定処理を管理する基本ジェスチャ判定部クラス）を継承して生成された拡張ジェスチャ判定部クラスをインスタンス化して実現される処理部である。拡張個別操作群に関する第１の判定処理群は、基本個別操作群に関する第２の判定処理群のいずれとも異なる判定処理を含む。【選択図】図５
2014085713.tif 000002
【特許請求の範囲】
【請求項１】
画像形成装置であって、
ユーザによる複数の種類に係るタッチ操作を受け付けるタッチパネルと、
前記タッチパネル上でのタッチイベントを検出する検出手段と、
前記検出手段によって検出された前記タッチイベントに対応するタッチ操作種類を判定する操作種類判定手段と、
前記タッチ操作種類に応じた描画動作を行う動作処理手段と、
を備え、
前記操作種類判定手段は、オブジェクト指向型のプログラムを実行することによって実現される処理手段であり、
前記操作種類判定手段は、
第１の個別操作群に関する判定処理を管理するジェスチャ判定部、
を有し、
前記ジェスチャ判定部は、制御用クラスライブラリにおいて予め準備されている基本ジェスチャ判定部クラスであって第２の個別操作群に関する判定処理を管理する基本ジェスチャ判定部クラスを継承して生成された拡張ジェスチャ判定部クラスをインスタンス化して実現される処理部であり、
前記第１の個別操作群に関する第１の判定処理群は、前記第２の個別操作群に関する第２の判定処理群のいずれとも異なる判定処理を含むことを特徴とする画像形成装置。
【請求項２】
請求項１に記載の画像形成装置において、
前記操作種類判定手段は、
前記第１の個別操作群に関する判定用の特徴データを管理するジェスチャデータ管理部、
をさらに有し、
前記ジェスチャ判定部は、前記ジェスチャデータ管理部で管理されている前記特徴データに基づいて、前記タッチイベントに対応するタッチ操作種類を判定し、
前記データ管理部は、制御用クラスライブラリにおいて予め準備されている基本ジェスチャデータ管理部クラスであって前記第２の個別操作群に関する判定用の特徴データを管理する基本ジェスチャデータ管理部クラスを継承して生成された拡張ジェスチャデータ管理部クラスをインスタンス化して実現される処理部であることを特徴とする画像形成装置。
【請求項３】
請求項２に記載の画像形成装置において、
前記ジェスチャデータ管理部は、前記タッチ操作に関するステータスデータをも管理し、
前記ジェスチャ判定部は、前記ステータスデータを前記ジェスチャデータ管理部から取得し、前記ステータスデータをも用いて前記タッチ操作種類を決定することを特徴とする画像形成装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の画像形成装置において、
前記第１の個別操作群は、前記第２の個別操作群とは異なる種類の操作を含むことを特徴とする画像形成装置。
【請求項５】
請求項１ないし請求項３のいずれかに記載の画像形成装置において、
前記第１の個別操作群は、前記第２の個別操作群に含まれる特定種類の操作と同一名称の特定操作であって前記特定種類の操作とは異なる基準でその該当性が判定される特定操作を含むことを特徴とする画像形成装置。
【請求項６】
画像形成装置に設けられるユーザインターフェイス装置であって、
ユーザによる複数の種類に係るタッチ操作を受け付けるタッチパネルと、
前記タッチパネル上でのタッチイベントを検出する検出手段と、
前記検出手段によって検出された前記タッチイベントに対応するタッチ操作種類を判定する操作種類判定手段と、
前記タッチ操作種類に応じた描画動作を行う動作処理手段と、
を備え、
前記操作種類判定手段は、オブジェクト指向型のプログラムを実行することによって実現される処理手段であり、
前記操作種類判定手段は、
第１の個別操作群に関する判定処理群を管理するジェスチャ判定部、
を有し、
前記ジェスチャ判定部は、制御用クラスライブラリにおいて予め準備されている基本ジェスチャ判定部クラスであって第２の個別操作群に関する判定処理群を管理する基本ジェスチャ判定部クラスを継承して生成された拡張ジェスチャ判定部クラスをインスタンス化して実現される処理部であり、
前記第１の個別操作群に関する第１の判定処理群は、前記第２の個別操作群に関する第２の判定処理群のいずれとも異なる判定処理を含むことを特徴とするユーザインターフェイス装置。
【請求項７】
ａ）画像形成装置のタッチパネル上で検出されたタッチイベントを取得するステップと、
ｂ）前記タッチイベントに対応するタッチ操作種類を判定するステップと、
ｃ）前記タッチ操作種類に応じた描画動作を行うステップと、
をコンピュータに実行させるためのオブジェクト指向型のプログラムであって、
前記ステップｂ）は、
ｂ−１）第１の個別操作群に関する判定処理群を実行するステップ、
を有し、
前記ステップｂ−１）は、制御用クラスライブラリにおいて予め準備されている基本ジェスチャ判定部クラスであって第２の個別操作群に関する判定処理群を管理する基本ジェスチャ判定部クラスを継承して生成された拡張ジェスチャ判定部クラスをインスタンス化して実現されるオブジェクトを用いて実行され、
前記第１の個別操作群に関する第１の判定処理群は、前記第２の個別操作群に関する第２の判定処理群のいずれとも異なる判定処理を含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及びそれに関連する技術に関する。
【背景技術】
【０００２】
近年、そのタッチパネル（タッチスクリーン）に対する複数の種類のタッチ操作（たとえば、「タップ」、「スワイプ」、「フリック」、「ピンチ」などの各種の操作）を受け付ける携帯端末装置が存在する（特許文献１等参照）。
【０００３】
また、このような複数の種類のタッチ操作を実現する制御用ソフトウエアライブラリ（詳細には、制御用クラスライブラリ）が存在する。このような制御用クラスライブラリの中には、公開されているものも存在する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１１８６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
画像形成装置などの各種の装置に備えられた操作パネル部（タッチパネル）においても、上述のような複数の種類のタッチ操作を受け付けられるようにすることが望まれている。
【０００６】
これらの複数の種類のタッチ操作を実現するに際して、その開発工数を抑制するためには、複数の種類のタッチ操作を実現する上述の制御用ソフトウエアライブラリをそのまま使用することが一案である。
【０００７】
しかしながら、制御用ソフトウエアライブラリをそのまま使用すると、各種の不都合が生じることがある。
【０００８】
たとえば、上記操作パネルは、携帯端末の使用状況とは異なる状況で使用されることがある。したがって、当該操作パネルにおける複数の種類のタッチ操作に関しては、携帯端末における使用状況とは異なる使用状況を考慮することが望まれる。
【０００９】
具体的には、画像形成装置に関しては、当該画像形成装置に固定された操作パネルを、ユーザが立った状態で操作することが多い。このような使用状況においては、ユーザの力加減がうまく行かず（力の入り過ぎで）、ユーザがタップ操作を行おうとしてタッチパネルに接触させた指が当該ユーザの意に反して当該タッチパネル上を若干量滑ってしまうことがある。
【００１０】
このような場合において、携帯端末におけるタッチ操作判定と同様の判定手法により「タップ」であるか否かを判定すると、「タップ」であるとは正確に判断されず、ユーザは「タップ」操作をやり直すことを求められる。
【００１１】
そこで、本発明は、画像形成装置において、各種の事情（使用環境等）に応じてカスタマイズされたタッチ操作判定処理を容易に実現することが可能な技術を提供することを課題とする。
【課題を解決するための手段】
【００１２】
上記課題を解決すべく、請求項１の発明は、画像形成装置であって、ユーザによる複数の種類に係るタッチ操作を受け付けるタッチパネルと、前記タッチパネル上でのタッチイベントを検出する検出手段と、前記検出手段によって検出された前記タッチイベントに対応するタッチ操作種類を判定する操作種類判定手段と、前記タッチ操作種類に応じた描画動作を行う動作処理手段と、を備え、前記操作種類判定手段は、オブジェクト指向型のプログラムを実行することによって実現される処理手段であり、前記操作種類判定手段は、第１の個別操作群に関する判定処理を管理するジェスチャ判定部、を有し、前記ジェスチャ判定部は、制御用クラスライブラリにおいて予め準備されている基本ジェスチャ判定部クラスであって第２の個別操作群に関する判定処理を管理する基本ジェスチャ判定部クラスを継承して生成された拡張ジェスチャ判定部クラスをインスタンス化して実現される処理部であり、前記第１の個別操作群に関する第１の判定処理群は、前記第２の個別操作群に関する第２の判定処理群のいずれとも異なる判定処理を含むことを特徴とする。
【００１３】
請求項２の発明は、請求項１の発明に係る画像形成装置において、前記操作種類判定手段は、前記第１の個別操作群に関する判定用の特徴データを管理するジェスチャデータ管理部、をさらに有し、前記ジェスチャ判定部は、前記ジェスチャデータ管理部で管理されている前記特徴データに基づいて、前記タッチイベントに対応するタッチ操作種類を判定し、前記データ管理部は、制御用クラスライブラリにおいて予め準備されている基本ジェスチャデータ管理部クラスであって前記第２の個別操作群に関する判定用の特徴データを管理する基本ジェスチャデータ管理部クラスを継承して生成された拡張ジェスチャデータ管理部クラスをインスタンス化して実現される処理部であることを特徴とする。
【００１４】
請求項３の発明は、請求項２の発明に係る画像形成装置において、前記ジェスチャデータ管理部は、前記タッチ操作に関するステータスデータをも管理し、前記ジェスチャ判定部は、前記ステータスデータを前記ジェスチャデータ管理部から取得し、前記ステータスデータをも用いて前記タッチ操作種類を決定することを特徴とする。
【００１５】
請求項４の発明は、請求項１ないし請求項３のいずれかの発明に係る画像形成装置において、前記第１の個別操作群は、前記第２の個別操作群とは異なる種類の操作を含むことを特徴とする。
【００１６】
請求項５の発明は、請求項１ないし請求項３のいずれかの発明に係る画像形成装置において、前記第１の個別操作群は、前記第２の個別操作群に含まれる特定種類の操作と同一名称の特定操作であって前記特定種類の操作とは異なる基準でその該当性が判定される特定操作を含むことを特徴とする。
【００１７】
請求項６の発明は、画像形成装置に設けられるユーザインターフェイス装置であって、ユーザによる複数の種類に係るタッチ操作を受け付けるタッチパネルと、前記タッチパネル上でのタッチイベントを検出する検出手段と、前記検出手段によって検出された前記タッチイベントに対応するタッチ操作種類を判定する操作種類判定手段と、前記タッチ操作種類に応じた描画動作を行う動作処理手段と、を備え、前記操作種類判定手段は、オブジェクト指向型のプログラムを実行することによって実現される処理手段であり、前記操作種類判定手段は、第１の個別操作群に関する判定処理群を管理するジェスチャ判定部、を有し、前記ジェスチャ判定部は、制御用クラスライブラリにおいて予め準備されている基本ジェスチャ判定部クラスであって第２の個別操作群に関する判定処理群を管理する基本ジェスチャ判定部クラスを継承して生成された拡張ジェスチャ判定部クラスをインスタンス化して実現される処理部であり、前記第１の個別操作群に関する第１の判定処理群は、前記第２の個別操作群に関する第２の判定処理群のいずれとも異なる判定処理を含むことを特徴とする。
【００１８】
請求項７の発明は、ａ）画像形成装置のタッチパネル上で検出されたタッチイベントを取得するステップと、ｂ）前記タッチイベントに対応するタッチ操作種類を判定するステップと、ｃ）前記タッチ操作種類に応じた描画動作を行うステップと、をコンピュータに実行させるためのオブジェクト指向型のプログラムであって、前記ステップｂ）は、ｂ−１）第１の個別操作群に関する判定処理群を実行するステップ、を有し、前記ステップｂ−１）は、制御用クラスライブラリにおいて予め準備されている基本ジェスチャ判定部クラスであって第２の個別操作群に関する判定処理群を管理する基本ジェスチャ判定部クラスを継承して生成された拡張ジェスチャ判定部クラスをインスタンス化して実現されるオブジェクトを用いて実行され、前記第１の個別操作群に関する第１の判定処理群は、前記第２の個別操作群に関する第２の判定処理群のいずれとも異なる判定処理を含むことを特徴とする。
【発明の効果】
【００１９】
請求項１ないし請求項６に記載の発明によれば、第１の個別操作群に関する判定処理群を管理するジェスチャ判定部は、制御用クラスライブラリにおいて予め準備されている基本ジェスチャ判定部クラスであって第２の個別操作群に関する判定処理を管理する基本ジェスチャ判定部クラスを継承して生成された拡張ジェスチャ判定部クラスをインスタンス化して実現される。したがって、既存の資産を引き継ぎつつ、新たな機能を容易に追加することあるいは既存の機能を容易に改変することが可能である。すなわち、ソフトウエアの開発工数を削減しつつ、カスタマイズされたタッチ操作判定処理を容易に実現することが可能である。
【００２０】
請求項７に記載の発明によれば、第１の個別操作群に関する判定処理群は、制御用クラスライブラリにおいて予め準備されている基本ジェスチャ判定部クラスであって第２の個別操作群に関する判定処理群を管理する基本ジェスチャ判定部クラスを継承して生成された拡張ジェスチャ判定部クラスをインスタンス化して実現されるオブジェクトを用いて実行される。したがって、既存の資産を引き継ぎつつ、新たな機能を容易に追加あるいは既存の機能を容易に改変することが可能である。すなわち、ソフトウエアの開発工数を削減しつつ、カスタマイズされたタッチ操作判定処理を容易に実現することが可能である。
【図面の簡単な説明】
【００２１】
【図１】第１実施形態に係るＭＦＰ（画像形成装置）を示す図である。
【図２】ＭＦＰの概略構成を示す機能ブロック図である。
【図３】制御用クラスライブラリ内にて予め準備されている複数のクラスを示す図である。
【図４】比較例に係る一般的な携帯端末向けのタッチ操作種類を判定する処理部の構成を示す図である。
【図５】比較例に係る動作を示すタイミングチャートである。
【図６】拡張クラスライブラリにおける複数のクラスを示す図である。
【図７】ＭＦＰの操作パネル部向けのタッチ操作種類を判定する処理部の構成を示す機能ブロック図である。
【図８】実施形態に係るタッチ操作種類判定動作を示すタイミングチャートである。
【図９】拡張ジェスチャ判定部クラスを示す図である。
【図１０】操作パネルのタッチパネルに接触させた指がユーザの意に反して当該タッチパネル上を若干量滑ってしまう状況を示す図である。
【図１１】「タップ」判定後の表示画面を示す図である。
【図１２】ユーザが自らの意思でスワイプ操作を行っている状況を示す図である。
【図１３】「スワイプ」判定後の表示画面を示す図である。
【図１４】接触時において指がタッチパネル上を滑ってしまう状況を示している。
【図１５】「スワイプ」判定後の表示画面（携帯端末）を示す図である。
【図１６】拡張ジェスチャ判定部と拡張ジェスチャデータ管理部との間でステータスデータの授受等がなされる様子を示す図である。
【図１７】タップ操作に関するステータスの変遷を示す図である。
【図１８】拡張タップ判定部における判定処理を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態を図面に基づいて説明する。
【００２３】
＜１．第１実施形態＞
＜１−１．構成概要＞
図１は、第１実施形態に係る画像形成装置１０を示す図である。この実施形態では、画像形成装置１０として、ＭＦＰ（マルチ・ファンクション・ペリフェラル（Multi-Functional Peripheral））を例示する。
【００２４】
図２は、ＭＦＰ１０の概略構成を示す機能ブロック図である。
【００２５】
ＭＦＰ１０は、スキャン機能、コピー機能、ファクシミリ機能およびボックス格納機能などを備える装置（複合機とも称する）である。具体的には、ＭＦＰ１０は、図２の機能ブロック図に示すように、画像読取部２、印刷出力部３、通信部４、格納部５、入出力部６およびコントローラ９等を備えており、これらの各部を複合的に動作させることによって、各種の機能を実現する。
【００２６】
画像読取部２は、ＭＦＰ１０の所定の位置に載置された原稿を光学的に読み取って（すなわちスキャンして）、当該原稿の画像データ（原稿画像なしいスキャン画像とも称する）を生成する処理部である。この画像読取部２は、スキャン部であるとも称される。
【００２７】
印刷出力部３は、印刷対象に関するデータに基づいて紙などの各種の媒体に画像を印刷出力する出力部である。
【００２８】
通信部４は、公衆回線等を介したファクシミリ通信を行うことが可能な処理部である。さらに、通信部４は、通信ネットワークを介したネットワーク通信を行うことも可能である。このネットワーク通信では、たとえば、ＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）等の各種のプロトコルが利用される。当該ネットワーク通信を利用することによって、ＭＦＰ１０は、所望の相手先との間で各種のデータを授受することが可能である。
【００２９】
格納部５は、ハードディスクドライブ（ＨＤＤ）等の記憶装置で構成される。
【００３０】
入出力部６は、ＭＦＰ１０に対する入力を受け付ける操作入力部６ａと、各種情報の表示出力を行う表示部６ｂとを備えている。このＭＦＰ１０においては、液晶表示パネルに各種センサ等が埋め込まれて構成されたタッチパネル（タッチスクリーンとも称する）（図１参照）を有する操作パネル部６ｃが設けられている。この操作パネル部６ｃは、操作入力部６ａの一部としても機能するとともに、表示部６ｂの一部としても機能する。
【００３１】
操作パネル部６ｃ内のタッチパネルは、ユーザによる複数の種類に係るタッチ操作を受け付ける。具体的には、「タップ」操作および「スワイプ」操作等を含む複数の種類の操作が受け付けられる。
【００３２】
コントローラ９は、ＭＦＰ１０に内蔵され、ＭＦＰ１０を統括的に制御する制御装置である。コントローラ９は、ＣＰＵおよび各種の半導体メモリ（ＲＡＭおよびＲＯＭ）等を備えるコンピュータシステムとして構成される。コントローラ９は、ＣＰＵにおいて、ＲＯＭ（例えば、ＥＥＰＲＯＭ）内に格納されている所定のソフトウエアプログラム（以下、単にプログラムとも称する）ＰＧ１を実行することによって、各種の処理部を実現する。プログラムＰＧ１は、オブジェクト指向型のプログラムとして作成されている。
【００３３】
なお、当該プログラムＰＧ１は、ＵＳＢメモリなどの可搬性の記録媒体に記録され、当該記録媒体を介してＭＦＰ１０にインストールされるようにしてもよい。あるいは当該プログラムＰＧ１は、ネットワークＮＷ等を介してダウンロードされてＭＦＰ１０にインストールされるようにしてもよい。
【００３４】
図２に示すように、コントローラ９は、プログラムＰＧ１を実行することによって、検出部１２と操作種類判定部１４と描画動作処理部１６とを含む各種の処理部を実現する。
【００３５】
検出部１２は、タッチパネル上でのタッチイベント（詳細には、タッチ状態（「オン」状態）およびタッチ解除状態（「オフ」状態）等）を検出する処理部である。
【００３６】
操作種類判定部１４は、複数のタッチ操作種類の中から、検出部１２によって検出されたタッチイベントに対応するタッチ操作種類を特定（判定）する処理部である。
【００３７】
描画動作処理部１６は、操作種類判定部１４で判定されたタッチ操作種類に応じた描画動作を行う処理部である。
【００３８】
具体的には、タッチ操作種類が「タップ」（タッチパネルを指で叩く操作）であると判定されると、描画動作処理部１６は、タップ操作種類に応じた描画動作を実行する。たとえば、複数の送信先アドレスが列挙された送信先リストにおいて「タップ」操作により所望のアドレスが選択されると、描画動作処理部１６は、当該選択された送信アドレス欄を強調表示する（図１０および図１１参照）。
【００３９】
あるいは、タッチ操作種類が「スワイプ」（指をタッチパネルに接触させたまま指を滑らせる操作）であると判定されると、描画動作処理部１６は、スワイプ操作に応じた画面遷移処理を実行する。たとえば、複数の送信先アドレスが列挙された送信先リストにおいて上向きに「スワイプ」操作が行われると、描画動作処理部１６は、表示中ページを画面内に上向きに移動させる画面更新動作を実行する（図１２および図１３参照）。
【００４０】
以下では、操作種類判定部１４について詳細に説明する。
【００４１】
＜１−２．制御用クラスライブラリＬＢによる携帯端末制御（比較例）＞
＜制御用クラスライブラリＬＢ＞
まず、操作種類判定部１４の詳細説明に先立って、タッチ操作に関する制御用クラスライブラリＬＢ等について説明する。
【００４２】
図３は、オブジェクト指向型のプログラムに関する制御用クラスライブラリＬＢにおいて予め準備されている複数の「クラス」を示す図である。ここで、オブジェクト指向型のプログラム言語としては、Ｊａｖａ（登録商標）、Ｃ＋＋、Ｃ＃等が存在する。オブジェクト指向型プログラムにおける「クラス」は、変数（データないしフィールドなどとも称する）と手続き（メソッドないし関数などとも称する）との双方を有する構造体として記述される。
【００４３】
この制御用クラスライブラリＬＢには、携帯端末等におけるタッチ操作を管理する機能を有する各種クラスが準備されている。
【００４４】
制御用クラスライブラリＬＢには、ベースソフト部クラスＣ３１、基本（ないし標準）ジェスチャ判定部クラスＣ３３、および基本個別操作判定部クラスＣ３３１，Ｃ３３２，...が設けられている。制御用クラスライブラリＬＢには、基本ジェスチャデータ管理部クラスＣ３４、および基本個別データ管理部クラスＣ３４１，Ｃ３４２，...も設けられている。
【００４５】
基本ジェスチャ判定部クラスＣ３３は、携帯端末等でのタッチ操作に係る基本的な個別操作群（基本個別操作群とも称する）に関する判定処理を管理するクラスである。この基本ジェスチャ判定部クラスＣ３３は、ベースソフト部クラスＣ３１を継承して生成されたクラスである。また、基本ジェスチャ判定部クラスＣ３３は、その内部クラスとして、基本個別操作判定部クラスＣ３３１，Ｃ３３２，...を有している。換言すれば、基本個別操作判定部クラスＣ３３１，Ｃ３３２，...は、基本ジェスチャ判定部クラスＣ３３の内部クラス（クラス内クラス）である。
【００４６】
また、基本ジェスチャデータ管理部クラスＣ３４は、基本個別操作群に関する判定用の特徴データを管理するクラスである。基本ジェスチャデータ管理部クラスＣ３４は、ベースソフト部クラスＣ３１を継承して生成されたクラスである。また、基本ジェスチャデータ管理部クラスＣ３４は、その内部クラスとして、基本個別データ管理部クラスＣ３４１，Ｃ３４２，...を有している。換言すれば、基本個別データ管理部クラスＣ３４１，Ｃ３４２，...は、基本ジェスチャデータ管理部クラスＣ３４の内部クラス（クラス内クラス）である。
【００４７】
＜携帯端末等におけるタッチ操作判定部（比較例）＞
たとえば、一般的な携帯端末においてタッチ操作の種類を判定する際に上記の各クラスＣ３３，Ｃ３４をそれぞれインスタンス化して生成されるオブジェクトによって、後述する基本ジェスチャ判定部３３および基本ジェスチャデータ管理部３４等が実現され得る。より具体的には、一般的な携帯端末においてタッチ操作の種類を判定する処理部において、上記の各クラスＣ３３，Ｃ３４を用いて各処理部３３，３４が実現され得る。以下では、まず、このような比較例について説明する。
【００４８】
まず、基本ジェスチャ判定部クラスＣ３３をインスタンス化することによってオブジェクト（ジェスチャ判定オブジェクト）が生成される。当該ジェスチャ判定オブジェクトは、基本ジェスチャ判定部クラスＣ３３に規定されたメソッドで表現される機能を有する処理部である。当該ジェスチャ判定オブジェクトは、継承元のベースソフト部クラスＣ３１に規定されたメソッドで表現される機能をも有している。また、当該ジェスチャ判定オブジェクトは、基本ジェスチャ判定部クラスＣ３３の内部クラス（クラス内クラス）（基本個別操作判定部クラスＣ３３１，Ｃ３３２，...）にそれぞれ規定されたメソッドで表現される機能をも有している。当該ジェスチャ判定オブジェクトは、ベースソフト部３１、基本ジェスチャ判定部３３、および複数の基本個別操作判定部３３１，３３２，...（後述）の各機能を有する（図４参照）。
【００４９】
また、基本ジェスチャデータ管理部クラスＣ３４をインスタンス化することによって別のオブジェクト（データ管理オブジェクト）が生成される。当該データ管理オブジェクトは、基本ジェスチャデータ管理部クラスＣ３４に規定されたメソッドで表現される機能を有する処理部である。当該データ管理オブジェクトは、継承元のベースソフト部クラスＣ３１に規定されたメソッドで表現される機能をも有している。また、当該データ管理オブジェクトは、基本ジェスチャデータ管理部クラスＣ３４の内部クラス（クラス内クラス）（基本個別データ管理部クラスＣ３４１，Ｃ３４２，...）にそれぞれ規定されたメソッドで表現される機能をも有している。当該データ管理オブジェクトは、ベースソフト部３１、基本ジェスチャデータ管理部３４、および複数の基本個別操作判定用データ管理部３４１，３４２，...（後述）の各機能を有する（図４参照）。
【００５０】
図４は、比較例に係る一般的な携帯端末向けのタッチ操作種類を判定する処理部の構成を示す機能ブロック図である。図４においては、基本ジェスチャ判定部３３およびその周辺の機能処理部が示されている。
【００５１】
図４に示すように、基本ジェスチャ判定部３３は、複数の基本個別操作判定部３３１，３３２，...を有している。基本ジェスチャ判定部３３は、複数の基本個別操作判定部３３１，３３２，...を統括する処理部である。一方、複数の基本個別操作判定部３３１，３３２，...は、「ユーザによるタッチ操作が、基本的な複数の個別操作（基本個別操作群）のそれぞれに該当するか否か」を判定する処理部である。基本個別操作判定部３３１は、ユーザによるタッチ操作が「タップ」であるか否かを判定する処理部であり、（基本）タップ判定部とも称される。また、基本個別操作判定部３３２は、ユーザによるタッチ操作が「スワイプ」であるか否かを判定する処理部であり、（基本）スワイプ判定部とも称される。
【００５２】
また、基本ジェスチャデータ管理部３４は、複数の基本個別操作判定用データ管理部３４１，３４２，...を有している。基本ジェスチャデータ管理部３４は、複数の基本個別操作判定用データ管理部３４１，３４２，...を統括する処理部である。一方、複数の基本個別操作判定用データ管理部３４１，３４２，...は、「ユーザによるタッチ操作が、基本個別操作群のそれぞれに該当するか否か」を判定するためのデータを管理する処理部である。基本個別操作判定用データ管理部３４１は、ユーザによるタッチ操作が「タップ」であるか否かを判定するためのデータ（タッチ継続時間の上限値Ｔ１（たとえば、０．２秒）等）を管理する処理部であり、（基本）タップデータ管理部とも称される。また、基本個別操作判定用データ管理部３４２は、ユーザによるタッチ操作が「スワイプ」であるか否かを判定するためのデータ（タッチ時にスワイプであると判断する指ずれ量の最小値ｄ２（たとえば１ミリメートル）等）を管理する処理部であり、（基本）スワイプデータ管理部とも称される。
【００５３】
＜比較例に係る動作＞
図５は、比較例に係る動作を示すタイミングチャートである。図５においては、上記の各処理部３３，３４等の動作が示されている。
【００５４】
図５を参照しながら、基本ジェスチャ判定部３３および基本ジェスチャデータ管理部３４の動作について説明する。
【００５５】
基本ジェスチャ判定部３３は、複数の基本個別操作判定部３３１，３３２，...に対して個別具体的な判定処理の実行を指示する。
【００５６】
具体的には、基本ジェスチャ判定部３３は、最初の個別操作判定処理、詳細にはタッチ操作がタップ操作であるか否かをタッチイベントデータに基づき判定する処理（タップ判定処理）を、基本タップ判定部３３１に実行させる。
【００５７】
基本タップ判定部３３１は、まず、検出部１２で検出されたタッチイベントデータを受け取る（取得する）（図５のステップＳ１，Ｓ２参照）。詳細には、当該タッチイベントデータは、検出部１２から基本ジェスチャ判定部３３へと受け渡され（ステップＳ１）、さらに基本ジェスチャ判定部３３から基本タップ判定部３３１へと受け渡される（ステップＳ２）。当該イベントデータには、タッチ操作に関するタッチ状態（「オン」（接触状態）および「オフ」（非接触状態））の経時変化を示すデータ（接触検出信号の時系列データ等）、ならびにタッチパネル内でのタッチ位置（接触位置）の経時変化を示すデータ（タッチ位置の時系列データ等）が含まれる。
【００５８】
また、基本タップ判定部３３１は、基本ジェスチャデータ管理部３４および基本タップデータ管理部３４１を経由して、タップ操作に関する該当性（判定対象のタッチ操作がタップ操作に該当するか否か）を判定するための特徴データ（タップ判定用特徴データ）を取得する（ステップＳ３，Ｓ４，Ｓ５，Ｓ６）。詳細には、基本タップ判定部３３１が基本ジェスチャデータ管理部３４を経由して基本タップデータ管理部３４１に対して当該特徴データの取得要求を付与する（ステップＳ３，Ｓ４）。当該基本タップデータ管理部３４１は、当該取得要求に応答して、基本ジェスチャデータ管理部３４を経由して基本タップ判定部３３１に対して当該特徴データを受け渡す（ステップＳ５，Ｓ６）。具体的には、基本タップ判定部３３１は、タップであると判断するためのタッチ継続時間の上限値Ｔ１（たとえば０．２秒）とタッチ時に許容される指のずれ量の最大値ｄ１（たとえば、０．５ミリメートル）とを、タップ判定用特徴データとして、基本タップデータ管理部３４１から取得する。
【００５９】
そして、基本タップ判定部３３１は、タッチイベントデータと特徴データとに基づいて、タッチ操作がタップ操作であるか否かを判定する（ステップＳ７）。
【００６０】
具体的には、基本タップ判定部３３１は、タッチイベントデータに基づいて、タッチ状態の「オン」および「オフ」の存在を確認し、「オン」時点（接触開始時点）と「オフ」時点（接触解除時点）との時間間隔をタッチ継続時間として算出する。また、基本タップ判定部３３１は、イベントデータに基づいて、「オン」時点でのタッチ位置と「オフ」時点でのタッチ位置との両タッチ位置を求め、当該両タッチ位置の差分に基づいてタッチ時の指のずれ量を算出する。
【００６１】
基本タップ判定部３３１は、タッチ継続時間が上限値Ｔ１を超えず且つタッチ時の指のずれ量が最大値ｄ１以下のタッチ操作（端的に言えば、指ずれがほぼ存在しない短期間のタッチ操作）を、「タップ」操作として判定する。このような判定結果は、基本ジェスチャ判定部３３により取得され（ステップＳ８）、基本ジェスチャ判定部３３から描画動作処理部１６に受け渡される（ステップＳ９）。これにより、基本ジェスチャ判定部３３（基本タップ判定部３３１）によるタッチ操作判定処理は終了する。
【００６２】
逆に、タッチ継続時間が上限値以上あるいはタッチ時の指のずれ量が最大値ｄ１以上のタッチ操作は、「タップ」操作ではないと判定される。なお、接触開始時点あるいは接触解除時点の少なくとも一方が存在しない場合には、「タップ」操作は少なくとも完遂されていないと判定される。したがって、この場合にも、当該タッチ操作は「タップ」操作ではないと判定される。
【００６３】
次に、基本ジェスチャ判定部３３は、基本タップ判定部３３１による当該判定結果（タッチ操作が「タップ」操作ではない旨の判定結果）を受けて、当該タッチ操作がスワイプ操作であるか否かをタッチイベントデータに基づき判定する処理を、基本スワイプ判定部３３２に実行させる。
【００６４】
基本スワイプ判定部３３２は、検出部１２で検出されたタッチイベントデータを取得する。また、基本スワイプ判定部３３２は、基本ジェスチャデータ管理部３４および基本スワイプデータ管理部３４２を経由して、スワイプ操作に関する該当性を判定するための特徴データ（スワイプ判定用特徴データ）を取得する。そして、基本スワイプ判定部３３２は、タッチイベントデータと当該特徴データとに基づいて、タッチ操作がスワイプ操作であるか否かを判定する。
【００６５】
具体的には、基本スワイプ判定部３３２は、タッチ時にスワイプであると判断する指ずれ量の最小値ｄ２（たとえば１ミリメートル）を取得する。そして、タッチ時の指のずれ量が最小値ｄ２以上のタッチ操作は、「スワイプ」操作であると判定される。
【００６６】
図１４は、操作パネル部６ｃのタッチパネルに接触させた指が当該タッチパネル上を有意な距離ｄ（＞ｄ２）滑ってしまう状況を示している。このような状況においては、当該タッチ操作は、「タップ」ではなく「スワイプ」であると判定される。その後、図１５に示すような描画処理（スワイプ操作によってアドレス表示領域ＲＥ（詳細には、ユーザ「ＢＢＢ」〜「ＧＧＧ」の表示領域）が上側にスライド移動される処理等）が行われる。
【００６７】
なお、ここでは、複数の個別のタッチ操作判定処理（個別操作判定処理とも称する）のうち、タップ操作判定処理およびスワイプ操作判定処理について詳細に説明したが、その他の個別のタッチ操作判定処理（フリック操作判定処理等）も同様にして実行される。
【００６８】
＜１−３．ＭＦＰ操作パネルへの適用＞
＜概略＞
ところで、上述のように、ＭＦＰ１０の操作パネル部６ｃに対するタッチ操作に関しては、携帯端末等でのタッチ操作とは若干異なる事情が存在する。
【００６９】
たとえば、上述のように、画像形成装置に固定された操作パネルをユーザが立った状態で操作する状況において、ユーザの力加減がうまく行かず（力の入り過ぎで）、ユーザがタップ操作を行おうとしてタッチパネルに接触させた指が当該ユーザの意に反して当該タッチパネル上を若干量滑ってしまうことがある。
【００７０】
このような場合において、上記比較例の判定手法により「タップ」であるか否かを判定すると、「タップ」であるとは正確に判断されず、「スワイプ」であると判定されることもある。その場合、ユーザは「タップ」操作のやり直しを求められる。
【００７１】
そこで、この実施形態では、「タップ」操作と判断する際の基準を調整してタップ操作を判断する。具体的には、微小時間以内の接触期間を有するタッチ操作において指がずれた場合でも当該指のずれ量が基準距離ｄ１以下であるときには、当該タッチ操作は「タップ」であると判定される。これにより、当該タッチ操作が「スワイプ」であると判定されることが回避される。
【００７２】
このように、ＭＦＰ１０の操作パネル部６ｃに対するタッチ操作判定に関しては、携帯端末等でのタッチ操作判定とは異なる判定が行われる。換言すれば、ＭＦＰ１０の操作パネル部６ｃのタッチパネルに関する個別操作群（拡張個別操作群）は、携帯端末のタッチパネルに関する個別操作群（基本個別操作群）と比較して、少なくとも１つの異なる内容の操作を含み、基本個別操作群の判定処理とは異なる内容の処理が当該拡張個別操作群の判定処理において実行される。すなわち、拡張個別操作群（タップ操作およびスワイプ操作等）に関する判定処理群（拡張個別判定処理群）は、基本個別操作群（タップ操作およびスワイプ操作等）に関する判定処理群（基本個別判定処理群）のいずれとも異なる判定処理（独自の判定処理）を含む。この実施形態においては、「タップ」操作に関する該当性を判断する際の基準のみならず「スワイプ」操作に関する該当性を判断する際の基準も変更されるため、拡張個別操作群に関する判定処理群は、基本個別操作群に関する判定処理群のいずれとも異なる２つの判定処理を含む。
【００７３】
なお、このような判定処理は、ジェスチャ判定部３５およびジェスチャデータ管理部３６（次述）によって実行される。
【００７４】
＜拡張クラスライブラリＬＥ＞
つぎに、この実施形態に係るＭＦＰ１０の操作種類判定部１４について詳細に説明する。この操作種類判定部１４は、上記の制御用クラスライブラリＬＢを利用して実現される。
【００７５】
操作種類判定部１４は、ジェスチャ判定部３５とジェスチャデータ管理部３６とを有する。ジェスチャ判定部３５は、ＭＦＰ１０の操作パネル部６ｃに対する個別操作群（「タップ操作」および「スワイプ操作」等）に関する判定処理を管理する処理部である。ジェスチャデータ管理部３６は、当該操作パネル部６ｃに対する個別操作群（拡張個別操作群）に関する判定用の特徴データを管理する処理部である。
【００７６】
ジェスチャ判定部３５およびジェスチャデータ管理部３６は、制御用クラスライブラリＬＢを拡張した拡張（制御用）クラスライブラリＬＥ（図６参照）を利用して実現される。
【００７７】
図６は、拡張クラスライブラリＬＥにおける複数の「クラス」を示す図である。
【００７８】
拡張クラスライブラリＬＥには、基本クラスライブラリＬＢ内の各種のクラスに加えて、拡張ジェスチャ判定部クラスＣ３５および拡張ジェスチャデータ管理部クラスＣ３６も設けられている。
【００７９】
拡張ジェスチャ判定部クラスＣ３５は、ＭＦＰ１０の操作パネル部６ｃでのタッチ操作に係る個別操作群（拡張個別操作群とも称する）に関する判定処理を管理するクラスである。拡張ジェスチャ判定部クラスＣ３５は、制御用クラスライブラリＬＢ内において予め準備されている基本ジェスチャ判定部クラスＣ３３を継承して生成されたクラスである。また、拡張ジェスチャ判定部クラスＣ３５は、その内部クラスとして、拡張個別操作判定部クラスＣ３５１，Ｃ３５２，...を有している。換言すれば、拡張個別操作判定部クラスＣ３５１，Ｃ３５２，...は、拡張ジェスチャ判定部クラスＣ３５の内部クラス（クラス内クラス）である。
【００８０】
また、拡張ジェスチャデータ管理部クラスＣ３６は、拡張個別操作群に関する判定用の特徴データを管理するクラスである。拡張ジェスチャデータ管理部クラスＣ３６は、制御用クラスライブラリＬＢ内において予め準備されている基本ジェスチャデータ管理部クラスＣ３４を継承して生成されたクラスである。拡張ジェスチャデータ管理部クラスＣ３６は、その内部クラスとして、拡張個別データ管理部クラスＣ３６１，Ｃ３６２，...を有している。換言すれば、拡張個別データ管理部クラスＣ３６１，Ｃ３６２，...は、拡張ジェスチャデータ管理部クラスＣ３６の内部クラス（クラス内クラス）である。
【００８１】
上述のように、拡張ジェスチャ判定部クラスＣ３５は、基本ジェスチャ判定部クラスＣ３３を継承して生成されたクラスである。図９は、このような継承を伴った拡張ジェスチャ判定部クラスＣ３５を示す図である。
【００８２】
図９に示すように、拡張ジェスチャ判定部クラスＣ３５は、基本ジェスチャ判定部クラスＣ３３からそのまま継承した継承メソッドと、基本ジェスチャ判定部クラスＣ３３に追加した追加メソッドとを有している。追加メソッドには、新規に追加した新規追加メソッド、および／または、基本ジェスチャ判定部クラスＣ３３と同一名称のメソッドに上書きした上書きメソッドが存在する。
【００８３】
拡張ジェスチャ判定部クラスＣ３５にてこのような継承を行うことによれば、拡張個別操作群（比較例に係る基本操作とは異なる操作を含む操作群）に関する判定を行う「タッチ操作種類判定」に関して、既存の基本ジェスチャ判定部クラスＣ３３を有効に利用して拡張ジェスチャ判定部クラスＣ３５を容易に生成することが可能である。より詳細には、基本ジェスチャ判定部クラスＣ３３とは異なる部分を追加メソッドとして拡張ジェスチャ判定部クラスＣ３５において規定することによって、ＭＦＰ１０の操作パネル部６ｃ用のタッチ操作種類判定処理ルーチンを容易に構築することが可能である。
【００８４】
また、拡張ジェスチャデータ管理部クラスＣ３６についても同様である。拡張ジェスチャデータ管理部クラスＣ３６は、基本ジェスチャデータ管理部クラスＣ３４を継承して生成されたクラスである。
【００８５】
拡張ジェスチャデータ管理部クラスＣ３６は、基本ジェスチャデータ管理部クラスＣ３４からそのまま継承した継承メソッドと、基本ジェスチャデータ管理部クラスＣ３４に追加した追加メソッドとを有している。追加メソッドには、新規に追加した新規追加メソッド、および／または、基本ジェスチャデータ管理部クラスＣ３４のメソッドと同一名称のメソッドに上書きした上書きメソッドが存在する。
【００８６】
拡張ジェスチャデータ管理部クラスＣ３６にてこのような継承を行うことによれば、拡張個別操作群（比較例に係る基本操作とは異なる操作を含む操作群）に関する判定を行う「タッチ操作種類判定」に関して、既存の基本ジェスチャデータ管理部クラスＣ３４を有効に利用して拡張ジェスチャデータ管理部クラスＣ３６を容易に生成することが可能である。より詳細には、基本ジェスチャデータ管理部クラスＣ３４とは異なる部分を追加メソッドとして拡張ジェスチャデータ管理部クラスＣ３６において規定することによって、ＭＦＰ１０の操作パネル部６ｃ用のタッチ操作種類判定処理に関するデータ管理ルーチンを容易に構築することが可能である。
【００８７】
＜操作種類判定部１４における各処理部＞
この実施形態においては、ＭＦＰ１０の操作パネル部６ｃにおけるタッチ操作の種類を判定する処理に関し、上記の各クラスＣ３５，Ｃ３６をそれぞれインスタンス化して生成されるオブジェクトによって、後述の（拡張）ジェスチャ判定部３５および（拡張）ジェスチャデータ管理部３６等が実現される（図７も参照）。
【００８８】
まず、ジェスチャ判定部３５は、（制御用クラスライブラリＬＢ内において予め準備されている基本ジェスチャ判定部クラスＣ３３を継承して生成された）拡張ジェスチャ判定部クラスＣ３５をインスタンス化して実現される（図６および図７参照）。ジェスチャ判定部３５は、拡張ジェスチャ判定部とも称される。
【００８９】
具体的には、拡張ジェスチャ判定部クラスＣ３５をインスタンス化することによってオブジェクト（拡張ジェスチャ判定オブジェクト）が生成される。当該拡張ジェスチャ判定オブジェクトは、拡張ジェスチャ判定部クラスＣ３５に規定されたメソッドで表現される機能を有する処理部である。当該拡張ジェスチャ判定オブジェクトは、継承元の基本ジェスチャ判定部クラスＣ３３に規定されたメソッドで表現される機能をも有している。また、当該拡張ジェスチャ判定オブジェクトは、拡張ジェスチャ判定部クラスＣ３５の内部クラス（クラス内クラス）（拡張個別操作判定部クラスＣ３５１，Ｃ３５２，...）にそれぞれ規定されたメソッドで表現される機能をも有している。換言すれば、当該拡張ジェスチャ判定オブジェクトは、ベースソフト部３１、基本ジェスチャ判定部３３、拡張ジェスチャ判定部３５、および複数の拡張個別操作判定部３５１，３５２，...の各機能を有する。
【００９０】
また、ジェスチャデータ管理部３６は、（制御用クラスライブラリＬＢ内において予め準備されている基本ジェスチャデータ管理部クラスＣ３４を継承して生成された）拡張ジェスチャデータ管理部クラスＣ３６をインスタンス化して実現される（図６および図７参照）。ジェスチャデータ管理部３６は、拡張ジェスチャデータ管理部とも称される。
【００９１】
具体的には、拡張ジェスチャデータ管理部クラスＣ３６をインスタンス化することによって、拡張ジェスチャ判定オブジェクトとは別のオブジェクト（拡張データ管理オブジェクト）が生成される。当該拡張データ管理オブジェクトは、拡張ジェスチャデータ管理部クラスＣ３６に規定されたメソッドで表現される機能を有する処理部である。当該拡張データ管理オブジェクトは、継承元の基本ジェスチャデータ管理部クラスＣ３４に規定されたメソッドで表現される機能をも有している。また、当該拡張データ管理オブジェクトは、拡張ジェスチャデータ管理部クラスＣ３６の内部クラス（クラス内クラス）（拡張個別データ管理部クラスＣ３６１，Ｃ３６２，...）にそれぞれ規定されたメソッドで表現される機能をも有している。換言すれば、当該データ管理オブジェクトは、ベースソフト部３１および拡張ジェスチャデータ管理部３６、および複数の拡張個別操作判定用データ管理部３６１，３６２，...を実現する処理部である（図７参照）。
【００９２】
なお、この実施形態においては、拡張ジェスチャ判定部３５が基本ジェスチャ判定部３３に代えて設けられ、拡張ジェスチャデータ管理部３６が基本ジェスチャデータ管理部３４に代えて設けられる。この実施形態に係る操作種類判定部１４には、継承元の基本ジェスチャ判定部クラスＣ３３に対応する基本ジェスチャ判定部３３は存在せず、且つ、継承元の基本ジェスチャデータ管理部クラスＣ３４に対応する基本ジェスチャデータ管理部３４も存在しない。
【００９３】
図７は、この実施形態に係る操作パネル部６ｃ向けのタッチ操作種類を判定する処理部の構成を示す機能ブロック図である。図７においては、拡張ジェスチャ判定部３５およびその周辺の機能処理部が示されている。
【００９４】
図７に示すように、拡張ジェスチャ判定部３５は、複数の拡張個別操作判定部３５１，３５２，...を有している。拡張ジェスチャ判定部３５は、複数の拡張個別操作判定部３５１，３５２，...を統括する処理部である。一方、複数の拡張個別操作判定部３５１，３５２，...は、「ユーザによるタッチ操作が、操作パネル部６ｃに対する複数の個別操作（複数の個別タッチ操作）に係る個別操作群（拡張個別操作群）のそれぞれに該当するか否か」を判定する処理部である。拡張個別操作判定部３５１は、ユーザによるタッチ操作が「タップ」であるか否かを判定する処理部であり、（拡張）タップ判定部とも称される。また、拡張個別操作判定部３５２は、ユーザによるタッチ操作が「スワイプ」であるか否かを判定する処理部であり、（拡張）スワイプ判定部とも称される。
【００９５】
また、拡張ジェスチャデータ管理部３６は、複数の拡張個別操作判定用データ管理部３６１，３６２，...を有している。拡張ジェスチャデータ管理部３６は、複数の拡張個別操作判定用データ管理部３６１，３６２，...を統括する処理部である。一方、複数の拡張個別操作判定用データ管理部３６１，３６２，...は、「ユーザによるタッチ操作が、複数の個別操作群（拡張個別操作群）のそれぞれに該当するか否か」を判定するためのデータを管理する処理部である。
【００９６】
拡張個別操作判定用データ管理部３６１は、ユーザによるタッチ操作が「タップ」であるか否かを判定するためのデータを管理する処理部であり、（拡張）タップデータ管理部とも称される。拡張タップデータ管理部３６１は、タップであると判断するためのタッチ継続時間の上限値Ｔ１１（たとえば０．２秒）を有するとともに、タッチ時に許容される指のずれ量の最大値ｄ１１（たとえば４ミリメートル）をも有する。
【００９７】
また、拡張個別操作判定用データ管理部３６２は、ユーザによるタッチ操作が「スワイプ」であるか否かを判定するためのデータを管理する処理部であり、（拡張）スワイプデータ管理部とも称される。拡張スワイプデータ管理部３６２は、スワイプであると判断するためのタッチ継続時間の下限値Ｔ１２（たとえば０．２秒）を有するとともに、タッチ時にスワイプであると判断するための指ずれ量の最小値ｄ１２（たとえば４ミリメートル）をも有する。
【００９８】
＜操作種類判定部１４の動作＞
図８は、この実施形態に係るタッチ操作種類判定動作を示すタイミングチャートである。図８においては、上記の各処理部３５，３６等の動作が示されている。
【００９９】
図８を参照しながら、このような拡張ジェスチャ判定部３５および拡張ジェスチャデータ管理部３６の動作について説明する。なお、拡張ジェスチャ判定部３５による各処理は拡張ジェスチャ判定オブジェクトを用いて実行され、拡張ジェスチャデータ管理部３６による各処理は拡張データ管理オブジェクトを用いて実行される。
【０１００】
拡張ジェスチャ判定部３５は、複数の拡張個別操作判定部３５１，３５２，...に対して個別具体的な判定処理の実行を指示し、当該複数の拡張個別操作判定部３５１，３５２，...と協働して、ユーザによるタッチ操作の種類（タッチ操作種類）を判定する。
【０１０１】
具体的には、拡張ジェスチャ判定部３５は、最初の個別操作判定処理、詳細にはタッチ操作がタップ操作であるか否かをタッチイベントデータに基づき判定する処理（タップ判定処理）を、拡張タップ判定部３５１に実行させる。
【０１０２】
拡張タップ判定部３５１は、まず、検出部１２で検出されたタッチイベントデータを受け取る（取得する）（図８のステップＳ１１，Ｓ１２参照）。詳細には、当該タッチイベントデータは、検出部１２から拡張ジェスチャ判定部３５へと受け渡され（ステップＳ１１）、さらに拡張ジェスチャ判定部３５から拡張タップ判定部３５１へと受け渡される（ステップＳ１２）。当該イベントデータには、タッチ操作に関するタッチ状態（「オン」（接触状態）および「オフ」（非接触状態））の経時変化を示すデータ（接触検出信号の時系列データ等）、ならびにタッチパネル内でのタッチ位置（接触位置）の経時変化を示すデータ（タッチ位置の時系列データ等）が含まれる。
【０１０３】
また、拡張タップ判定部３５１は、拡張ジェスチャデータ管理部３６および拡張タップデータ管理部３６１を経由して、タップ操作に関する該当性（判定対象のタッチ操作がタップ操作に該当するか否か）を判定するための特徴データ（タップ判定用特徴データ）を取得する（ステップＳ１３，Ｓ１４，Ｓ１５，Ｓ１６）。詳細には、拡張タップ判定部３５１が拡張ジェスチャデータ管理部３６を経由して拡張タップデータ管理部３６１に対して当該特徴データの取得要求を付与する（ステップＳ１３，Ｓ１４）。当該拡張タップデータ管理部３６１は、当該取得要求に応答して、拡張ジェスチャデータ管理部３６を経由して拡張タップ判定部３５１に対して当該特徴データを受け渡す（ステップＳ１５，Ｓ１６）。具体的には、拡張タップ判定部３５１は、タッチ継続時間の上限値Ｔ１１（たとえば０．２秒）とタッチ時に許容される指のずれ量の最大値ｄ１１（たとえば４ミリメートル）とを拡張タップデータ管理部３６１からタップ判定用特徴データとして取得する。なお、値ｄ１１は、値ｄ１よりも大きな値である。
【０１０４】
そして、拡張タップ判定部３５１は、タッチイベントデータと特徴データとに基づいて、タッチ操作がタップ操作であるか否かを判定する（ステップＳ１７）。
【０１０５】
具体的には、拡張タップ判定部３５１は、タッチイベントデータに基づいて、タッチ状態の「オン」および「オフ」の存在を確認し、「オン」時点（接触開始時点）と「オフ」時点（接触解除時点）との時間間隔をタッチ継続時間として算出する。また、拡張タップ判定部３５１は、イベントデータに基づいて、「オン」時点でのタッチ位置と「オフ」時点でのタッチ位置との両タッチ位置を求め、当該両タッチ位置の差分に基づいてタッチ時の指のずれ量を算出する。
【０１０６】
拡張タップ判定部３５１は、タッチ継続時間が上限値Ｔ１１を超過せず且つタッチ時の指のずれ量が最大値ｄ１１以下のタッチ操作を、「タップ」操作として判定する。これによれば、ユーザがタップ操作を行おうとしてタッチパネルに接触させた指が当該ユーザの意に反して当該タッチパネル上を若干量滑ってしまう場合においても、当該指のずれ量ｄが基準距離ｄ１１以下であるときには、当該タッチ操作は「タップ」であると判定される。これにより、当該タッチ操作が「スワイプ」であると判定されることが回避される。
【０１０７】
図１０は、操作パネル部６ｃのタッチパネルに接触させた指がユーザの意に反して当該タッチパネル上を若干量ｄ（ｄ＜基準距離ｄ１１）滑ってしまう状況を示している。このような状況においても、上記のような本実施形態に係る判定処理によれば、当該タッチ操作は「タップ」であると判定される。また、この判定結果は、拡張ジェスチャ判定部３５により取得され（ステップＳ１８）、拡張ジェスチャ判定部３５から描画動作処理部１６に受け渡される（ステップＳ１９）。これにより、拡張ジェスチャ判定部３５（拡張タップ判定部３５１）によるタッチ操作判定処理は終了する。
【０１０８】
その後、図１１に示すような描画処理（タッチ操作によって選択された領域「ＣＣＣ」が強調表示（ここでは着色表示）される処理）が行われる。
【０１０９】
以上のようにして、当該タッチ操作が「タップ」操作であることが適切に判定され、当該判定に応じた処理が適切に実行される。
【０１１０】
逆に、タッチ継続時間が上限値Ｔ１１を超過するかあるいはタッチ時の指のずれ量が最大値ｄ１１より大きい場合には、拡張タップ判定部３５１は、当該タッチ操作はタップ操作ではない旨を判定する。なお、接触開始時点あるいは接触解除時点の少なくとも一方が存在しない場合には、「タップ」操作は少なくとも完遂されていないと判定される。この場合にも、当該タッチ操作は「タップ」操作ではないと判定される。
【０１１１】
次に、拡張ジェスチャ判定部３５は、拡張タップ判定部３５１による当該判定結果（タッチ操作が「タップ」操作ではない旨の判定結果）を受けて、スワイプ判定処理（タッチ操作がスワイプ操作であるか否かをタッチイベントデータに基づき判定する処理）を拡張スワイプ判定部３５２に実行させる。
【０１１２】
拡張スワイプ判定部３５２は、検出部１２で検出されたタッチイベントデータを取得する。また、拡張スワイプ判定部３５２は、拡張ジェスチャデータ管理部３６および拡張スワイプデータ管理部３６２を経由して、スワイプ操作に関する該当性を判定するための特徴データ（スワイプ判定用特徴データ）を取得する。そして、拡張スワイプ判定部３５２は、タッチイベントデータと当該特徴データとに基づいて、タッチ操作がスワイプ操作であるか否かを判定する。
【０１１３】
具体的には、拡張スワイプ判定部３５２は、スワイプであると判断するためのタッチ継続時間の下限値Ｔ１２（たとえば０．２秒）とタッチ時にスワイプであると判断する指ずれ量の最小値ｄ１２（たとえば４ミリメートル）とを取得する。なお、値ｄ１２は、値ｄ２よりも大きな値である。
【０１１４】
そして、タッチ継続時間が下限値Ｔ１２以上且つタッチ時の指のずれ量が最小値ｄ１２以上のタッチ操作は、「スワイプ」操作であると判定される。これによれば、上記のような微小な指ずれを許容してタップ操作の有無を適切に判定しつつ、さらに長い距離にわたる指の移動操作を適切に「スワイプ」操作として判定することが可能である。
【０１１５】
図１２は、ユーザが自らの意思でその指を操作パネル部６ｃのタッチパネルに接触させるとともに当該指をタッチパネル上において若干量ｄ（ｄ＞基準距離ｄ１２）滑らせている状況を示している。このような状況においては、上記のような本実施形態に係る判定処理によれば、当該タッチ操作は「スワイプ」であると判定される。その後、図１３に示すような描画処理（スワイプ操作によってアドレス表示領域ＲＧ（詳細には、ユーザ「ＢＢＢ」〜「ＧＧＧ」の表示領域）が上側にスライド移動される処理）が行われる。これによれば、タッチ操作が「スライド」操作であることが適切に判定され、当該判定に応じた処理が適切に実行される。
【０１１６】
なお、上記においては、複数の個別のタッチ操作判定処理のうち、タップ操作およびスワイプ操作について詳細に説明したが、その他の個別のタッチ操作判定処理（フリック判定処理等）も同様にして実行される。また、上記においては、拡張タップ判定部３５１による当該判定結果（タッチ操作が「タップ」操作ではない旨の判定結果）を受けて、拡張スワイプ判定部３５２のスワイプ判定処理が実行される態様が例示されているが、これに限定されない。たとえば、拡張タップ判定部３５１の判定結果にかかわらず、全ての個別のタッチ操作判定処理が順次に実行されるようにしてもよい。
【０１１７】
ここにおいて、上述の本実施形態に係る個別操作に関する判定処理群は、上述の比較例に係る個別操作に関する判定処理群とは相違する。具体的には、拡張タップ判定部３５１によるタップ判定処理は、基本タップ判定部３３１によるタップ判定処理とは異なっており、拡張スワイプ判定部３５２によるスワイプ判定処理は、基本スワイプ判定部３３２によるスワイプ判定処理とは異なっている。このように、本実施形態において拡張ジェスチャ判定部３５で実行される複数の判定処理（判定処理群）（拡張タップ判定部３５１の「タップ」判定処理、拡張スワイプ判定部３５２の「スワイプ判定処理」、...）は、上記比較例において基本ジェスチャ判定部３３で実行される複数の判定処理（基本タップ判定部３３１の「タップ」判定処理、基本スワイプ判定部３３２の「スワイプ判定処理」、...）のいずれとも異なる判定処理を含む。そして、このような判定処理によって、比較例に係る判定結果（図１４および図１５参照）とは異なる判定結果が得られる（特に、図１０および図１１参照）。
【０１１８】
以上のような実施形態によれば、ＭＦＰ１０の操作パネル部６ｃにおける複数の種類のタッチ操作を判定する操作種類判定部１４（特に、独自の判定内容を有する拡張ジェスチャ判定部３５等）が、既存の制御用ソフトウエアライブラリをそのままではなくカスタマイズして利用されることによって実現される。詳細には、操作種類判定部１４（特に、拡張ジェスチャ判定部３５および拡張ジェスチャデータ管理部３６）は、制御用クラスライブラリＬＢにおける基本クラスＣ３３，Ｃ３４をそれぞれ継承して生成された拡張クラスＣ３５，Ｃ３６をインスタンス化して実現される。端的に言えば、オブジェクト指向プログラミング等における「クラス」の継承等が行われて、拡張ジェスチャ判定部３５および拡張ジェスチャデータ管理部３６等が実現される。したがって、既存の資産を引き継ぎつつ、新たな機能を容易に追加することあるいは既存の機能を容易に改変することが可能である。すなわち、ソフトウエアの開発工数を削減しつつ、カスタマイズされたタッチ操作判定処理を容易に実現することが可能である。
【０１１９】
＜２．第２実施形態＞
第２実施形態は、第１実施形態の変形例である。以下、第２実施形態との相違点を中心に説明する。
【０１２０】
上記第１実施形態においては、拡張タップ判定部３５１等において、タッチイベントデータに含まれる時系列データが随時参照されて、個別操作判定処理が実行されている。
【０１２１】
一方、第２実施形態においては、個別操作の進捗状況を示す各ステータスデータＳＤもが利用されて、個別操作判定処理が行われる。各ステータスデータＳＤは拡張ジェスチャデータ管理部３６（より詳細には拡張個別操作判定用データ管理部３６１，３６２，...）にて管理され、拡張ジェスチャ判定部３５（より詳細には拡張個別操作判定部３５１，３５２，...）が当該各ステータスデータＳＤを利用してタッチ操作種類を判定する。
【０１２２】
図１６は、拡張ジェスチャ判定部３５と拡張ジェスチャデータ管理部３６との間でステータスデータＳＤの授受等がなされる様子を示す図である。図１６に示すように、拡張ジェスチャ判定部３５は、拡張ジェスチャデータ管理部３６から各ステータスデータＳＤを取得し、当該各ステータスデータＳＤに基づいて、タッチ操作種類を判定する。より詳細には、各拡張個別操作判定部３５１，３５２，...は、それぞれ、対応する拡張個別操作判定用データ管理部３６１，３６２，...から各ステータスデータＳＤを取得し（ステップＳ８１（図１８も参照））、当該各ステータスデータＳＤに基づいて、タッチ操作種類を判定する（ステップＳ８２〜Ｓ８６）。たとえば、拡張タップ判定部３５１は、対応する拡張タップデータ管理部３６１から、タップ操作に関するステータスデータＳＤを取得し、当該ステータスデータＳＤに基づいて、タッチ操作が「タップ」であるか否かを判定する。なお、ステータスデータＳＤは、タッチイベントデータの内容に応じて随時更新される（ステップＳ８７）。
【０１２３】
以下では、複数の個別操作のうちタップ操作に関する判定処理について詳細に説明する。なお、その他の種類の個別操作に関する判定処理についても、適宜の種類および適宜の数のステータスが考慮されればよい。
【０１２４】
図１７は、タッチ操作に関するタッチ状態（「オン」（接触状態）および「オフ」（非接触状態））の経時変化を示す図である。図１７においては、当該タップ操作に関するステータスの変遷が示されている。図１７に示すように、タップ操作に関しては、４つのステータスＳＴａ，ＳＴｂ，ＳＴｃ，ＳＴｄが存在する。
【０１２５】
ステータスＳＴａは、アイドリング状態（待機状態）を示すステータスである。ステータスＳＴｂは、タッチパネルの押下操作開始直後から押下解除までの状態を示すステータスである。ステータスＳＴｃは、押下解除直後から所定期間経過までの状態を示すステータスである。ステータスＳＴｄは、タップ操作が完遂された状態を示すステータスである。
【０１２６】
図１８は、拡張タップ判定部３５１における判定処理を示すフローチャートである。
【０１２７】
まず、ステップＳ８１において、拡張タップ判定部３５１は、拡張タップデータ管理部３６１からステータスデータＳＤを取得する。
【０１２８】
次のステップＳ８２においては、現在のステータスに応じた分岐処理が行われる。現在のステータスを示すステータスデータＳＤがステータスＳＴａであるときには、ステップＳ８３に進む。ステータスデータＳＤがステータスＳＴｂであるときには、ステップＳ８４に進む。同様に、ステータスデータＳＤがステータスＳＴｃであるときには、ステップＳ８５に進み、ステータスデータＳＤがステータスＳＴｄであるときには、ステップＳ８６に進む。
【０１２９】
ステップＳ８３においては、押下操作の検出の有無に応じた処理が実行される。
【０１３０】
具体的には、押下操作が検出されない場合には、ステータスＳＴａが維持される（ステップＳ８７）。
【０１３１】
一方、ステップＳ８３において押下操作が検出される場合には、ステータスＳＴｂへの変更処理が行われる。具体的には、押下開始時における指位置（Ｘ，Ｙ）が記録され、押下開始時点からの経過時間（タッチ継続時間）ｔの計測が開始されるとともに、ステータスデータＳＤがステータスＳＴｂに更新される（ステップＳ８７）。
【０１３２】
ステップＳ８４においては、押下操作の検出の有無に応じた次のような処理が実行される。
【０１３３】
具体的には、押下操作が継続される場合には、指のずれ量ｄに関するチェックと経過時間ｔに関するチェックとが行われる。指のずれ量が上述の許容値ｄ１１を超過すると、ステータスデータＳＤがリセットされる（ステータスＳＴａに戻される）（ステップＳ８７）。タッチ継続時間ｔが上述の上限値Ｔ１を超過するときにも、ステータスデータＳＤがリセットされる（ステータスＳＴａに戻される）（ステップＳ８７）。なお、指のずれ量ｄが上述の許容値ｄ１を超過せず且つ経過時間ｔが上限値Ｔ１を超過しない（ｄ＜ｄ１，且つ、ｔ＜Ｔ１）ときには、ステータスデータＳＤはステータスＳＴｂに維持される（ステップＳ８７）。
【０１３４】
一方、押下解除が検出される場合には、ステータスデータＳＤがステータスＳＴｃに変更される。詳細には、拡張タップ判定部３５１は、拡張ジェスチャ判定部３５および拡張ジェスチャデータ管理部３６を経由して拡張タップデータ管理部３６１に対してステータスデータＳＤの更新要求を送出し、拡張タップデータ管理部３６１は当該更新要求に応じて、ステータスデータＳＤをステータスＳＴｃに変更（更新）する（ステップＳ８７）。
【０１３５】
また、押下解除検出からの経過時間ｔｆの計測が開始される。
【０１３６】
ステップＳ８５においては、押下操作の検出の有無に応じた次のような処理が実行される。
【０１３７】
具体的には、経過時間ｔｆが所定値Ｔ５（たとえば０．５秒）に到達するまでに押下操作が検出される場合には、ステータスデータＳＤがリセットされる（ステータスＳＴａに戻される）（ステップＳ８７）。
【０１３８】
一方、押下操作が検出されない場合には、経過時間ｔｆが所定値Ｔ５（たとえば０．５秒）に到達したか否かが判定される。経過時間ｔｆが値Ｔ５に到達するまでは、ステータスデータＳＤはステータスＳＴｃに維持される。経過時間ｔｆが値Ｔ５に到達すると、ステータスデータＳＤはステータスＳＴｄに変更される（ステップＳ８７）。
【０１３９】
ステップＳ８６においては、タッチ操作は「タップ」である旨が判定される。そして、ステータスデータＳＤがリセットされる（ステータスＳＴａに戻される）（ステップＳ８７）。
【０１４０】
このような処理（ステータスデータＳＤに応じた処理）を繰り返すことによって、ステータスデータＳＤが徐々に変更される。ステータスデータＳＤがステータスＳＴａからステータスＳＴｂ，ＳＴｃを経てステータスＳＴｄに到達すると、タップ操作が行われた旨が判定される。
【０１４１】
このように、第２実施形態においては、少なくとも１つの個別操作に関する判定処理およびデータ管理処理において、第１実施形態とは異なる処理がそれぞれ行われる。具体的には、タップ判定処理において、ステータスデータＳＤを利用して、上記比較例（および第１実施形態）とは異なる判定手法が用いられている。また、タップデータ管理部においては、上記比較例では存在しなかったステータスデータＳＤの管理等もが行われている。
【０１４２】
ステータスデータＳＤを用いることによれば、拡張タップ判定部３５１において全ての時系列データを判定しつつタップ操作の有無を判定する場合（第１実施形態）に比べて、タッチ操作におけるステータス変化の進捗状況を容易に把握しつつ拡張タップ判定部３５１での判定処理を行うことが可能である。
【０１４３】
＜３．変形例等＞
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
【０１４４】
たとえば、上記各第１実施形態においては、拡張スワイプ判定部３５２が、タッチ継続時間の下限値Ｔ１２（たとえば０．２秒）以上の期間に亘ってタッチ操作が継続し且つ当該タッチ操作における指ずれ量が最小値ｄ１２（たとえば４ミリメートル）以上であることを条件に、当該タッチ操作がスワイプ操作である旨を判定しているが、これに限定されない。
【０１４５】
たとえば、拡張スワイプ判定部３５２は、タッチ継続時間の下限値Ｔ１２（たとえば０．２秒）以上の期間に亘ってタッチ操作が継続していることのみを条件に、当該タッチ操作がスワイプ操作である旨を判定するようにしてもよい。
【０１４６】
あるいは、拡張スワイプ判定部３５２は、タッチ操作における指ずれ量が所定値ｄ１２（たとえば４ミリメートル）以上であることのみを条件に、当該タッチ操作がスワイプ操作である旨を判定するようにしてもよい。
【０１４７】
また、上記実施形態においては、タッチ判定処理およびスワイプ判定処理のそれぞれに関して、基本個別操作とは異なる内容のカスタマイズされた判定動作が拡張ジェスチャ判定部３５等において行われる態様が例示されているが、これに限定されない。たとえば、その他の種類の判定処理に関して、上記と同様の思想が適用され、基本個別操作とは異なる内容のカスタマイズされた判定動作が行われるようにしてもよい。
【０１４８】
また、上記実施形態においては、拡張個別操作群は、基本個別操作群に含まれる特定種類の操作（「タップ操作」）と同一名称の特定操作であって当該特定種類の操作とは異なる基準でその該当性が判定される特定操作（「タップ操作」）を含む態様が例示されている。端的に言えば、或る基本個別判定処理（「タップ操作」）に関してその判定内容が調整される態様が例示されている。しかしながら、本発明はこれに限定されない。
【０１４９】
たとえば、新たな種類の個別判定処理が追加的に拡張ジェスチャ判定部３５にて判定されるようにしてもよい。換言すれば、拡張ジェスチャ判定部３５にて判定される複数の個別操作には、基本ジェスチャ判定部３３にて判定される複数の個別操作とは異なる種類の操作が含まれていてもよい。
【０１５０】
具体的には、拡張ジェスチャ判定部３５内において、新たな種類の個別判定処理（たとえば、ロングタップ（上記の「タップ」よりも長い期間に亘る押下操作を伴うタップ操作））を行うロングタップ判定部が設けられるようにしてもよい。より詳細には、当該ロングタップ判定部に対応する「クラス」（ロングタップ判定部クラス）が、基本ジェスチャ判定部クラスＣ３３を継承した拡張ジェスチャ判定部クラスＣ３５内に規定されるようにすればよい。そして、当該ロングタップ判定部クラスを含む拡張ジェスチャ判定部クラスＣ３５がインスタンス化されることによって拡張ジェスチャ判定部３５および拡張ロングタップ判定部３５３（拡張個別判定部）が実現されるようにすればよい。
【０１５１】
上記実施形態においては、ＭＦＰ１０（詳細にはその本体部）に内蔵されたコンピュータにおいてプログラムＰＧ１が実行されているが、これに限定されない。たとえば、ＭＦＰ１０の操作パネル部６ｃに内蔵されたコンピュータにおいて、上記プログラムＰＧ１と同様の機能を実現するプログラムが実行されるようにしてもよい。
【符号の説明】
【０１５２】
６ｃ  操作パネル部
１０  ＭＦＰ（画像形成装置）
３３  基本ジェスチャ判定部
３４  基本ジェスチャデータ管理部
３５  拡張ジェスチャ判定部
３６  拡張ジェスチャデータ管理部
Ｃ３３  基本ジェスチャ判定部クラス
Ｃ３４  基本ジェスチャデータ管理部クラス
Ｃ３５  拡張ジェスチャ判定部クラス
Ｃ３６  拡張ジェスチャデータ管理部クラス
ＬＢ  基本クラスライブラリ（制御用クラスライブラリ）
ＬＥ  拡張クラスライブラリ
ＰＧ１  プログラム
【図１】
2014085713.tif 000003
【図２】
2014085713.tif 000004
【図３】
2014085713.tif 000005
【図４】
2014085713.tif 000006
【図５】
2014085713.tif 000007
【図６】
2014085713.tif 000008
【図８】
2014085713.tif 000009
【図１４】
2014085713.tif 000010
【図１５】
2014085713.tif 000011
【図１６】
2014085713.tif 000012
【図１７】
2014085713.tif 000013
【図１８】
2014085713.tif 000014
【図７】
2014085713.tif 000015
【図９】
2014085713.tif 000016
【図１０】
2014085713.tif 000017
【図１１】
2014085713.tif 000018
【図１２】
2014085713.tif 000019
【図１３】
2014085713.tif 000020