(57)【要約】【課題】  タッチＵＩ上でのオブジェクト表示時に、オブジェクト削除の操作性を向上する。【解決手段】  タッチパネルを有する表示部に表示された表示オブジェクトにタッチされているユーザの複数の指が同じ方向に移動されるのに応じて、表示されている複数の表示オブジェクトを一つにまとめ（図２０（Ｂ））、その一つにまとめられた表示オブジェクトに対して行うユーザの操作により、当該一つにまとめられた複数の表示オブジェクトの削除処理を実行する（図２０（Ｃ）。【選択図】  図２０
2013254463.tif 000002
【特許請求の範囲】
【請求項１】
タッチパネルを有する表示部を具備する情報処理装置であって、
前記表示部に表示された表示オブジェクトにタッチされているユーザの複数の指が同じ方向に移動されるのに応じて、表示されている複数の表示オブジェクトを一つにまとめるまとめ手段と、
前記まとめ手段により一つにまとめられた表示オブジェクトに対して行う前記ユーザの操作により、当該一つにまとめられた複数の表示オブジェクトの削除処理を実行する削除手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記削除手段で削除される前記表示オブジェクトのサイズを縮小して前記削除処理を示す表示を行う削除表示手段を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記まとめ手段は、
前記表示オブジェクトにタッチされているユーザの指の数に応じて、前記ユーザの両手による操作か片手による操作かを判定する判定手段と、
前記判定手段により前記ユーザの両手による操作であると判定されると、前記ユーザの指がタッチされて選択されている２つの表示オブジェクトが互いに近づく方向に移動させるジェスチャに応じて、前記２つの表示オブジェクトを含む当該２つの表示オブジェクトの間の表示オブジェクトを一つにまとめるように表示し、
前記判定手段により前記ユーザの片手による操作であると判定されると、前記ユーザの指がタッチされて選択されている１つの表示オブジェクトを移動させるジェスチャに応じて、前記１つの表示オブジェクトと所定距離以内にある表示オブジェクトを一つにまとめるように表示する表示制御手段と、
を有することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記削除手段は、前記まとめ手段により一つにまとめられた表示オブジェクトに対する前記ユーザの複数の指によるジェスチャにより、当該一つにまとめられた複数の表示オブジェクトの削除処理を実行することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記複数の指によるジェスチャは、多点ピンチインであることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記まとめ手段は、複数の指がタッチしている点と前記複数の指がタッチしている表示オブジェクトの重心との距離が変化しない状態で、前記複数の指がタッチしている点が平行に移動する場合に、表示されている複数の表示オブジェクトを一つにまとめることを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記表示制御手段は、前記一つにまとめられた表示オブジェクトと、その他の表示オブジェクトとでオブジェクトの表示形態を変更することを特徴とする請求項３に記載の情報処理装置。
【請求項８】
前記表示オブジェクトは、前記表示部の画面に一定間隔で配列して表示されていることを特徴とする請求項１乃至７のいずれか１項に記載の情報処理装置。
【請求項９】
前記判定手段は、前記ユーザの指が一つの表示オブジェクトにタッチしている点の数が３点以上で、前記タッチパネルにタッチしている点の数が６点以上の場合に前記ユーザの両手による操作と判定することを特徴とする請求項３に記載の情報処理装置。
【請求項１０】
タッチパネルを有する表示部を具備する情報処理装置を制御する制御方法であって、
前記表示部に表示された表示オブジェクトにタッチされているユーザの複数の指が同じ方向に移動されるのに応じて、表示されている複数の表示オブジェクトを一つにまとめるまとめ工程と、
前記まとめ工程で一つにまとめられた表示オブジェクトに対して行う前記ユーザの操作により、当該一つにまとめられた複数の表示オブジェクトの削除処理を実行する削除工程と、
を有することを特徴とする制御方法。
【請求項１１】
請求項１０の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、タッチパネルにオブジェクトを表示し、ユーザのタッチ操作によりそのオブジェクトに対する処理を実行できる情報処理装置及びその制御方法に関する。
【背景技術】
【０００２】
複数ページからなる電子文書等のページオブジェクト（以下、オブジェクト）を削除する技術として、プレゼンテーションソフト等で実施されている、削除したいオブジェクトをマウスポインタで選択した後、削除処理を実行する技術がよく知られている。しかし、この技術では、削除の操作が、選択と削除の複数のステップに分かれておりオペレータにとって煩雑であった。
【０００３】
このような課題に対して、特許文献１は、複数の指の接触を認識可能なマルチタッチＵＩを利用した操作により、オブジェクトを削除する技術を提案している。この特許文献１の発明では、少なくとも１つの指をオブジェクト上に固定し、その他の指を移動するというマルチタッチのジェスチャに、オブジェクト削除の処理を割り当てている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２９４８５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら上記従来の手法では、複数のオブジェクトを削除する場合、オブジェクトを削除するためのジェスチャを各オブジェクトに対して行う必要があった。このため、削除したいオブジェクトの数だけ、削除するためのジェスチャを実施しなければならず操作が面倒であった。
【０００６】
本発明の目的は、上記従来技術の問題点を解決することにある。
【０００７】
本発明の特徴は、画面に表示されているオブジェクトを削除する際の操作性を向上することである。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明の一態様に係る情報処理装置は以下のような構成を備える。即ち、
タッチパネルを有する表示部を具備する情報処理装置であって、
前記表示部に表示された表示オブジェクトにタッチされているユーザの複数の指が同じ方向に移動されるのに応じて、表示されている複数の表示オブジェクトを一つにまとめるまとめ手段と、
前記まとめ手段により一つにまとめられた表示オブジェクトに対して行う前記ユーザの操作により、当該一つにまとめられた複数の表示オブジェクトの削除処理を実行する削除手段と、を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、画面に表示されているオブジェクトを削除する際の操作性が向上する。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る情報処理装置のハードウェア構成を説明するブロック図。
【図２】実施形態に係る情報処理装置のＣＰＵで実行処理されるソフトウェアモジュールの構成を示すブロック図。
【図３】実施形態に係る情報処理装置のタッチパネルに対するユーザのタッチ入力により生成されるポインティング情報の一例を示す図。
【図４】情報処理装置におけるジェスチャイベント発生処理を説明するフローチャート。
【図５】図６、図７、図９、図１０のフローチャートで発生するイベント名の一覧と、各イベントが発生したときに、ジェスチャイベント処理部２２００へ送信する情報を説明する図。
【図６】図４のＳ４０４のユーザの新たな指によるタッチに伴う処理を説明するフローチャート。
【図７】図４のＳ４０６におけるユーザの指の移動に伴う処理を説明するフローチャート。
【図８】タッチパネル上でユーザが時計回り方向に回転操作している様子を示す図。
【図９】図４のＳ４０８のタッチ解除に伴う処理を説明するフローチャート。
【図１０】図４のＳ４０９のタイマ割込に伴う処理を説明するフローチャート。
【図１１】実施形態１に係る情報処理装置のジェスチャイベント処理部に存在する削除処理モジュールを説明するブロック図。
【図１２】実施形態１，２に係る削除処理モジュールの処理を説明するフローチャート。
【図１３】表示オブジェクトの選択処理を表すフローチャート（Ａ）と、表示オブジェクトの選択解除を表すフローチャート（Ｂ）。
【図１４】実施形態１における、両手で表示オブジェクトをまとめる処理を説明するフローチャート。
【図１５】実施形態１，２において、片手で表示オブジェクトを削除する処理を説明するフローチャート。
【図１６】実施形態１，２における各操作の完了処理を説明するフローチャート。
【図１７】本発明の実施形態２に係る、片手で表示オブジェクトをまとめる処理を説明するフローチャート。
【図１８】実施形態２に係る、片手で表示オブジェクトをまとめる処理を完了する処理を説明するフローチャート。
【図１９】図２１の表示オブジェクトに対応する表示オブジェクトのオブジェクト情報の一例を示す図。
【図２０】実施形態１に係る情報処理装置のタッチＵＩに表示された複数のオブジェクトを両手で一纏めにした上で、削除するまでの処理の流れを模式的に表した図。
【図２１】表示オブジェクトがまとめられて表示される状態を説明する図。
【図２２】タッチＵＩに表示されている表示オブジェクトが、両手の各３本の指によって、それぞれ選択されている様子を表す図。
【図２３】実施形態１，２における矩形座標を説明する図。
【図２４】実施形態２において、片手でオブジェクトを選択し、次々とまとめてオブジェクト２までをまとめる様子を表す図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１２】
図１は、本実施形態に係る情報処理装置１０００のハードウェア構成を説明するブロック図である。
【００１３】
情報処理装置１０００は、主にメインボード１１００、液晶などの表示部１２００、タッチパネル１３００、ボタンデバイス１４００を備える。また、表示部１２００とタッチパネル１３００とをまとめてタッチＵＩ１５００と呼ぶこととする。
【００１４】
メインボード１１００は、ＣＰＵ１１０１、無線ＬＡＮモジュール１１０２、電源コントローラ１１０３、ディスプレイコントローラ（ＤＩＳＰＣ）１１０４、パネルコントローラ（ＰＡＮＥＬＣ）１１０５を有している。メインボード１１００は更に、ＲＯＭ１１０６、ＲＡＭ１１０７、二次電池１１０８、タイマ１１０９を有し、これらモジュール１１０１〜１１０９は、バス（不図示）を介して接続されている。
【００１５】
ＣＰＵ１１０１は、バスに接続される各デバイスを制御すると共に、ＲＯＭ１１０６に記憶された、本実施形態に係るソフトウェアモジュール２０００（図２）を、ＲＡＭ１１０７に展開して実行する。ＲＡＭ１１０７は、ＣＰＵ１１０１のメインメモリ、ワークエリア、及び、表示部１２００に表示する画像データの記憶エリアとして機能する。
【００１６】
ディスプレイコントローラ（ＤＩＳＰＣ）１１０４は、ＣＰＵ１１０１の要求に応じて、ＲＡＭ１１０７に展開された画像データの出力を高速に切り替えるとともに、表示部１２００に同期信号を出力する。その結果、ＲＡＭ１１０７に記憶された画像データが、ＤＩＳＰＣ１１０４の同期信号に同期して表示部１２００に出力され、その画像データに対応する画像が表示部１２００に表示される。
【００１７】
パネルコントローラ（ＰＡＮＥＬＣ）１１０５は、ＣＰＵ１１０１の要求に応じて、タッチパネル１３００及びボタンデバイス１４００を制御する。その制御によって、タッチパネル１３００上の指又はスタイラスペンなどの指示物の押下位置や、ボタンデバイス１４００上の押下されたキーに対応するキーコードなどがＣＰＵ１１０１に通知される。押下位置情報は、タッチパネル１３００の横方向の絶対位置を示す座標値（以下、ｘ座標）と、縦方向の絶対位置を示す座標値（以下、ｙ座標）で構成される。タッチパネル１３００は複数ポイントの押下を検知することが可能で、その場合ＣＰＵ１１０１には押下点数分の押下位置情報が通知される。尚、タッチパネル１３００は、抵抗膜方式や静電容量方式、表面弾性波方式、赤外線方式、電磁誘導方式、画像認識方式、光センサ方式等、様々な方式のタッチパネルのうちいずれの方式のものを用いても良い。
【００１８】
電源コントローラ１１０３は、外部電源（不図示）と接続され電力の供給を受ける。これによって、電源コントローラ１１０３に接続された二次電池１１０８を充電しながら、且つ、情報処理装置１０００全体に電力を供給する。外部電源から電力が供給されないときは、二次電池１１０８からの電力を情報処理装置１０００全体に供給する。無線ＬＡＮモジュール１１０２は、ＣＰＵ１１０１の制御に基づいて、他の機器上の無線ＬＡＮモジュールとの無線通信を確立し、情報処理装置１０００との通信を仲介する。無線ＬＡＮモジュール１１０２には、例えばＩＥＥE８０２．１１ｂなどがある。タイマ１１０９は、ＣＰＵ１１０１の制御に基づいて、ジェスチャイベント発生部２１００（図２）へのタイマ割込を発生させる。ジェスチャイベント発生部２１００については図２で後述する。
【００１９】
図２は、実施形態に係る情報処理装置１０００のＣＰＵ１１０１で実行処理されるソフトウェアモジュールの構成を示すブロック図である。尚、このソフトウェアモジュールは、ＣＰＵ１１０１が、ＲＯＭ１１０６に記憶されたプログラムをＲＡＭ１１０７に展開して実行することにより実現される。
【００２０】
ジェスチャイベント発生部２１００は、タッチパネル１３００におけるユーザのタッチ入力を受けて、図５で示される各種ジェスチャイベントを発生させる。ジェスチャイベント発生部２１００は、発生したジェスチャイベントを、ジェスチャイベント処理部２２００へ送信する。ジェスチャイベント処理部２２００は、ジェスチャイベント発生部２１００で発生したジェスチャイベントを受信して、各ジェスチャイベントに応じた処理を実行する。描画部２３００は、ジェスチャイベント処理部２２００の実行結果に応じて、表示部１２００への描画処理を実行する。
【００２１】
ジェスチャイベント発生部２１００の詳細については、図３〜図１０を参照して後述する。
【００２２】
図３（Ａ）〜（Ｇ）は、実施形態に係る情報処理装置のタッチパネルに対するユーザのタッチ入力により生成されるポインティング情報の一例を示す図である。ここでは、ユーザのタッチ入力の例として指を使った場合を示すが、タッチ入力はスタイラスペンなどによる入力でも良い。
【００２３】
ポインティング情報は、図３（Ａ）のように、ポインティング情報番号、タッチ入力発生時刻、タッチ座標数、タッチ座標情報を含んでいる。以下、各構成要素について詳しく説明する。
【００２４】
ポインティング情報番号は、ポインティング情報が作成された順番を示している。タッチ入力発生時刻は、タッチパネル１３００でユーザのタッチ入力が行われた時刻を示している。タッチ座標数は、ユーザがタッチ入力している座標の数を示している。タッチ座標情報は、ユーザがタッチ入力している座標の情報を示しており、ｘ座標、ｙ座標、押下時刻、解除時刻、移動中フラグ、シングルタップフラグ、ダブルタップフラグ、ロングタップフラグを備えている。次に、このタッチ座標情報の構成要素について、詳しく説明する。
【００２５】
タッチ座標情報のｘ座標、ｙ座標は、タッチパネル１３００上で、ユーザの指が接触している１点の座標値を示す。押下時刻、解除時刻は、その指がタッチパネル１３００を押下した時刻と、タッチパネル１３００から離された時刻をそれぞれ示す。移動中フラグは、タッチパネル１３００上をユーザの指が移動中であることを示す。シングルタップフラグは、タッチパネル１３００をユーザの指がシングルタップしたことを示す。ここで、シングルタップとは、ユーザの指がタッチパネル１３００に接触してから所定時間以内に離れることをいう。ダブルタップフラグは、タッチパネル１３００をユーザの指がダブルタップしたことを示す。ここでダブルタップは、所定時間内にシングルタップが連続でなされることをいう。ロングタップフラグは、タッチパネル１３００をユーザの指がロングタップしたことを示す。ここでロングタップとは、ユーザの指がタッチパネルに接触してから所定時間以上動かないことをいう。
【００２６】
タッチ座標情報は、ユーザの指がタッチパネル１３００に接触した場合、例えば図３（Ａ）のように、タッチ座標１という実体を得る。タッチ座標１は、タッチ座標情報の構成要素に従い、図３（Ａ）のように、ｘ座標、ｙ座標、押下時刻、解除時刻、移動中フラグ、シングルタップフラグ、ダブルタップフラグ、ロングタップフラグの値を持つ。
【００２７】
図３（Ａ）〜（Ｇ）は、それぞれがポインティング情報の一例を示している。図３（Ａ）から（Ｇ）は時系列に並んでおり、それぞれがある時点のポインティング情報を示している。また、図３（Ａ）〜（Ｇ）で示すポインティング情報は、ユーザの指の操作に従って、（Ａ）から（Ｇ）の順番に作成される。
【００２８】
ポインティング情報が作成されるときには、作成されるポインティング情報を指し示すポインタが保存されることで、最新のポインティング情報の値を参照することができる。また、過去に作成された全てのポインティング情報のポインタは保存され、保持された全てのポインティング情報の値を参照することができる。例えば、最新のポインティング情報の直前のポインティング情報を参照することができる。但し、ポインティング情報は所定数だけ過去の履歴として保持され、所定数を越えた場合は最も古いポインティング情報から破棄される。破棄されたポインティング情報は参照できない。
【００２９】
図３（Ａ）〜（Ｇ）のポインティング情報の例について簡単に説明する。全てのポインティング情報は、図６のＳ６０１、図７のＳ７０１、図９のＳ９０１、図１０のＳ１０１０、Ｓ１０１３で作成される。
【００３０】
図３（Ａ）のポインティング情報Ｐ1は、ユーザの指が最初にタッチパネル１３００を押下したときに作成され、後述のＳ６０１で作成される。このとき、タッチ座標１が、ユーザの指のタッチ座標情報の値を示している。
【００３１】
図３（Ｂ）のポインティング情報Ｐ2は、直前のポインティング情報が図３（Ａ）のＰ1のときに、ユーザの２本目の指がタッチパネル１３００を押下したときに作成され、後述のＳ６０１で作成される。このとき、タッチ座標２が、２本目の指のタッチ座標情報の値を示している。
【００３２】
図３（Ｃ）のポインティング情報Ｐ3は、直前のポインティング情報が図３（Ｂ）のＰ2のときに、ユーザの２本の指がタッチパネル１３００を移動中に作成され、後述のＳ７０１で作成される。このとき、タッチ座標１，２の移動中フラグが「ＴＲＵＥ」になって移動中であることを示している。図３（Ｃ）では、ｘ座標、ｙ座標が変化するが押下時刻は変化しない。
【００３３】
図３（Ｄ）のポインティング情報Ｐ4は、直前のポインティング情報が図３（Ｃ）のＰ3のときに、ユーザの指がタッチパネル１３００上で止まっているときに作成され、後述のＳ１０１０で作成される。図３（Ｄ）では、ユーザの指が停止しているためｘ座標、ｙ座標は図３（Ｃ）と同じで、タッチ座標１，２の移動中フラグが「ＦＡＬＳＥ」になって停止していることを示している。
【００３４】
図３（Ｅ）のポインティング情報Ｐ5は、直前のポインティング情報が図３（Ｄ）のＰ4のときに、ユーザの３本目の指がタッチパネル１３００を押下したときに作成され、後述のＳ６０１で作成される。このときこのときタッチ座標１，２は図３（Ｅ）と同じであり、タッチ座標３が、３点目の指のタッチ座標情報の値を示している。
【００３５】
図３（Ｆ）のポインティング情報Ｐ6は、直前のポインティング情報が図３（Ｅ）のＰ5のときに、ユーザの２本目の指がタッチパネル１３００から離れたときに作成され、後述の図９のＳ９０１で作成される。タッチ座標２の解除時刻が、２本目の指の離れた時刻を示している。図３（Ｆ）では、タッチ座標１〜３のｘ座標、ｙ座標、押下時刻は変化せず、またタッチ座標２のロングタップフラグが「ＴＲＵＥ」に変化している。
【００３６】
図３（Ｇ）のポインティング情報Ｐ7は、直前のポインティング情報が図３（Ｆ）のＰ6のときに、タイマ１１０９のタイマ割込によって作成され、後述の図１０のＳ１０１３で作成される。このとき、タッチ座標２が削除されていることが分かる。上記ポインティング情報を作成する処理を、図６、図７、図９、図１０のフローチャートを参照して後述する。
【００３７】
図４は、実施形態に係る情報処理装置におけるジェスチャイベント発生処理を説明するフローチャートである。このフローチャートは、タッチパネル１３００でのユーザのタッチ入力を検出してから、ユーザのジェスチャ操作に応じた各イベント処理を発生させるまでの処理を示す。この処理は、ソフトウェアモジュール２０００のジェスチャイベント発生部２１００で実行される。
【００３８】
まずＳ４０１で、初期化処理として指の接触状態を示すポインティング情報Ｐを初期化する。次にＳ４０２に進み、ユーザのタッチ入力、或いは、タイマ１１０９による割込みが発生したかを調べ、タッチ入力、或いは、割込みがあればＳ４０３に進み、そうでなければＳ４０２へ再び戻る。Ｓ４０３では、ユーザの新たな指によるタッチを検出したかどうかを判定し、新たな指によるタッチを検出したときはＳ４０４に進み、そうでなければＳ４０５へ移行する。Ｓ４０４では、ユーザの新たな指によるタッチに伴う処理を行って再びＳ４０２へ戻る。このＳ４０４の詳細は図６のフローチャートを参照して後述する。
【００３９】
Ｓ４０５では、タッチしているユーザの指の移動を検出したかどうかを判定し、検出した場合はＳ４０６へ移行し、そうでなければＳ４０７へ移行する。Ｓ４０６では、ユーザの指の移動に伴う処理を行ってＳ４０２へ再び戻る。このＳ４０６の詳細は図７のフローチャートを参照して後述する。
【００４０】
Ｓ４０７では、ユーザの指がタッチパネル１３００から離されたことを検出したかどうかを判定し、指が離されたときはＳ４０８に進んで、ユーザのタッチ解除に伴う処理を行ってＳ４０２へ再び戻る。このＳ４０８の詳細は図９のフローチャートを参照して後述する。またＳ４０７で指が離されたのを検知しないときはＳ４０９へ移行する。Ｓ４０９では、タイマ１１０９からジェスチャイベント発生部２１００へタイマ割込が発生したときの処理を行ってＳ４０２へ再び戻る。
【００４１】
図５は、図６、図７、図９、図１０のフローチャートで発生するイベント名の一覧と、各イベントが発生したときに、ジェスチャイベント処理部２２００へ送信する情報を説明する図である。・
図６は、図４のＳ４０４のユーザの新たな指によるタッチに伴う処理を説明するフローチャートである。
【００４２】
まずＳ６０１で、直前のポインティング情報が存在しなければポインティング情報を新規に作成する。そうでなければ、直前のポインティング情報のポインティング情報番号、タッチ入力発生時刻、タッチ座標数を変更し、タッチ座標を新たに追加したポインティング情報を新規作成する。
【００４３】
ここで、直前のポインティング情報とは、Ｓ６０１で作成されるポインティング情報の１つ前に作成されたポインティング情報のことをいう。また、最新のポインティング情報とは、Ｓ６０１で作成されたポインティング情報のことをいう。例えば図３（Ａ）では、直前のポインティング情報が無いので、１点のタッチ入力を検出し、ポインティング情報Ｐ1を新たに作成する。そしてＳ４０３で２点目のタッチ入力を検出した場合は、図３（Ａ）のポインティング情報Ｐ1を参照して、図３（Ｂ）のポインティング情報Ｐ2を新規に作成する。図３（Ｂ）の網掛け部分が、図３（Ａ）との相違部分である。具体的には、ポインティング情報番号を「２」に、タッチ入力発生時刻を「１″２１」に、タッチ座標数を「２」に変更し、ユーザのタッチ入力の２点目である「タッチ座標２」を追加する。更に３点目のタッチ入力を検出した場合は、同様にして、図３（Ｄ）のポインティング情報Ｐ4を参照して図３（Ｅ）のポインティング情報Ｐ5を作成する。
【００４４】
こうしてポインティング情報を作成するとＳ６０２に進み、タッチイベントの送信処理を行う。図５（Ａ）に示すように、タッチイベント送信処理では、ジェスチャイベント処理部２２００へ、最新のポインティング情報である、押下したタッチ座標の座標値とタッチ座標数を送信し、ユーザの指によるタッチに伴う処理を終了する。
【００４５】
図７は、図４のＳ４０６におけるユーザの指の移動に伴う処理を説明するフローチャートである。
【００４６】
まずＳ７０１で、直前のポインティング情報のポインティング情報番号とタッチ入力発生時刻を変更し、移動中フラグを「ＴＲＵＥ」にしたポインティング情報を作成する。図７において、直前のポインティング情報とは、Ｓ７０１で作成されるポインティング情報の１つ前に作成されたポインティング情報のことをいう。また、最新のポインティング情報とは、Ｓ７０１で作成されたポインティング情報のことをいう。
【００４７】
例えば図３（Ｃ）において、直前のポインティング情報が図３（Ｂ）のポインティング情報Ｐ2であるならば、ポインティング情報Ｐ2を参照して、図３（Ｃ）のポインティング情報Ｐ3を新たに作成する。図３（Ｃ）の網掛け部分が図３（Ｂ）との相違部分である。具体的には、ポインティング情報番号を「３」に、タッチ入力発生時刻を「３″００」に、タッチ座標１とタッチ座標２のｘ座標とｙ座標の値を最新の値に変更し、移動中フラグを「ＴＲＵＥ」にする。
【００４８】
次にＳ７０２に進み、最新のポインティング情報のタッチ座標数が「１」かどうかを判定し「１」である場合はＳ７０３へ移行し、そうでなければＳ７０４へ移行する。Ｓ７０３では、１点のタッチ座標が移動しているので、スワイプイベント送信処理を行う。ここで、スワイプとは、指先をタッチパネル１３００に接触させたまま１方向に移動（滑らすような）動作のことをいう。このときは図５（Ｂ）に示すように、スワイプイベントが発生すると、最新のポインティング情報の座標値、及び、最新と直前のポインティング情報の座標値の差分に基づく移動距離をジェスチャイベント処理部２２００に渡す。
【００４９】
Ｓ７０４では、最新のポインティング情報のタッチ座標数が「２」かどうかを判定し、そうであればＳ７０５へ移行し、そうでなければＳ７１４へ移行する。Ｓ７０５では、２点のタッチ座標を結ぶ直線の距離が縮まっているかどうかを判定して、ピンチインが実行されたかどうかを判定し、そうであればＳ７０６へ進み、そうでなければＳ７０７へ移行する。Ｓ７０６では、ピンチインイベント送信処理を行う。ここで、ピンチインとは、２つの指先をタッチパネル１３００に接触させたまま、互いに近づける（つまむような）動作のことをいう。こうしてピンチインイベントが発生すると図５（Ｃ）に示すように、２点のタッチ座標の中心座標値、及び、２点のタッチ座標を結ぶ直線の縮小距離から計算したピンチインの縮小率をジェスチャイベント処理部２２００へ渡す。
【００５０】
Ｓ７０７では、２点のタッチ座標を結ぶ直線の距離が拡大しているかどうかによりピンチアウトが実行されたかどうかを判定し、そうであればＳ７０８へ進み、そうでなければＳ７０９へ移行する。Ｓ７０８では、ピンチアウトイベント送信処理を行う。ここで、ピンチアウトとは、２つの指先をタッチパネル１３００に接触させたまま、互いに遠ざける（指を広げるような）動作のことをいう。ピンチアウトイベントが発生すると、図５（Ｄ）に示すように、最新のポインティング情報の２点のタッチ座標の中心座標値、及び、２点のタッチ座標を結ぶ直線の拡大距離から計算したピンチアウトの拡大率をジェスチャイベント処理部２２００へ渡す。
【００５１】
Ｓ７０９では、２点のタッチ座標が同じ方向に移動しているかどうかにより２点スワイプが実行されたかどうかを判定し、実行された判定した場合はＳ７１０へ移行し、そうでなければＳ７１１へ移行する。Ｓ７１０では、２点スワイプイベント送信処理を行う。２点スワイプイベントが発生すると、図５（Ｅ）に示すように、最新のポインティング情報の２点のタッチ座標の座標値、及び、２点のタッチ座標の最新と直前のポインティング情報の座標値の差分に基づく移動距離をジェスチャイベント処理部２２００へ渡す。
【００５２】
次にＳ７１１では、２点のタッチ座標の回転からローテートが実行されたかどうかを判定し、ローテートが実行された場合はＳ７１２へ移行し、そうでなければＳ７１３へ移行する。Ｓ７１２では、ローテートイベントの送信処理を行う。ローテートイベントが発生すると、最新のポインティング情報の２点のタッチ座標値から計算した回転の中心座標値、及び、２点のタッチ座標の最新と直前のポインティング情報の座標値から計算した回転角度をジェスチャイベント処理部２２００へ渡す。これは図５（Ｆ）に示されている。
【００５３】
Ｓ７１３では、いずれのユーザ操作にも該当しなかった場合はその他の処理を行う。その他の処理は、処理として何もしない処理でもよい。
【００５４】
またＳ７０４で、最新のポインティング情報のタッチ座標数が「２」でないときはＳ７１４において、３点以上のタッチ座標が移動したときのイベント送信処理を行う。図５（Ｍ）に示すように、３点以上のタッチ座標移動イベントが発生すると、以下の情報をジェスチャイベント処理部２２００へ送信する。この情報には、最新のポインティング情報の全座標値、全てのタッチ座標から計算した最新の重心座標値、最新の座標数、直前のポインティング情報の全座標値、直前の重心座標値が含まれる。以上の処理を以て、指の移動に伴う処理を終了する。
【００５５】
ここで、ローテートイベントについて図８を用いて詳しく説明する。
【００５６】
図８は、タッチパネル１３００上でユーザが時計回り方向に回転操作している様子を示す図である。同図（Ａ）は、ユーザが（ｘ１，ｙ１）と（ｘ２，ｙ２）の２点をタッチしており、その２点を結んだ直線ｍの中心が回転の中心座標値、ｘ軸に平行な線と直線とのなす角度がａである。一方、同図（Ｂ）は、ユーザが（ｘ１’，ｙ１’）と（ｘ２’，ｙ２’）の２点をタッチしており、その２点を結んだ直線ｎの中心が回転の中心座標値、ｘ軸に平行な線と直線とのなす角度がｂである。図８（Ｂ）がローテートイベント送信時のタッチ座標で、図８（Ａ）がその前のタッチ座標であったとすると、角度ａから角度ｂを引いた値が回転角度になる。
【００５７】
図９は、図４のＳ４０８のタッチ解除に伴う処理を説明するフローチャートである。
【００５８】
まずＳ９０１で、直前のポインティング情報のポインティング情報番号、タッチ入力発生時刻、タッチ座標数を変更し、タッチ解除されたタッチ座標の解除時刻をセットしたポインティング情報を作成する。図９において、直前のポインティング情報とは、Ｓ９０１で作成されるポインティング情報の１つ前に作成されたポインティング情報のことをいう。また、最新のポインティング情報とは、Ｓ９０１で作成されたポインティング情報のことをいう。例えば、直前のポインティング情報が図３（Ｅ）のポインティング情報Ｐ5であった場合、ポインティング情報Ｐ5を参照して、図３（Ｆ）のポインティング情報Ｐ6を新たに作成する。図３（Ｆ）の網掛け部分が図３（Ｅ）との相違部分である。具体的には、ポインティング情報番号を「６」に、タッチ入力発生時刻を「７″００」に、タッチ座標数を「２」に変更し、タッチが解除された座標２の解除時刻を「７″００」にセットする。
【００５９】
次にＳ９０２に進み、最新のポインティング情報のタッチが解除されたタッチ座標の移動中フラグが「ＴＲＵＥ」かどうかを判定し、そうであればＳ９０３へ移行し、そうでなければＳ９０４へ移行する。Ｓ９０３では、タッチ解除されたタッチ座標の移動中フラグが「ＴＲＵＥ」であるため移動中に指が離されたと認識し、フリックイベントの送信処理を行ってＳ９０９に進む。ここでフリックとは、スワイプ中に指を離す（指をはじくような）動作のことをいう。フリックイベントが発生すると、図５（Ｇ）に示すように、最新のポインティング情報の座標値、及び、最新と直前のポインティング情報の座標値から計算した指の移動速度をジェスチャイベント処理部２２００へ渡す。
【００６０】
Ｓ９０４では、タッチ解除されたタッチ座標のシングルタップフラグが「ＴＲＵＥ」かどうかを判定し、そうであればＳ９０５へ移行し、そうでなければＳ９０６へ移行する。Ｓ９０５では、タッチ解除されたタッチ座標が既にシングルタップされた後であることから、タッチ解除されたタッチ座標にダブルタップフラグを立ててＳ９０９に進む。
【００６１】
Ｓ９０６では、タッチ解除されたタッチ座標の［（解除時刻−押下時刻）＜所定時間］かどうかを判定し、そうであればＳ９０７へ移行し、そうでなければＳ９０８へ移行する。Ｓ９０７では、タッチ座標が所定時間以内にタッチ解除されているため、タッチ解除されたタッチ座標にシングルタップフラグを立ててＳ９０９に進む。一方Ｓ９０８では、所定時間が経過した後にタッチ座標がタッチ解除されたことから、タッチ解除されたタッチ座標にロングタップフラグを立ててＳ９０９に進む。Ｓ９０９では、タッチ解除イベント送信処理を行う。タッチ解除イベントが発生すると、図５（Ｈ）に示すように、最新のポインティング情報の座標値、及び、座標数をジェスチャイベント処理部２２００へ渡す。以上の処理を以て、タッチ解除に伴う処理を終了する。
【００６２】
図１０は、図４のＳ４０９のタイマ割込に伴う処理を説明するフローチャートである。  まずＳ１００１で、最新のポインティング情報のタッチ座標で、ダブルタップフラグとシングルタップフラグの両方が「ＴＲＵＥ」のタッチ座標があるかどうかを判定し、あればＳ１００２へ移行し、なければＳ１００３へ移行する。Ｓ１００２では、タッチ座標のダブルタップフラグが立っているため、ダブルタップイベント送信処理を行ってＳ１００５に進む。ここではダブルタップイベントが発生すると、図５（Ｉ）に示すように、最新のポインティング情報の座標値をジェスチャイベント処理部２２００へ渡す。
【００６３】
一方、Ｓ１００３では、最新のポインティング情報のタッチ座標で、シングルタップフラグだけが「ＴＲＵＥ」のタッチ座標があるかどうかを判定し、あればＳ１００４へ移行し、なければＳ１００５へ移行する。Ｓ１００４では、タッチ座標のシングルタップフラグが立っているため、シングルタップイベント送信処理を行ってＳ１００５に進む。シングルタップイベントが発生すると、図５（Ｊ）に示すように、最新のポインティング情報の座標値をジェスチャイベント処理部２２００へ渡す。
【００６４】
Ｓ１００５では、最新のポインティング情報のタッチ座標で、ロングタップフラグが「ＴＲＵＥ」のタッチ座標があるかどうかを判定し、あればＳ１００６へ移行し、なければＳ１００７へ移行する。Ｓ１００６では、タッチ座標のロングタップフラグが立っているため、ロングタップイベント送信処理を行ってＳ１００７に進む。ロングタップイベントが発生すると、図５（Ｋ）に示すように、最新のポインティング情報の座標値をジェスチャイベント処理部２２００へ渡す。
【００６５】
Ｓ１００７では、最新のポインティング情報のタッチ座標の中で、押下時刻から所定時間以上経過しているものがあるかどうかを判定し、あればＳ１００８へ移行し、なければＳ１０１０へ移行する。Ｓ１００８では、押下してから所定時間以上が経過している最新のポインティング情報のタッチ座標で、過去のポインティング情報のタッチ座標を全て検索し、最新のもの含め移動中フラグが「ＴＲＵＥ」になったタッチ座標があるかを判定する。あればＳ１０１０へ移行し、なければＳ１００９へ移行する。Ｓ１００９では、タッチ座標は、指をタッチしてから一度も移動フラグを立てず、且つ、所定時間以上動かさずにホールドしたものであることから、タッチアンドホールドイベント送信処理を行ってＳ１０１０に進む。タッチアンドホールドイベントが発生すると、図５（Ｌ）に示すように、最新のポインティング情報の座標値をジェスチャイベント処理部２２００へ渡す。
【００６６】
Ｓ１０１０では、移動中フラグが立っているタッチ座標があるかどうかを判定し、あればＳ１０１１へ移行し、なければＳ１０１２へ移行する。Ｓ１０１１では、直前のポインティング情報のポインティング情報番号、タッチ入力発生時刻を変更し、全てのタッチ座標の移動中フラグを外したポインティング情報を作成してＳ１０１２に進む。例えば、直前のポインティング情報が図３（Ｃ）のポインティング情報Ｐ3であった場合、ポインティング情報Ｐ3を参照して、図３（Ｄ）のポインティング情報Ｐ4を新たに作成する。図３（Ｄ）の網掛け部分が図３（Ｃ）との相違部分である。具体的には、図３（Ｄ）で、ポインティング情報番号を「４」に、タッチ入力発生時刻を「３″００５０」に変更し、移動中フラグを「ＦＡＬＳＥ」にセットする。ここでタッチ入力発生時刻が「３″００５０」になっているのは、例えばタイマ割込が５０ミリ秒間隔で発生していると仮定しているためである。
【００６７】
次にＳ１０１２に進み、タッチ座標の解除時刻から所定の時間が経過しているタッチ座標があるかどうかを判定し、あればＳ１０１３へ移行し、なければタイマ割込に伴う処理を終了する。ステップ１０１３では、直前のポインティング情報のポインティング情報番号を変更し、解除時刻から所定時間が経過したタッチ座標を削除したポインティング情報を作成する。例えば、直前のポインティング情報が図３（Ｆ）のポインティング情報Ｐ6である場合、ポインティング情報Ｐ6を参照して、図３（Ｇ）のポインティング情報Ｐ7を新たに作成する。図３（Ｇ）の網掛け部分が図３（Ｆ）との相違部分である。具体的には、ポインティング情報番号を「７」に変更し、図３（Ｆ）のタッチ座標２を削除する。以上の処理を以て、タイマ割込に伴う処理を終了する。
【００６８】
次に図２０を参照して、本実施形態１で実現する操作の一例を説明する。
【００６９】
図２０は、実施形態１に係る情報処理装置１０００のタッチＵＩ１５００に表示された複数のオブジェクト（２６０１〜２６０４）を、両手（２６０５，２６０６）で一纏めにした上で、削除するまでの処理の流れを模式的に表した図である。
【００７０】
実施形態１では、単にオブジェクトと言ったときは、ＰＤＦファイル等の各ページオブジェクトの実態を表し、表示オブジェクトと言ったときは、プレビュー表示している際の各ページのプレビュー画像等を指す。但し、オブジェクトの定義は特にこれに限定されるものではない。
【００７１】
図２０（Ａ）は、タッチＵＩ１５００上に、オブジェクト２６０１〜２６０４を含む表示オブジェクトが表示されている様子を表す。ここで両手２６０５，２６０６それぞれの３本以上の指を用いて表示オブジェクト２６０１と２６０４をそれぞれタッチし、両手を矢印２６０７の方向へ移動させる。これにより、図２０（Ｂ）に示すように、表示オブジェクト２６０１〜２６０４は一纏めにされて、表示オブジェクト２６０８となる。これは両手でカードなどを集めて束ねる動作を模したものである。
【００７２】
そして図２０（Ｃ）のように、左手２６０５をタッチＵＩ１５００から離し、右手２６０６を多点ピンチイン（３本以上の指をタッチしたままつまむような動作）を行う。これにより、表示オブジェクト２６０８は紙が丸められるようにクシャクシャと丸められて削除される。
【００７３】
図２０（Ｄ）は、削除完了後のタッチＵＩ１５００上の表示を示している。ここでは番号２〜５に対応するオブジェクト２６０１〜２６０４が削除されたことにより、番号１のオブジェクトの次に番号が６のオブジェクトが配置されている。
【００７４】
以下、図１１〜図１６、図１９〜図２３を参照して、本発明の実施形態１に係る表示オブジェクトのまとめ操作と削除操作の詳細を説明する。尚、本実施形態１では、この機能は情報処理装置上のソフトウェアで実現されるが、ハードウェアモジュールで実現してもよい。
【００７５】
図１１は、本発明の実施形態１に係る情報処理装置のジェスチャイベント処理部２２００に存在する削除処理モジュールを説明するブロック図である。この削除処理モジュール１１１１は、図５を参照して前述したタッチイベント（図５（Ａ））、タッチ解除イベント（図５（Ｈ））、３点以上の指移動イベント（図５（Ｍ））に対する処理を実行する。
【００７６】
タッチイベント処理部１１１２は、タッチイベントを処理する。タッチ解除イベント処理部１１１３は、タッチ解除イベントを処理する。３点以上の指移動イベント処理部１１１４は、３点以上の指移動イベントを処理する。３点以上の指移動イベント処理部１１１４中の、両手オブジェクトまとめ処理部１１１５は、３点以上の指移動イベントのうち、両手による操作が行われた場合に、表示オブジェクトをまとめる処理を実行する（実施形態１）。片手オブジェクトまとめ処理部１１１６は、３点以上の指移動イベントのうち、片手によるスワイプ操作が行われた場合に、表示オブジェクトをまとめる処理を実行する（実施形態２）。片手オブジェクト削除処理部１１１７は、３点以上の指移動イベントのうち、片手による多点ピンチイン操作が行われた場合に、表示オブジェクトを削除する処理を実行する（実施形態１）。
【００７７】
次に、タッチＵＩ１５００へ表示オブジェクトを表示する際、表示データをどのように管理しているかを説明する。
【００７８】
図２１は、表示オブジェクトがまとめられて表示される状態を説明する図である。
【００７９】
図２１（Ａ）は、タッチＵＩ１５００に表示されたオブジェクト１〜６（表示オブジェクト２７０１〜２７０６）を表している。図２１（Ｂ）は、オブジェクト２〜５（表示オブジェクト２７０２〜２７０５）と、オブジェクト７，８がまとめた状態で表示されている様子を表す。表示オブジェクト２７１１はオブジェクト２〜５をまとめた状態を示し、表示オブジェクト２７１２が、オブジェクト７，８をまとめた状態を示している。
【００８０】
図２２は、タッチＵＩ１５００上に表示されている表示オブジェクト２９０１〜２９０６のうち、表示オブジェクト２９０２，２９０５が、両手２９０７，２９０８の各３本の指２９０９，２９１０によって、それぞれ選択されている様子を表している。
【００８１】
図１９は、図２１の表示オブジェクトに対応する表示オブジェクトのオブジェクト情報の一例を示す図である。これらの表示オブジェクトの状態の管理は、図１９（Ａ）〜（Ｅ）に示したオブジェクト情報に基づいて行われる。これはＲＡＭ１１０７に保持されるデータであり、削除処理モジュール１１１１から読み書きすることができる。描画部２３００（図２）はこの情報を読み込み、この情報に従って描画処理を実行する。
【００８２】
図１９（Ａ）は、図２１（Ａ）に示すように、オブジェクトがプレビュー表示されている状態を示すオブジェクト情報である。オブジェクト番号は、各オブジェクトを一意に決定できるオブジェクトのＩＤであり、図２１（Ａ）のオブジェクト番号と対応している。格納アドレスは、それぞれのオブジェクトがＲＡＭ１１０７に格納されているアドレスを表す定数である。矩形座標は、各表示オブジェクトを表す矩形の左上の頂点が、タッチＵＩ１５００に表示される位置を表す座標である。選択フラグは、表示オブジェクトが選択状態にあるかどうかを表すフラグであり、選択状態の場合は「ＴＲＵＥ」、そうでない場合は「ＦＡＬＳＥ」となる。縮小率は、表示オブジェクト削除の処理を行う際、削除がどの程度進んでいるかを表す割合である。オブジェクト情報の最後には、オブジェクト情報の終端であることを示す「ＥＮＤＯＢＪ」が、オブジェクト番号の欄に格納される。また、その場合のアドレスなどの各値は全て「ＮＵＬＬ」であるとした。
【００８３】
図２３は、実施形態に係る矩形座標を説明する図である。ここではタッチＵＩ１５００の左上の点を（ｘ，ｙ）＝（０，０）とし、横軸をｘ軸、縦軸をｙ軸に取っている。矩形座標ｃ１，ｃ６〜ｃ９は表示オブジェクトの座標を、ｃｐ１はまとめられた表示オブジェクトの座標を表す。具体的には、図２１に示すように、まとめられたオブジェクトは２〜５である。このように矩形座標は、まとめられたオブジェクトにつき一つ定義されるため、表示オブジェクトのＩＤの役割も果たす。各オブジェクトのサイズはそれぞれ、横の長さをＸ、縦の長さをＹとし、隣接する矩形座標同士の間隔は、一定間隔Ｄで画面上に配列されている。
【００８４】
図１９（Ｂ）は、図２１（Ｂ）のように、オブジェクト番号２〜５のオブジェクト（表示オブジェクト２７０２〜２７０５）とオブジェクト番号７，８のオブジェクトがまとめられている状態を表す。
【００８５】
図１９（Ｃ）は、図２２のように、オブジェクト番号２の表示オブジェクト２９０２とオブジェクト番号５の表示オブジェクト２９０５が選択されている状態を表す。
【００８６】
図１９（Ｄ）は、オブジェクト２〜５が一つに纏められて選択中である状態を表す。
【００８７】
図１９（Ｅ）は、オブジェクト２〜５がまとめられ、かつ３０％まで削除が進んでいる状態を表す。図１９（Ｅ）では、オブジェクト２〜５の縮小率が「０．３」となっていることで表現されている。
【００８８】
描画部２３００はこれらの情報を読み取り、それぞれの矩形領域に表示オブジェクトのプレビュー画像を表示する。オブジェクト情報中に、矩形座標が同じであるオブジェクトがあるかどうかを確かめ、ある場合は、同じ矩形領域に同一の表示オブジェクトを表示する。その際、作成する表示オブジェクトは、矩形座標が同じオブジェクトを重ねたような表示形態の画像となる（図２１（Ｂ）参照）。また、選択フラグが立っているオブジェクトに対しては、選択状態を表現した（色を反転させるなど）表示オブジェクトの画像を生成して表示する（図２２参照）。縮小率が１以下のオブジェクトに関しては、縮小率に基づいて縮小したオブジェクトの画像を作成し、表示オブジェクトとして表示する（図２０（Ｃ）参照）。例えば図１９（Ｅ）の場合、オブジェクト２〜５の縮小率０．３に基づいて、オブジェクトの画像サイズを３０％まで縮小した画像を作成して、同じ矩形領域内に表示する。
【００８９】
図１２は、実施形態１に係る削除処理モジュール１１１１の処理を説明するフローチャートである。尚、この処理モジュールは、ＣＰＵ１１０１が、ＲＯＭ１１０６に記憶されたプログラムをＲＡＭ１１０７に展開して実行することにより実現される。
【００９０】
まずＳ１２０１で、削除処理モジュール１１１１は、タイマイベントもしくはタッチイベントが発生しているかどうかを調べる。タイマイベントは、ＯＳが所定の時間毎に定期的に発生させるイベントのことを指す。このイベントが発生している場合はＳ１２０２へ移行するが、発生していない場合はＳ１２０１へ戻ってイベントの発生があるかどうかを再度判定する。Ｓ１２０２では、削除処理モジュール１１１１は、検出したイベントがタッチイベントかどうかを判定する。ここでタッチイベントである場合はＳ１２０３に進み、そうでない場合はＳ１２０４へ移行する。Ｓ１２０３では、削除処理モジュール１１１１は、表示オブジェクトの選択処理を実行する。この処理は削除処理モジュール１１１１のうち、タッチイベント処理部１１１２が実行する。表示オブジェクトの選択処理のフローチャートは図１３（Ａ）で説明する。こうしてＳ１２０３の処理を終了すると、削除処理モジュール１１１１はＳ１２０１に戻る。
【００９１】
Ｓ１２０４では、削除処理モジュール１１１１は、検出したイベントがタッチ解除イベントであるかどうかを判定する。タッチ解除イベントである場合はＳ１２０５へ進み、そうでない場合はＳ１２０７へ移行する。Ｓ１２０５では、削除処理モジュール１１１１は、操作完了処理を実行する。この処理は削除処理モジュール１１１１のうち、タッチ解除イベント処理部１１１３が実行する。この操作完了の処理のフローチャートは図１６で説明する。次にＳ１２０６に進み、削除処理モジュール１１１１は、表示オブジェクトの選択解除処理を実行する。この処理は削除処理モジュール１１１１のうち、タッチ解除イベント処理部１１１３が実行する。この処理のフローチャートは図１３（Ｂ）で説明する。こうしてＳ１２０６の処理が終了すると、削除処理モジュール１１１１はＳ１２０１に戻る。
【００９２】
一方、Ｓ１２０７では、削除処理モジュール１１１１は、検出したイベントが、３点以上の指移動イベントかどうかを判定する。そうであればＳ１２０８へ進み、そうでないときはＳ１２０１に戻ってイベントの発生を待つ。Ｓ１２０８では、削除処理モジュール１１１１は、３点以上の指移動イベントに含まれる情報から、タッチ座標数が６点以上かどうかを確かめる。そうである場合はＳ１２０９へ進み、そうでないときはＳ１２１０へ移行する。Ｓ１２０９では、削除処理モジュール１１１１は、両手で表示オブジェクトをまとめる処理を実行する。この処理は、削除処理モジュール１１１１のうち、３点以上の指移動イベント処理部１１１４の中の、両手オブジェクトまとめ処理部１１１５が実行する。この処理のフローチャートは図１４で説明する。こうしてＳ１２０９の両手で表示オブジェクトをまとめる処理が終了すると、削除処理モジュール１１１１はＳ１２０１に戻る。
【００９３】
またＳ１２１０では、削除処理モジュール１１１１は、イベント中に含まれる最新と直前のタッチ座標及び重心座標をそれぞれ取得する。次に、その取得した情報を基に、重心から各座標までの距離の平均値が直前と最新で変化したか否かを確かめる。ここで、現時点ｔにおける、最新の各タッチ座標をＦｉ（ｔ）（ｉ：１〜Ｉ、Ｉは最新のタッチ座標の数）、それらから計算した最新の重心座標をＧ（ｔ）とすると、最新の重心から各座標までの距離の平均値ａｖ（ｔ）は、次の式で表わされる。
【００９４】
ａｖ（ｔ）＝Σ（｜Ｆｉ（ｔ）−Ｇ（ｔ）｜）／Ｉ  …  式（１）
ここで、｜Ｆｉ（ｔ）−Ｇ（ｔ）｜は２座標間の距離を表し、Σは、ｉ＝１からｉ＝Ｉまでの総和を示す。
【００９５】
そして、ここで直前の重心から各座標までの距離の平均値ａｖ（ｔ−１）と、ａｖ（ｔ）が異なるか否かを確かめればよい（直前を（ｔ−１）で表現する）。異なっている場合は、削除処理モジュール１１１１の処理は、Ｓ１２１１の片手で表示オブジェクトを削除する処理に進み、同じである場合はＳ１２１２へ移行する。Ｓ１２１１では、削除処理モジュール１１１１は、片手で表示オブジェクトを削除する処理を実行する。この処理は、削除処理モジュール１１１１のうち、片手オブジェクト削除処理部１１１７が実行する。この処理のフローチャートは図１８で説明する。この処理が終了すると削除処理モジュール１１１１はＳ１２０１へ戻る。
【００９６】
Ｓ１２１２では、削除処理モジュール１１１１は、イベントから取得した直前と最新のタッチ座標を確認し、タッチ座標が平行移動したかどうかを確かめる。これには次の三つが同時に成り立つことを確認すればよい。
（１）式（１）に示したａｖ（ｔ）とａｖ（ｔ−１）が、異なっていない。
（２）重心から各座標までの傾きが大きく変化していない。
（３）重心がｘ軸方向に移動している。
【００９７】
これらを満たす場合、削除処理モジュール１１１１の処理はＳ１２１３へ移行し、満たさない場合はＳ１２０１へ戻る。ここで満たさない場合は、多点タッチによるローテート処理等であるが、本実施形態では使用しないので定義しない。Ｓ１２１３では、削除処理モジュール１１１１は、片手で表示オブジェクトをまとめる処理を実行する。この処理は実施形態２で詳しく説明する。この処理は削除処理モジュール１１１１のうち、片手オブジェクトまとめ処理部１１１６が実行する。この処理のフローチャートは図１７で説明する。Ｓ１２１３が終了すると、削除処理モジュール１１１１はＳ１２０１へ戻る。
【００９８】
上記処理を繰り返し実行することで、ジェスチャイベント発生部２１００が発生したイベントのうち、本実施形態に係るイベントを処理することができる。
【００９９】
図１３（Ａ）は、実施形態に係る表示オブジェクトの選択処理（図１２のＳ１２０３）  を表すフローチャートである。このフローチャートを実行するのはタッチイベント処理部１１１２である。
【０１００】
まずＳ１３０１で、タッチイベント処理部１１１２は、それぞれの矩形座標について、表示オブジェクトの表示領域内に、タッチ座標が３点以上あるか否かを調べる。表示オブジェクトの表示領域とは、先に述べた矩形座標を左上とし、横Ｘ、縦Ｙの長さの矩形領域のことを表す。またタッチ座標とは、タッチイベントの付加情報として取得できる、最新のタッチ座標のことを表す。次にＳ１３０２に進み、タッチイベント処理部１１１２は、表示領域内にタッチ座標が３点以上あった表示オブジェクトのオブジェクト情報の選択フラグを「ＴＲＵＥ」に設定する。これは図１９（Ｃ）のオブジェクト情報に相当する。図１９（Ｃ）ではオブジェクト２と５が選択されている。次にＳ１３０３に進み、タッチイベント処理部１１１２は、表示状態の更新を描画部２３００に依頼する。これにより描画部２３００は、オブジェクト情報に基づいてタッチＵＩ１５００上の画像を更新する。図１９（Ｃ）のオブジェクト情報を反映した表示画面の例を、図２２の２９０２，２９０５で示す。
【０１０１】
図１３（Ｂ）は、表示オブジェクトの選択解除（図１２のＳ１２０６）を説明するフローチャートである。このフローチャートは、タッチ解除イベント処理部１１１３が実行する。
【０１０２】
まずＳ１３１０で、タッチ解除イベント処理部１１１３は、全てのオブジェクトについて、選択フラグが「ＴＲＵＥ」であるオブジェクトがあるかどうかを調べる。あればＳ１３１１へ進み、ない場合は処理を終了する。Ｓ１３１１１では、タッチ解除イベント処理部１１１３は、選択フラグが「ＴＲＵＥ」であるオブジェクト毎に、矩形座標を頂点とする矩形領域内にタッチ座標が３点以上あるか否かを調べる。全てにタッチ座標が３点以上ある場合は処理を終了し、ないものがあった場合はＳ１３１２へ移行する。Ｓ１３１２では、タッチ解除イベント処理部１１１３は、矩形領域内にタッチ座標が３点以上なかったものの選択フラグを「ＦＡＬＳＥ」にする。そしてＳ１３１３に進み、タッチ解除イベント処理部１１１３は、描画部２３００に表示画像の更新を依頼する。
【０１０３】
図１４は、実施形態１における、両手で表示オブジェクトをまとめる処理（図１２のＳ１２０９）を説明するフローチャートである。この処理は、両手オブジェクトまとめ部１１１５が実行する。この処理は、図２２の状態で、右手２９０７と左手２９０８が矢印２９１１の方向に移動した際に実行される処理である。
【０１０４】
まずＳ１４０１で、両手オブジェクトまとめ部１１１５は、現在二つの表示オブジェクトが選択状態か否かを確かめる。このとき、オブジェクト情報の選択フラグが立っているオブジェクトが複数あり、且つ、それらのオブジェクトの矩形座標は全部で２種類かどうかを確認すればよい。例えば、図１９（Ｃ）では、オブジェクト２と５の選択フラグが立っており、その矩形座標はそれぞれｃ２，ｃ５で２種類となる。二つのオブジェクトが選択状態である場合はＳ１４０２へ進み、そうでない場合は処理を終了する。Ｓ１４０２で、両手オブジェクトまとめ部１１１５は、「両手オブジェクトまとめ中」フラグが立っているかどうかを確認する。このフラグは、削除処理モジュール１１１１が現在どのような状態にあるかを管理するための状態フラグで、ＲＡＭ１１０７の所定の領域に格納される。この状態フラグには他に、削除実行中か否かを管理する「削除中」フラグ、片手での表示オブジェクトをまとめる処理が実行中であるか否かを管理する「片手オブジェクトまとめ中」フラグがある。「両手オブジェクトまとめ中」フラグが立っている場合はＳ１４０４へ進み、そうでない場合はＳ１４０３へ移行し、「両手オブジェクトまとめ中」フラグを立てる。Ｓ１４０４では、両手オブジェクトまとめ部１１１５は、重心からタッチ座標までの距離の平均値の、最新と直前とでの変化：Δａｖ（ｔ）を計算する。式（１）により、ｔは現時点（最新）を表すものとして、Δａｖ（ｔ）は次式で与えられる。
【０１０５】
Δａｖ（ｔ）＝ａｖ（ｔ）−ａｖ（ｔ−１）  …  式（２）
次にＳ１４０５に進み、両手オブジェクトまとめ部１１１５は、オブジェクト情報のうち、オブジェクトの矩形座標を、Δａｖ（ｔ）に基づいて更新する。例えば、図１９（Ｃ）の場合、オブジェクト２の座標ｃ２より左にあるオブジェクトのｘ座標ｃ１ｘ，ｃ２ｘを、ｃ１ｘ＝ｃ１ｘ＋Δａｖ（ｔ），ｃ２ｘ＝ｃ２ｘ＋｜Δａｖ（ｔ）｜に変更する。また、ｃ５より右側の矩形座標に関しては、ｃｊｘ＝ｃｊｘ−｜Δａｖ（ｔ）｜（ｊ＝５以降の整数）とすることで、左にずらすことができる。また、ｃ２とｃ５の間にある矩形座標に関しては、ｃ３ｘ＝ｃ２ｘ＋｜ｃ２ｘ−ｃ５ｘ｜／３，ｃ４ｘ＝ｃ２ｘ＋２｜ｃ２ｘ−ｃ５ｘ｜／３（ｃ２ｘ，ｃ５ｘは更新後のもの）とすれば、ｃ２とｃ５の間に均等に割りつけることができる。そしてＳ１４０６に進み、両手オブジェクトまとめ部１１１５は描画部２３００に、オブジェクト情報に基づいた表示の更新を依頼する。
【０１０６】
この処理が繰り返し実行されることによって、表示オブジェクトがまとめられていく様が、両手の移動に合わせて表示できる。
【０１０７】
図１５は、実施形態１において、片手で表示オブジェクトを削除する処理（図１２のＳ１２１１）を説明するフローチャートである。この処理は、片手オブジェクト削除処理部１１１７が実行する。この処理は、図２０（Ｃ）の２６０８で示すように、右手２６０６によって表示オブジェクトが削除される処理を説明したものである。
【０１０８】
まずＳ１５０１で、片手オブジェクト削除処理部１１１７は、一つの表示オブジェクトが選択状態であるかいなかを調べる。このとき片手オブジェクト削除処理部１１１７は、オブジェクト情報において、選択フラグが立っており、且つ、それらのオブジェクト矩形座標が１種類だけかどうかを調べる。例えば、図１９（Ｄ）の状態では、選択フラグがオブジェクト２〜５に立っている。これらの矩形座標はｃｐ１で１種類である。これは、オブジェクト２〜５が両手によるまとめ処理などでまとめられ、同じ矩形内に１つの表示オブジェクトとして表示されており、その表示オブジェクトが選択されていることを示している。ここで１つの表示オブジェクトが選択状態である場合はＳ１５０２へ、そうでない場合は処理を終了する。
【０１０９】
Ｓ１５０２では、片手オブジェクト削除処理部１１１７は、先に述べた状態フラグである「削除中」フラグが立っているかどうかを調べる。立っている場合はＳ１５０７へ進み、立っていない場合はＳ１５０３へ移行する。Ｓ１５０３では、片手オブジェクト削除処理部１１１７は「削除中」フラグをたてる。次にＳ１５０４に進み、片手オブジェクト削除処理部１１１７は、イベント発生直前の重心からそれぞれのタッチ座標までの距離の平均を計算する。この計算式は式（１）によって与えられる。ここで、計算したａｖ（ｔ−１）は、片手でオブジェクトを削除する処理を行う直前の値なので、ａｖ（０）としてＲＡＭ１１０７に保存する。
【０１１０】
次にＳ１５０５に進み、片手オブジェクト削除処理部１１１７は、先に説明した状態フラグである「片手オブジェクトまとめ中」フラグが立っているか否かを確認する。この処理は、実施形態２で説明する、片手でオブジェクトをまとめる処理を完了させてから削除の処理に移行する必要があるため、ここで行う。フラグが立っている場合はＳ１５０６へ進み、そうでない場合はＳ１５０７へ移行する。Ｓ１５０６では、片手オブジェクトまとめ処理の完了処理を実行する。この処理は、図１８で説明する。
【０１１１】
そしてＳ１５０７では、片手オブジェクト削除処理部１１１７は、ａｖ（０）と最新の重心からそれぞれのタッチ座標までの距離の平均値ａｖ（ｔ）を用いて、縮小率を計算する。この縮小率は、元の表示オブジェクトの表示状態を「１」としたとき、どれ位表示オブジェクトの削除が進行しているかを表す割合である。そして縮小率が「０」になると、削除が完了していることを表す。ここで縮小率は、ａｖ（ｔ）／ａｖ（０）で表わされる。
【０１１２】
次にＳ１５０８に進み、片手オブジェクト削除処理部１１１７は、計算した縮小率を表示するオブジェクトに反映させるように削除表示制御する。例えば、図１９（Ｅ）は、図１９（Ｄ）の状態に対して多点ピンチイン（３本以上の指でつまむような動作）をしたことにより、縮小率が「０．３」にまで小さくなった状態を表している。そしてＳ１５０９に進み、片手オブジェクト削除処理部１１１７は、オブジェクト情報に基づいて表示状態を更新することを、描画部２３００に依頼する。
【０１１３】
以上の処理を繰り返し実行することにより、表示オブジェクトに対する多点ピンチイン実行時に、例えば図２０（Ｃ）のように削除過程を表示することが可能となる。
【０１１４】
図１６は、実施形態１における各操作の完了処理（図１２のＳ１２０５）を説明するフローチャートである。今まで説明した両手オブジェクトまとめ処理や片手オブジェクト削除処理は、この処理が実行されるまでは、表示オブジェクトに対して完了していない。そして、この処理を実行することによって最終的に操作結果が確定する。この処理はタッチ解除イベント処理部１１１３が実行する。
【０１１５】
まずＳ１６０１において、タッチ解除イベント処理部１１１３は、現在、「削除中」フラグが立っているか否か調べる。立っている場合はＳ１６０２へ、そうでない場合はＳ１６０８へ移行する。Ｓ１６０２でタッチ解除イベント処理部１１１３は、オブジェクト情報を確認し、タッチ解除イベントにより選択状態の矩形領域内にあるタッチ座標数が、２点以下になっているかどうかを確認する。これはタッチ解除が行われても、削除中の表示オブジェクトがまだ選択状態であるならば削除を完了しないことを表す。２点以下になっている場合はＳ１６０３へ、そうでない場合は処理を終了する。Ｓ１６０３でタッチ解除イベント処理部１１１３は、オブジェクト情報を確認し、選択状態の表示オブジェクトの縮小率が所定の値以下になっているかどうかを確認する。所定の値以下であればＳ１６０４へ進み、そうでない場合はＳ１６０５へ移行する。Ｓ１６０４では、タッチ解除イベント処理部１１１３は、選択中の表示オブジェクトのオブジェクト情報を更新し、削除を完了させてＳ１６０６に進む。このとき、オブジェクト情報の縮小率を「０」に変更する。このとき、オブジェクト情報から該当するオブジェクトを削除し、実際のオブジェクトの実体も削除するようにしてもよい。一方、Ｓ１６０５では、タッチ解除イベント処理部１１１３は、選択中の表示オブジェクトのオブジェクト情報を更新し、オブジェクトの縮小率を「１」に戻してＳ１６０６に進み、タッチ解除イベント処理部１１１３は、「削除中」フラグを外す。次にＳ１６０７に進み、タッチ解除イベント処理部１１１３は、更新されたオブジェクト情報を基に、表示画像の更新を描画部２３００に依頼する。ここまでが片手による表示オブジェクト削除の完了処理である。
【０１１６】
Ｓ１６０８では、タッチ解除イベント処理部１１１３は、「両手オブジェクトまとめ中」フラグが立っているかどうかを確認する。立っている場合はＳ１６０９に進み、そうでない場合はＳ１６１５へ移行する。Ｓ１６０９でタッチ解除イベント処理部１１１３は、Ｓ１６０２の処理と同様に、タッチ解除によりタッチ座標の数が５点以下になっているかどうかを確認する。５点以下になっている場合はＳ１６１０に進み、そうでない場合は処理を終了する。Ｓ１６１０では、タッチ解除によりタッチ解除イベント処理部１１１３はオブジェクト情報を確認し、現在選択フラグが立っている２つの表示オブジェクト同士の距離が所定距離以内に近づいているかどうかを判定する。２つの表示オブジェクトの距離は、矩形座標のｘ座標の距離を計算して得られる。例えば、オブジェクト２の矩形座標のｘ座標をｃ２ｘ、オブジェクト５の矩形座標のｘ座標をｃ５ｘとすると、２つの表示オブジェクトの距離ｄ２５は、ｄ２５＝｜ｃ５ｘ−ｃ２ｘ｜で表現される。この距離が所定距離以内であればＳ１６１１へ進み、そうでなければＳ１６１２へ移行する。Ｓ１６１１でタッチ解除イベント処理部１１１３は、表示オブジェクトをまとめる処理を完了するようにオブジェクト情報を更新する。このとき選択フラグが立っている２つのオブジェクトと、その間のオブジェクトの矩形座標を同じ矩形座標にする。例えば、現在のオブジェクト２とオブジェクト５の距離がｄ２５であったとすると、まとめた結果の座標ｃｐ１のｘ座標ｃｐ１ｘは、次のように計算できる。ｃｐ１ｘ＝ｃ２ｘ＋ｄ２５。これをオブジェクト２〜５の矩形座標にすれば、表示の際に、まとめた画像が表示される。
【０１１７】
一方、Ｓ１６１２では、タッチ解除イベント処理部１１１３は、表示オブジェクトの表示を元に戻すように、オブジェクト情報を更新する。このとき、選択フラグが立っているオブジェクトと間のオブジェクトの矩形座標を、等間隔にＤだけ離すように設定する。ここでＤは、図２３で説明した、矩形座標間隔の初期値である。こうしてＳ１６１３に進み、タッチ解除イベント処理部１１１３は、「両手オブジェクトまとめ中」フラグをオフにする。次にＳ１６１４に進み、タッチ解除イベント処理部１１１３は、ほかの表示画像更新のときと同様、表示の更新を描画部２３００に依頼する。以上の処理で、両手で複数の表示オブジェクトをまとめる処理を完了できる。尚、Ｓ１６１５以降の処理は、実施形態２で説明する。
【０１１８】
以上の処理を繰り返し実行することで、両手で複数の表示オブジェクトをまとめ、多点ピンチインで削除する処理を、一連の動作で実行することが可能となる。
【０１１９】
また実施形態１によれば、画面上で複数の表示オブジェクトを両手で一か所にまとめ、それらまとめたオブジェクトを多点ピンチインで削除することができる。これにより、表示されている複数のオブジェクトを、簡単な操作で一括して削除することができる。
【０１２０】
［実施形態２］
前述の実施形態１では、両手を用いて複数の表示オブジェクトをまとめ、多点ピンチインで削除する実施形態を説明した。これに対して実施形態２では、片手を用いて複数の表示オブジェクトをまとめる処理を説明する。この処理は片手で表示オブジェクトを３点以上で選択した状態で、左右へスライドさせることにより、隣の表示オブジェクトと次々にまとめていくものである。以下、実施形態１との差分を中心に、実施形態２について説明する。尚、実施形態２に係る情報処理装置の構成などは、前述の実施形態１と同様であるため、その説明を省略する。
【０１２１】
図２４は、本発明の実施形態２に係り、片手でオブジェクト５を選択し、次々とまとめてオブジェクト２までをまとめる様子を表している。多点ピンチインにより削除する部分は、実施形態１と同様のため、詳しい説明は割愛する。
【０１２２】
この処理の全体の流れを表すフローチャートは、前述の実施形態１と同じ図１２である。ここで実施形態１との差分は、Ｓ１２１３における処理を追加で行うことである。このＳ１２１３の処理は、図１７のフローチャートを参照して説明する。
【０１２３】
図１５は、片手で表示オブジェクトを削除する処理を説明するフローチャートである。前述の実施形態１との差分は、Ｓ１５０５で「片手オブジェクトまとめ中」フラグが立っている場合は、Ｓ１５０６の片手オブジェクトまとめ完了処理を行う点にある。片手オブジェクトまとめ完了処理の詳細は、図１８で説明する。
【０１２４】
また各操作を完了処理するフローチャートは、実施形態１と同じ図１６である。実施形態１との差分はＳ１６１５〜Ｓ１６１７の処理を追加で行うことである。実施形態１との差分であるＳ１６１５〜Ｓ１６１７の処理ーは、図１６と図１８を参照して説明する。
【０１２５】
まず図１２のＳ１２１３の片手で表示オブジェクトをまとめる処理について、図１７を用いて説明する。
【０１２６】
図１７は、本発明の実施形態２に係る、片手で表示オブジェクトをまとめる処理（図１２のＳ１２１３）を説明するフローチャートである。この処理は、片手オブジェクトまとめ処理部１１１６が実行する。
【０１２７】
まずＳ１７０１で、片手オブジェクトまとめ処理部１１１６は、図１５のＳ１５０１と同様に、一つの表示オブジェクトが選択されているかどうかを判定する。一つの表示オブジェクトが選択されている場合はＳ１７０２へ移行し、されていない場合は、処理を終了する。Ｓ１７０２で、先に説明した片手での表示オブジェクトをまとめる処理が実行中であるか否かを管理する「片手オブジェクトまとめ中」フラグが立っているかどうかを調べる。立っている場合はＳ１７０４へ移行し、立っていない場合はＳ１７０３へ進み、「片手オブジェクトまとめ中」フラグを立ててＳ１７０４に進む。Ｓ１７０４では、片手でタッチしているタッチ座標の重心の移動距離：ΔＧ（ｔ）を計算する。ここで式（３）により、Ｇ（ｔ）は最新の重心座標値を表すものとして、Ｇ（ｔ−１）は直前の重心座標値を表すものとして、ΔＧ（ｔ）は次式で与えられる。
【０１２８】
ΔＧ（ｔ）＝Ｇ（ｔ）−Ｇ（ｔ−１）  …  式（３）
次にＳ１７０５に進み、図１９のオブジェクト情報を確認し、現在選択フラグが立っている２つの表示オブジェクト同士の距離が所定距離以内に近づいているかどうかを確かめる。２つの表示オブジェクトの距離の計算方法は、図１６のＳ１６１０と同じであるため説明を割愛する。所定距離以内に近づいている場合はＳ１７０６へ進み、そうでなければＳ１７０９へ移行する。Ｓ１７０６では、片手オブジェクトまとめ処理部１１１６は、図１９のオブジェクト情報の矩形座標を、ΔＧ（ｔ）に基づいて更新する。ここでは、選択中のオブジェクトを重ねるために、選択中のオブジェクトの矩形座標と、隣接するオブジェクトの矩形座標を同じにして、その他のオブジェクトの矩形座標をずらす。次にＳ１７０７に進み、表示オブジェクトの選択処理を実行する。この処理は削除処理モジュール１１１１のうち、タッチイベント処理部１１１２が実行する。表示オブジェクトの選択処理のフローチャートは図１３で説明した。こうしてＳ１７０７の処理が終了するとＳ１７０８へ移行する。
【０１２９】
一方、Ｓ１７０９では、図１９のオブジェクト情報を確認し、現在選択フラグが立っている２つの表示オブジェクト同士の距離が、所定距離より遠のいているかどうかを確かめる。２つの表示オブジェクトの距離の計算方法は、図１６のＳ１６１０と同じであるため説明を割愛する。所定距離より遠のいている場合はＳ１７１０へ移行し、そうでなければＳ１７１１へ移行する。Ｓ１７１０では、図１１の片手オブジェクトまとめ処理部１１１６は、オブジェクト情報の矩形座標を、ΔＧ（ｔ）に基づいて更新する。ここでは、選択中のオブジェクトと、その他のオブジェクトの間隔を元に戻すように、全てのオブジェクトの矩形座標を更新する。一方、Ｓ１７１１では、片手オブジェクトまとめ処理部１１１６は、図１９のオブジェクト情報の矩形座標を、ΔＧ（ｔ）に基づいて更新する。ここでは、選択中のオブジェクトの矩形座標が、移動方向にΔＧ（ｔ）動いた矩形座標を更新する。こうしてＳ１７０８に進み、片手オブジェクトまとめ処理部１１１６は、描画部２３００に、図１９のオブジェクト情報に基づいた表示の更新を依頼する。
【０１３０】
この処理が繰り返し実行されることによって、表示オブジェクトがまとめられていく様が、片手の移動に合わせて表示できる。
【０１３１】
次に、実施形態１との差分である図１６のＳ１６１５〜Ｓ１６１７の操作完了処理のフローについて、図１６を用いて説明する。
【０１３２】
図１６は、各操作を完了処理するフローチャートである。片手オブジェクトまとめ処理は、この処理が実行されるまでは、表示オブジェクトに対して完了しておらず、この処理実行によって最終的に操作結果が確定する。この処理はタッチ解除イベント処理部１１１３が実行する。以下、実施形態１との差分を説明する。
【０１３３】
Ｓ１６１５で、先に説明した片手での表示オブジェクトをまとめる処理が実行中であるか否かを管理する「片手オブジェクトまとめ中」フラグが立っているかどうかを調べる。立っている場合はＳ１６１６へ進み、そうでない場合は処理を終了する。Ｓ１６１６では、Ｓ１６０２の処理と同様に、タッチ解除によりタッチ座標の数が２点以下になっているかどうかを確認する。２点以下になっている場合はＳ１６１７へ進み、そうでない場合は処理を終了する。Ｓ１６１７では、片手オブジェクトまとめ完了処理を行い、操作完了処理を終了する。片手オブジェクトまとめ完了処理は図１８を参照して説明する。
【０１３４】
次に実施形態１との差分である、図１６のＳ１６１７の片手オブジェクトまとめ完了処理のフローについて、図１８を用いて説明する。
【０１３５】
図１８は、実施形態２に係る、片手で表示オブジェクトをまとめる処理を完了する処理（図１７のＳ１６１７）を説明するフローチャートである。この処理は、タッチ解除イベント処理部１１１３が実行する。
【０１３６】
まずＳ１８０１で、オブジェクト情報を確認し、現在選択フラグが立っている２つの表示オブジェクト同士の距離が所定距離以内に近づいているかどうかを判定する。２つの表示オブジェクトの距離の計算方法は、図１６のＳ１６１０と同じであるため説明を割愛する。所定距離以内に近づいている場合はＳ１８０２へ進み、そうでなければＳ１８０３へ移行する。Ｓ１８０２では、オブジェクト情報の矩形座標を、最新の重心座標値であるΔＧ（ｔ）に基づいて更新する。この詳細は図１７のＳ１７０６と同じであるため、その説明を割愛する。所定距離以内に近づいていないときはＳ１８０３で、オブジェクト情報の矩形座標を、最新の重心座標値であるΔＧ（ｔ）に基づいて更新する。この詳細は図１７のＳ１７１０と同じであるため、説明は割愛する。そしてＳ１８０４に進み、描画部２３００に、オブジェクト情報に基づいた表示の更新を依頼する。次にＳ１８０５に進み、「片手オブジェクトまとめ中」フラグをオフにして、片手オブジェクトまとめ完了処理を終了する。以上の処理で、片手で複数の表示オブジェクトをまとめる処理が完了できる。
【０１３７】
以上説明したように本実施形態２によれば、両手を使用しなくても、複数の表示オブジェクトを片手で一つにまとめることができる。そして、これらまとめた表示オブジェクトに対して、前述の実施形態１で説明したように、削除処理を実行することができる。
【０１３８】
以上説明したように本実施形態によれば、タッチＵＩにタッチした指の本数により、両手、片手の操作を区別し、複数のオブジェクトをまとめてオブジェクトの削除操作を行うことができる。これにより、複数のオブジェクトをまとめる操作、削除する操作を一連の動作で行うことが可能となる。これにより、画面に表示されているオブジェクトを削除する際の操作性が向上するという効果がある。
【０１３９】
（その他の実施例）
上記第１の実施形態や第２の実施形態では、表示オブジェクトの表示領域内にタッチ座標が３点以上あることを条件に、纏める対象となる表示オブジェクトを特定していた。しかし、１つの（１ページ分の）表示オブジェクトの表示領域内にタッチ座標が３点以上なくとも、タッチパネル全体（又は表示領域全体）の中でタッチ座標が３点以上あれば上記実施形態の纏める操作を可能にしてもよい。つまり、図２２の２９０９や２９１０の座標が、２９０２内や２９０５内に全て収まっていなかったとしても、纏める操作を可能にしてもよい。例えば、２９０９のうちの２点が２９０２内にあり、１点が２９０１内にあったとする。更に２９１０のうちの２点が２９０５内にあり、１点が２９０６内にあったとする。このとき２９１１の方向にジェスチャー操作がされた場合には、１ページから６ページまで（２９０１から２９０６まで）がまとめられるようにしてもよい。即ち、３点タッチのうちの最も中心から離れた点を含む表示オブジェクトを、纏める対象となるオブジェクトの端となるように決定してもよい。これは実施形態２の片手による纏め操作においても同様である。
【０１４０】
また、上記実施形態では、多点ピンチインの操作によって表示オブジェクトの削除を行う例を示したが、表示オブジェクトの削除は多点ピンチインに限らない。１点や２点のタッチによるその他のジェスチャ操作や、削除ボタンの押下等によって実現してもよい。
【０１４１】
また、上記実施形態１と実施形態２とは、任意に組み合わせることが可能である。
【０１４２】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2013254463.tif 000003
【図２】
2013254463.tif 000004
【図３】
2013254463.tif 000005
【図４】
2013254463.tif 000006
【図５】
2013254463.tif 000007
【図６】
2013254463.tif 000008
【図７】
2013254463.tif 000009
【図８】
2013254463.tif 000010
【図９】
2013254463.tif 000011
【図１０】
2013254463.tif 000012
【図１１】
2013254463.tif 000013
【図１２】
2013254463.tif 000014
【図１３】
2013254463.tif 000015
【図１４】
2013254463.tif 000016
【図１５】
2013254463.tif 000017
【図１６】
2013254463.tif 000018
【図１７】
2013254463.tif 000019
【図１８】
2013254463.tif 000020
【図１９】
2013254463.tif 000021
【図２０】
2013254463.tif 000022
【図２１】
2013254463.tif 000023
【図２２】
2013254463.tif 000024
【図２３】
2013254463.tif 000025
【図２４】
2013254463.tif 000026