しかしながら、上記した従来技術のうち、特許文献1に記載された発明は、削除、切り取り等の編集種別の数だけコマンドが必要で、オペレータがコマンドを知っていないと円滑に編集の操作ができない。また、例示されているように、「削除」等の文字をコマンドとした場合、編集とコマンドとの対応は理解しやすいものの、線画としての形状が複雑であるためにタッチパネル付きディスプレイ装置側でコマンドを認識し難くなる。
また、特許文献2に記載された文字の周囲に設けられる編集用領域は、領域が文字の表示領域によって制限されるために狭くなる傾向があり、編集指示が一般的に書き込み難い。このため、特に、電子黒板として用いられるタッチパネル付きディスプレイ装置に適用した場合、プレゼンテーション中の円滑な操作を妨げるおそれがある。
本発明は、上記した点に鑑みてなされたものであり、タッチパネル付きディスプレイ装置における画面の編集操作を正確に、かつ円滑に実行できるタッチパネル付きディスプレイ装置表示制御方法およびその方法をコンピュータに実行させるためのプログラム、タッチパネル付きディスプレイ装置を提供することを目的とする。
上述した課題を解決し、目的を達成するために、請求項1に記載の発明にかかるタッチパネル付きディスプレイ装置の表示制御方法は、座標入力面と、該座標入力面上においてなされたタッチにしたがって画像を表示するディスプレイ画面と、を備えるタッチパネル付きディスプレイ装置の表示制御方法であって、座標入力面上においてなされたタッチのタッチ点を示す座標を入力する座標入力工程と、前記座標入力工程において入力された座標間を結んで前記ディスプレイ画面に線画された線画が、所定のジェスチャであるか否かを判定するジェスチャ判定工程と、前記ジェスチャ判定工程において、前記所定のジェスチャと判定された場合、手書文字の編集操作を受けつけ可能な状態に前記ディスプレイ画面の表示制御の状態を移行する手書文字編集工程と、を含み、前記手書文字編集工程は、前記所定のジェスチャに含まれる1ストロークで描画された線が水平方向に延びる略直線である場合には前記ディスプレイ画面上に表示されている線画を上下方向に移動させるための行挿入バーを表示する行挿入バー表示工程と、前記行挿入バー上でなされる上下方向のドラッグによって水平方向に延びる行挿入領域を設ける挿入領域形成工程と、を含むことを特徴とする。
この請求項1に記載の発明によれば、入力された座標間を結んで前記ディスプレイ画面に線画された線画が、所定のジェスチャの場合、手書文字の編集操作を受けつけ可能な状態にタッチパネル付きディスプレイ装置の表示制御の状態を移行することができる。このため、手書文字の描画中に手書文字の編集モードに円滑、かつ簡易に移行することができる。また、所定のジェスチャに含まれる1ストロークの線として、水平方向に延びる略直線を描画することによって行挿入バーを表示し、行挿入バー上で上下方向にドラッグすることによって行挿入領域を設けることができる。
請求項2に記載の発明にかかるタッチパネル付きディスプレイ装置の表示制御方法は、座標入力面と、該座標入力面上においてなされたタッチにしたがって画像を表示するディスプレイ画面と、を備えるタッチパネル付きディスプレイ装置の表示制御方法であって、座標入力面上においてなされたタッチのタッチ点を示す座標を入力する座標入力工程と、前記座標入力工程において入力された座標間を結んで前記ディスプレイ画面に線画された線画が、所定のジェスチャであるか否かを判定するジェスチャ判定工程と、前記ジェスチャ判定工程において、前記所定のジェスチャと判定された場合、手書文字の編集操作を受けつけ可能な状態に前記ディスプレイ画面の表示制御の状態を移行する手書文字編集工程と、を含み、前記手書文字編集工程は、前記所定のジェスチャに含まれる1ストロークで描画された線が垂直方向に延びる略直線である場合には前記ディスプレイ画面上に表示されている線画を左右方向に移動させる列挿入バーを表示する列挿入バー表示工程と、前記列挿入バー上でなされる左右方向のドラッグによって垂直方向に延びる列挿入領域を設ける挿入領域形成工程と、を含むことを特徴とする。
この請求項2に記載の発明によれば、入力された座標間を結んで前記ディスプレイ画面に線画された線画が、所定のジェスチャの場合、手書文字の編集操作を受けつけ可能な状態にタッチパネル付きディスプレイ装置の表示制御の状態を移行することができる。このため、手書文字の描画中に手書文字の編集モードに円滑、かつ簡易に移行することができる。また、所定のジェスチャに含まれる1ストロークの線として、垂直方向に延びる略直線を描画することによって列挿入バーを表示し、列挿入バー上で上下方向にドラッグすることによって列挿入領域を設けることができる。
請求項3に記載の発明にかかるタッチパネル付きディスプレイ装置の表示制御方法は、前記挿入領域形成工程が、前記ディスプレイ画面が複数ページからなる画像をページ毎に表示する場合、水平方向に延びる行挿入領域の挿入によって前記ディスプレイ画面に表示されているページに表示できなくなった線画のうち、行挿入領域より上方向にあって表示できなくなった線画を表示するページを表示中のページよりも前のページとして挿入し、行挿入領域より上方向にあって表示できなくなった線画を表示するページを表示中のページよりも後のページとして挿入するページ挿入工程をさらに含むことを特徴とする。
この請求項3に記載の発明によれば、行挿入領域を設けたことによって表示できなくなった線画を他のページを挿入して表示することができる。このため、手書文字中に列を挿入した場合にも挿入前の画像が損なわれることを防ぐことができる。また、画像が損なわれることを防ぐため、表示できなくなった線画のコピー、新規ページの作成、ページへの貼り付けといった操作をする必要をなくすことができる。
請求項4に記載の発明にかかるタッチパネル付きディスプレイ装置の表示制御方法は、前記挿入領域形成工程が、前記ディスプレイ画面が複数ページからなる画像をページ毎に表示する場合、垂直方向に延びる列挿入領域の挿入によって前記ディスプレイ画面に表示されているページに表示できなくなった線画のうち、列挿入領域より左方向にあって表示できなくなった線画を表示するページを表示中のページよりも前のページとして挿入し、列挿入領域より右方向にあって表示できなくなった線画を表示するページを表示中のページよりも後のページとして挿入するページ挿入工程をさらに含むことを特徴とする。
この請求項4に記載の発明によれば、列挿入領域を設けたことによって表示できなくなった線画を他のページを挿入して表示することができる。このため、手書文字中に列を挿入した場合にも挿入前の画像が損なわれることを防ぐことができる。また、画像が損なわれることを防ぐため、表示できなくなった線画のコピー、新規ページの作成、ページへの貼り付けといった操作をする必要をなくすことができる。
請求項5に記載の発明にかかるタッチパネル付きディスプレイ装置の表示制御方法は、前記手書文字編集工程が、前記所定のジェスチャに含まれる1ストロークで描画された線に基づいて、前記ディスプレイ画面における編集範囲を設定することを特徴とする。
この請求項5に記載の発明によれば、編集範囲を任意の形状に設定することができる。
請求項6に記載の発明にかかるタッチパネル付きディスプレイ装置の表示制御方法は、前記手書文字編集工程が、前記編集範囲にある線画をコピーまたは切り取り、前記所定のジェスチャに含まれる略V字形状の線画が書かれた位置に基づいて決定した座標を原点として貼りつける手書文字編集用のアプリケーションを起動することを特徴とする。
この請求項6に記載の発明によれば、前記略V字形状の線画を描画する際、線画の貼り
付け位置を所望の位置に設定することができる。
請求項7に記載の発明にかかるタッチパネル付きディスプレイ装置の表示制御方法は、前記手書文字編集用のアプリケーションが、前記所定のジェスチャに含まれる1ストロークで描画された線と交差する手書き文字を編集の対象に含むことを特徴とする。
この請求項7に記載の発明によれば、範囲選択線が手書文字上にかかった場合にもこの文字が一部欠ける範囲が編集の対象となることがなく、範囲選択の操作を簡易にすることができる。
請求項8に記載の発明にかかるタッチパネル付きディスプレイ装置の表示制御方法は、前記ジェスチャ判定工程は、前記座標入力工程において入力された座標間を結んで前記ディスプレイ画面に線画された線画が、1ストロークで書かれた線と、該線と交点を持つ略V字形状の線画とを含むジェスチャであるか否か判定し、前記手書文字編集工程は、前記ジェスチャ判定工程において、描画された線画が、1ストロークで描画された線と、該線と交点を持つ略V字形状の線画とを含むジェスチャであると判定された場合、手書文字の編集操作を受けつけ可能な状態に前記ディスプレイ画面の表示制御の状態を移行すること、を特徴とする。
この請求項8に記載の発明によれば、1ストロークで書かれた線と、この線と交点を持つ略V字形状の線画という比較的簡易な線画を用いるため、線画を正確に認識し、正確に編集モードに移行することができる。
請求項9に記載の発明にかかるプログラムは、座標入力面と、該座標入力面上においてなされたタッチにしたがって画像を表示するディスプレイ画面と、を備えるタッチパネル付きディスプレイ装置の表示制御方法を、コンピュータに実行させるためのプログラムであって、座標入力面上においてなされたタッチのタッチ点を示す座標を入力する座標入力工程と、前記座標入力工程において入力された座標間を結んで前記ディスプレイ画面に線画された線画が、所定のジェスチャであるか否か判定するジェスチャ判定工程と、前記ジェスチャ判定工程において、前記所定のジェスチャと判定された場合、手書文字の編集操作を受けつけ可能な状態に前記ディスプレイ画面の表示制御の状態を移行する手書文字編集工程と、を含み、前記手書文字編集工程は、前記所定のジェスチャに含まれる1ストロークで描画された線が水平方向に延びる略直線である場合には前記ディスプレイ画面上に表示されている線画を上下方向に移動させるための行挿入バーを表示する行挿入バー表示工程と、前記行挿入バー上でなされる上下方向のドラッグによって水平方向に延びる行挿入領域を設ける挿入領域形成工程と、を含むことを特徴とする。
この請求項9に記載の発明によれば、入力された座標間を結んで前記ディスプレイ画面に線画された線画が、所定のジェスチャの場合、手書文字の編集操作を受けつけ可能な状態にタッチパネル付きディスプレイ装置の表示制御の状態を移行することができる。このため、手書文字の描画中に手書文字の編集モードに円滑、かつ簡易に移行することができる。また、所定のジェスチャに含まれる1ストロークの線として、水平方向に延びる略直線を描画することによって行挿入バーを表示し、行挿入バー上で上下方向にドラッグすることによって行挿入領域を設けることができる。
請求項10に記載の発明にかかるプログラムは、座標入力面と、該座標入力面上においてなされたタッチにしたがって画像を表示するディスプレイ画面と、を備えるタッチパネル付きディスプレイ装置の表示制御方法を、コンピュータに実行させるためのプログラムであって、座標入力面上においてなされたタッチのタッチ点を示す座標を入力する座標入力工程と、前記座標入力工程において入力された座標間を結んで前記ディスプレイ画面に線画された線画が、所定のジェスチャであるか否か判定するジェスチャ判定工程と、前記ジェスチャ判定工程において、前記所定のジェスチャと判定された場合、手書文字の編集操作を受けつけ可能な状態に前記ディスプレイ画面の表示制御の状態を移行する手書文字編集工程と、を含み、前記手書文字編集工程は、前記所定のジェスチャに含まれる1ストロークで描画された線が垂直方向に延びる略直線である場合には前記ディスプレイ画面上に表示されている線画を左右方向に移動させる列挿入バーを表示する列挿入バー表示工程と、前記列挿入バー上でなされる左右方向のドラッグによって垂直方向に延びる列挿入領域を設ける挿入領域形成工程と、を含むことを特徴とする。
この請求項10に記載の発明によれば、入力された座標間を結んで前記ディスプレイ画面に線画された線画が、所定のジェスチャの場合、手書文字の編集操作を受けつけ可能な状態にタッチパネル付きディスプレイ装置の表示制御の状態を移行することができる。このため、手書文字の描画中に手書文字の編集モードに円滑、かつ簡易に移行することができる。また、所定のジェスチャに含まれる1ストロークの線として、垂直方向に延びる略直線を描画することによって列挿入バーを表示し、列挿入バー上で上下方向にドラッグすることによって列挿入領域を設けることができる。
請求項11に記載の発明にかかるタッチパネル付きディスプレイ装置は、座標入力面と、該座標入力面上においてなされたタッチにしたがって画像を表示するディスプレイ画面と、を備えるタッチパネル付きディスプレイ装置であって、座標入力面上においてなされたタッチのタッチ点を示す座標を入力し、座標間を結んで前記ディスプレイ画面に線画された線画が、所定のジェスチャであるか否かを判定するジェスチャ判定手段と、前記ジェスチャ判定手段が、前記所定のジェスチャであると判定した場合、手書文字の編集操作を受けつけ可能な状態に前記ディスプレイ画面の表示制御の状態を移行する手書文字編集手段と、を備え、前記手書文字編集手段は、前記所定のジェスチャに含まれる1ストロークで描画された線が水平方向に延びる略直線である場合には前記ディスプレイ画面上に表示されている線画を上下方向に移動させるための行挿入バーを表示する行挿入バー表示手段と、前記行挿入バー上でなされる上下方向のドラッグによって水平方向に延びる行挿入領域を設ける挿入領域形成手段と、を備えることを特徴とする。また、請求項12に記載の発明にかかるタッチパネル付きディスプレイ装置は、座標入力面と、該座標入力面上においてなされたタッチにしたがって画像を表示するディスプレイ画面と、を備えるタッチパネル付きディスプレイ装置であって、座標入力面上においてなされたタッチのタッチ点を示す座標を入力し、座標間を結んで前記ディスプレイ画面に線画された線画が、所定のジェスチャであるか否かを判定するジェスチャ判定手段と、前記ジェスチャ判定手段が、前記所定のジェスチャであると判定した場合、手書文字の編集操作を受けつけ可能な状態に前記ディスプレイ画面の表示制御の状態を移行する手書文字編集手段と、を備え、前記手書文字編集手段は、前記所定のジェスチャに含まれる1ストロークで描画された線が垂直方向に延びる略直線である場合には前記ディスプレイ画面上に表示されている線画を左右方向に移動させる列挿入バーを表示する列挿入バー表示手段と、前記列挿入バー上でなされる左右方向のドラッグによって垂直方向に延びる列挿入領域を設ける挿入領域形成手段と、を備えることを特徴とする。
この請求項11に記載の発明によれば、入力された座標間を結んで前記ディスプレイ画面に線画された線画が、所定のジェスチャの場合、手書文字の編集操作を受けつけ可能な状態にタッチパネル付きディスプレイ装置の表示制御の状態を移行することができる。このため、手書文字の描画中に手書文字の編集モードに円滑、かつ簡易に移行することができる。また、所定のジェスチャに含まれる1ストロークの線として、水平方向に延びる略直線を描画することによって行挿入バーを表示し、行挿入バー上で上下方向にドラッグすることによって行挿入領域を設けることができる。また、請求項12に記載の発明によれば、入力された座標間を結んで前記ディスプレイ画面に線画された線画が、所定のジェスチャの場合、手書文字の編集操作を受けつけ可能な状態にタッチパネル付きディスプレイ装置の表示制御の状態を移行することができる。このため、手書文字の描画中に手書文字の編集モードに円滑、かつ簡易に移行することができる。また、所定のジェスチャに含まれる1ストロークの線として、垂直方向に延びる略直線を描画することによって列挿入バーを表示し、列挿入バー上で上下方向にドラッグすることによって列挿入領域を設けることができる。
請求項1に記載の発明は、手書文字の描画中に手書文字の編集モードに円滑、かつ簡易に移行することができる。また、線画を正確に認識し、正確に編集モードに移行することができる。このため、タッチパネル付きディスプレイ装置における画面の編集操作を正確に、かつ円滑に実行できるタッチパネル付きディスプレイ装置表示制御方法を提供できるという効果を奏する。また、行挿入バー上で上下方向にドラッグすることによって行挿入領域を設けることができる。このため、タッチパネル付きディスプレイ装置の操作性をより高めることができるという効果を奏する。
請求項2に記載の発明は、手書文字の描画中に手書文字の編集モードに円滑、かつ簡易に移行することができる。また、線画を正確に認識し、正確に編集モードに移行することができる。このため、タッチパネル付きディスプレイ装置における画面の編集操作を正確に、かつ円滑に実行できるタッチパネル付きディスプレイ装置表示制御方法を提供できるという効果を奏する。また、列挿入バー上で上下方向にドラッグすることによって列挿入領域を設けることができる。このため、タッチパネル付きディスプレイ装置の操作性をより高めることができるという効果を奏する。
請求項3に記載の発明は、手書文字中に行を挿入した場合にも挿入前の画像が損なわれることを自動的に防ぐことができる。このため、タッチパネル付きディスプレイ装置の操作性をより高めることができるという効果を奏する。
請求項4に記載の発明は、手書文字中に列を挿入した場合にも挿入前の画像が損なわれることを自動的に防ぐことができる。このため、タッチパネル付きディスプレイ装置の操作性をより高めることができるという効果を奏する。
請求項5に記載の発明は、編集範囲を任意の形状に設定することを可能にし、タッチパネル付きディスプレイ装置の操作性をより高めることができるという効果を奏する。
請求項6に記載の発明は、ジェスチャの段階で貼り付け位置を指定することができるので、線画の貼り付け位置の修正の手間を省き、タッチパネル付きディスプレイ装置の操作性をより高めることができるという効果を奏する。
請求項7に記載の発明は、範囲選択の操作を簡易にし、タッチパネル付きディスプレイ
装置の操作性をより高めることができるという効果を奏する。
請求項8に記載の発明は、1ストロークで書かれた線と、この線と交点を持つ略V字形状の線画という比較的簡易な線画を用いるため、線画を正確に認識し、正確に編集モードに移行することができる。このため、タッチパネル付きディスプレイ装置における画面の編集操作を正確に、かつ円滑に実行できるタッチパネル付きディスプレイ装置表示制御方法を提供できるという効果を奏する。
請求項9に記載の発明は、手書文字の描画中に手書文字の編集モードに円滑、かつ簡易に移行することができる。また、線画を正確に認識し、正確に編集モードに移行することができる。このため、タッチパネル付きディスプレイ装置における画面の編集操作を正確に、かつ円滑に実行できるタッチパネル付きディスプレイ装置表示制御方法をコンピュータに実行させるためのプログラムを提供できるという効果を奏する。また、行挿入バー上で上下方向にドラッグすることによって行挿入領域を設けることができる。このため、タッチパネル付きディスプレイ装置の操作性をより高めることができるという効果を奏する。
請求項10に記載の発明は、手書文字の描画中に手書文字の編集モードに円滑、かつ簡易に移行することができる。また、線画を正確に認識し、正確に編集モードに移行することができる。このため、タッチパネル付きディスプレイ装置における画面の編集操作を正確に、かつ円滑に実行できるタッチパネル付きディスプレイ装置表示制御方法をコンピュータに実行させるためのプログラムを提供できるという効果を奏する。また、列挿入バー上で上下方向にドラッグすることによって列挿入領域を設けることができる。このため、タッチパネル付きディスプレイ装置の操作性をより高めることができるという効果を奏する。
請求項11に記載の発明は、手書文字の描画中に手書文字の編集モードに円滑、かつ簡易に移行することができる。また、線画を正確に認識し、正確に編集モードに移行することができる。このため、タッチパネル付きディスプレイ装置における画面の編集操作を正確に、かつ円滑に実行できるタッチパネル付きディスプレイ装置を提供できるという効果を奏する。また、行挿入バー上で上下方向にドラッグすることによって行挿入領域を設けることができる。このため、タッチパネル付きディスプレイ装置の操作性をより高めることができるという効果を奏する。また、請求項12に記載の発明は、手書文字の描画中に手書文字の編集モードに円滑、かつ簡易に移行することができる。また、線画を正確に認識し、正確に編集モードに移行することができる。このため、タッチパネル付きディスプレイ装置における画面の編集操作を正確に、かつ円滑に実行できるタッチパネル付きディスプレイ装置を提供できるという効果を奏する。また、列挿入バー上で上下方向にドラッグすることによって列挿入領域を設けることができる。このため、タッチパネル付きディスプレイ装置の操作性をより高めることができるという効果を奏する。
以下に添付図面を参照して、この発明にかかるタッチパネル付きディスプレイ装置の表示制御方法およびその方法をコンピュータに実行させるためのプログラム、タッチパネル付きディスプレイ装置の最良な実施の形態を詳細に説明する。
本発明の説明に先だって、本発明の表示制御方法が適用可能なタッチパネル付きディスプレイ装置について説明する。図1は、光学式のタッチパネル付きディスプレイ装置を示す図である。図示したタッチパネル付きディスプレイ装置は、タッチパネル式の座標入力装置1と、座標入力装置1に入力された座標を検出する座標検出装置3と、座標検出装置3が検出した座標に基づいて画像データを制御するホスト装置4(本実施の形態ではPC(Personal Computer)を利用している)、ホスト装置4によって制御された画像データ(R,G,B)を液晶画面やPDP(Plasma Display Panel)といったディスプレイ画面112に表示する表示装置2とを備えている。座標入力装置1と座標検出装置3とを合わせた構成は、タッチパネルとも呼ばれる構成である。
また、図1に示したタッチパネル付きディスプレイ装置には、ディスプレイ画面112が座標入力装置1の座標入力面113と重なって設けられている。座標入力面とは、座標検出装置3が座標を検出できる領域であって、図1のタッチパネル付きディスプレイ装置はディスプレイ画面112に直接タッチする構成であるから、座標入力面113は仮想的な面である。なお、このようなタッチパネル付きディスプレイ装置は、ディスプレイ画面112に対するタッチ操作によってもホスト装置4に対するマウス操作によっても同様に制御することができる。
座標入力装置1は、後述する光学検出器を備えていて、ディスプレイ画面112上のタッチを光学的に検出する。光学検出器が検出したデータは座標検出装置3に入力し、座標検出装置3が、タッチされた座標入力面113上の点(タッチ点)tの座標(x,y)を算出する。算出される座標は、ディスプレイ画面112の画素数(例えばx:1024,y:768)によって表され、10ms、あるいは20msといった時間で周期的にホスト装置4に出力する。なお、座標検出装置3のタッチ点の座標の算出については、後に詳述する。
また、座標検出装置3は、後述する光学検出器が検出したデータを入力するための左光学検出器I/F101、右光学検出器I/F102、座標検出装置3全般を制御する中央演算装置104、中央演算装置104で使用されるプログラムが格納されているROM105、中央演算装置104の作業データが一時保存されるRAM106、周期的に時間を計測して中央演算装置104に入力するタイマ(TIMER)107とを備えている。
ホスト装置4は、PC(Personal Computer)であって、Windows(R)、Macintosh(R)、Linux(R)といった汎用的なOSを搭載しており、画像データの制御は、OSの制御下で実行されている。そして、汎用的なOSの制御下でコンピュータの周辺機器を制御するプログラム(ドライバソフト)であるドライバ108と、共通の汎用的なOSの制御下で動作する複数のアプリケーション群でなるAPL111と、画像データが一時的に保存される画像RAM115とを有している。
ここで、図1に示したタッチパネル付きディスプレイ装置におけるタッチ点の検出および座標の算出について説明する。図2は、図1に示した座標入力装置を示す図である。座標入力装置1は、図中の縦方向の長さがH、横の長さがWの矩形の座標入力面113と、座標入力面の三辺に設けられた再帰性反射部材201と、再帰性反射部材201が設けられていない一辺の両端に設けられた左光学検出器202L、右光学検出器202Rとを備えている。
左光学検出器202L、右光学検出器202Rは、いずれも半導体レーザである光源(図示せず)と、例えばCCD(Charged Coupled Device)を利用した受光部(図示せず)とを一体化したユニットである。光源は、座標入力面113の全域に光源を要とする扇状に光を照射する。左光学検出器202L、右光学検出器202Rが扇状の光を照射することによって、レーザ光は座標入力面113の全域に照射される。
座標入力面113に照射された光は、再帰性反射部材201に反射される。再帰性反射部材201は、光を180度の角度で反射する部材であって、例えば図中に示す照射光p1を反射して照射光p1の光軸に平行な光軸を通る反射光p2とする。座標入力面113上に光を遮るものが存在しない場合、左光学検出器202L、右光学検出器202R、は照射された光のすべての反射光を受光する。しかし、例えば指やペンが座標入力面113にタッチしたとき、タッチ点を通る光が左光学検出器202L、右光学検出器202Rに受光されない。
左光学検出器202L、右光学検出器202Rによって検出される光の情報は、アナログデータとして座標検出装置3に入力する。このとき、座標検出装置3は、扇状に照射された光のうち、受光部の光を受光しなかった位置で本来受光されるはずの光の光軸から左光学検出器202L、右光学検出器202Rの受光部を通る直線と各受光部とタッチ点tとを通る直線との角度(光遮蔽角度)θL、θRとを求める。タッチ点tの座標(x,y)は、角度θL、θRを使って以下のように算出される。
x=W×tanθR/(tanθL+tanθR)
y=H−W×tanθL×tanθR/(tanθL+tanθR)
次に、本発明の表示制御方法が適用可能なタッチパネル付きディスプレイ装置として、
電磁誘導方式のタブレットパーソナルコンピュータ(以下、タブレットPC)について説明する。図3〜図8は、タブレットPCを説明するための図であって、図3〜図5はタブレットPCの構成を説明する図、図6〜図8はタブレットPCの機能および座標検知の原理について説明する図である。タブレットPCは、図3に示すように、ディスプレイ301とキーボード305を備えた本体303と図示しないマウスを有する。さらにマウスに代えて電子ペン307を使ったタッチパネル操作が可能である。また、Microsoft社からタブレットPC用OSである「Windows(R) PC Tablet PC Edition」がリリースされ手書き文字認識エンジン、音声認識エンジンなどが提供されている。
図4は、ディスプレイ画面301を180度回転させ、折り畳んだ状態を示す。このような状態のディスプレイ画面301に電子ペン307でタッチすると、電子ペン307とタブレットPCに内蔵されたセンサによりディスプレイ301上の電子ペン307の位置(座標)が検知され、マウスのクリック、ドラッグ操作をエミュレートする。水平のディスプレイ画面301と電子ペン307によりマウス操作では困難な手書き文字が紙に文字を書く感覚で描画可能となる。
図5に示すように、電子ペン307が直接接触するディスプレイ画面301の表面には強化ガラス309が設置され、液晶ディスプレイユニット311が傷つくのを防止する。液晶ディスプレイユニット311の下に電子ペンの位置を検知する電磁誘導センサユニット313が設置されている。なお、図3ではディスプレイ画面301を回転して折り畳む形式のタブレットPCを示したが、ディスプレイの部分が取りはずせるタイプもある。
図6に示すように、電子ペン307には共振回路401、コンデンサ403、センサコイル405が内蔵されている。また、図7に示すように、電磁誘導センサユニット313には複数のセンサコイル405が設けられている。センサコイル405は座標検知精度に比例した密度に設置される。図はX軸方向を検知するためのセンサコイル405の一部を示しており、図示はないが図示したセンサコイル405と直交する方向にY軸方向を検知するためのセンサコイルが設置される。
電子ペン307の先端がディスプレイ画面301にタッチすると、センサコイル405に流れる電流磁界によってセンサコイル405に誘導起電圧が生じ、コンデンサ403とで構成される共振回路が励振され共振電流が流れる。電子ペン307の座標検知は、電磁誘導座標検知ユニット413の中央演算装置421によってなされる。
電磁誘導座標検知ユニット413は、まず、送受切替スイッチI/F419によって送受切替スイッチ411を制御し、送受切替スイッチ411を接点A、接点Cに接続する。この接続により、交流電源409からセンサコイル405に電流が流れる。また、X軸コイル切替スイッチI/F415によってX軸コイル切替スイッチ410を制御し、高速にスイッチを切替えて順次センサコイル405に電流を流す。センサコイル405に順次磁界が発生し、発生した磁界によって電子ペン307が共振する。次に、中央演算装置421は、送受切替スイッチ411を接点B、接点Cに接続し、X軸コイル切替スイッチ410を順次高速に切り替える。このとき、電子ペン307に共振電流により磁界が発生し、センサコイル405に誘導起電圧が発生する。センサコイル405に発生する誘導起電圧は、X軸検知I/F417によって増幅、測定される。
図8は、測定される誘導起電圧の分布を例示する図である。電子ペン307がセンサコイル405の「2」を付したものの上にある場合、このセンサコイル「2」が受信する誘導起電圧が最も高くなる。以上のように、電磁誘導座標検知ユニット413は、測定された誘導起電圧分布の最も高い点を検出することによりタッチ点のX座標を確定する。また、同様にしてY座標のタッチ点を確定する。確定されたタッチ点の座標は、PCI/F427(RS232C、USBなど汎用I/F、または専用I/F)によりタブレットPCの本体303に通知される。タブレットPCのドライバが座標のデータを受け取ると、マウスデータに変換する。そして、汎用のマウスI/Fへ通し、APL111に渡される。
なお、本実施の形態では、以上述べたタッチパネル付きディスプレイ装置において、座標入力面(本実施の形態ではディスプレイ画面)に対して指やペンが非接触状態から接触したことをタッチといい、タッチがなされた位置を示す点をタッチ点という。また、タッチ点から指やペンが離れたことをデタッチといい、デタッチすることなくタッチ点が移動することを移動タッチという。タッチ後、または移動タッチ後に指やペンが1点に所定の時間(停止タッチタイム)以上停止することを停止タッチといい、移動タッチに続いてなされる停止タッチは、移動・停止タッチという。
タッチ、デタッチはマウスでいうクリックの操作に対応し、移動・停止タッチは、マウスでいうドラッグの操作に対応する。さらに、所定の時間内、かつ所定の範囲内に連続して2回のタッチがなされたことをダブルタッチといい、ダブルタッチは、マウスのダブルクリックに対応する。
上記したように、タッチパネル付きディスプレイ装置で検出されたタッチは、いずれもマウスによって入力される座標を含むマウスデータの形式に変換され、装置側で処理される。このようにタッチ操作はマウスの操作といずれも1対1に対応でき、マウス操作と同様に取り扱うことが可能である。このため、本実施の形態では、ダブルタッチとダブルクリックとは単なる入力ツールが異なるものであり、同一の操作とみなす。また、同様に、移動・停止タッチをマウスでいうドラッグと同一の操作とみなすものとする。
次に、タッチ点の座標をマウスデータへの変換する方法について具体的に説明する。図9は、検出されたタッチ点データ(座標データ)の形式と、マウスデータの形式を説明するための図である。図10は、マウスエミュレーションを説明するためのフローチャートである。マウスエミュレーションは、ドライバが座標検出装置が検出した座標をマウスデータに変換する動作をいう。
また、図9下段に示したように、マウスデータは、タッチ点のx座標、y座標、さらにマウスステータスの情報を含んでいる。マウスステータスは、マウスの右ボタンのON、OFF、左ボタンのON、OFFを1または0によって示すものである。タッチ、デタッチ、移動・停止タッチは、マウスの右ボタンのON、OFF、左ボタンのON、OFFのうちいずれかと対応付けて設定されている。
座標入力装置は、周期的(10ms程度)に指やペン等(座標指示物)の検知を実行する。座標検出装置は、座標入力装置1が検知した座標指示物の情報からタッチ点の座標にかかる座標データを算出し、ホスト装置に通知する。ホスト装置の制御ドライバは、RS232CやUSBといった通信手段を使って座標検出装置と通信し、座標データを入力する(ステップS1001)。
図9上段に示したように、検出された座標データは、タッチ点のx座標、y座標、さらにタッチ点の座標ステータスの情報を含んでいる。座標ステータスは、検出データが、タッチ、デタッチ、移動・停止タッチのいずれであるかを1または0によって示すものである。なお、タッチパネル付きディスプレイ装置においてタッチ、デタッチ、移動・停止タッチが検出された場合、各タッチを示すフィールドに1が設定される。
タッチの操作は、マウスでいう右ボタン、左ボタンの別を指定することができない。このため、座標データは、タッチパネルの設定によって指定された右ボタン、左ボタンのON座標の通知としてOSが提供するマウスI/Fに通知される(ステップS1005、S1006)。また、ドライバは、デタッチがなされた点の座標をボタンOFFと共にマウスI/Fへ通知する(ステップS1009、S1010)。
次に、以上述べたタッチパネル付きディスプレイ装置に適用される、本実施の形態のタッチパネル付きディスプレイ装置の表示制御方法およびその方法をコンピュータに実行させるためのプログラム、さらにはタッチパネル付きディスプレイ装置のうち、本実施の形態特有の構成について説明する。なお、本実施の形態では、前記したタッチパネル付きディスプレイ装置のうち、図1に示した光学式のタッチパネル付きディスプレイ装置に本発明の表示制御方法を適用した例を挙げて説明する。
図11は、本実施の形態のタッチパネル付きディスプレイ装置の表示制御方法を実行するためのアプリケーション(手書文字編集部)の機能ブロック図である。手書文字編集部1101は、図1に示したタッチパネル付きディスプレイ装置において、APL111の1つとして保存されている。
手書文字編集部1101は、座標入力面と、該座標入力面上においてなされたタッチにしたがって画像を表示するディスプレイ画面と、を備えるタッチパネル付きディスプレイ装置の表示を制御する。そして、V字ジェスチャ判定部1103、編集範囲設定部1105、挿入領域形成部1107、編集APL起動部1109を備えている。V字ジェスチャ判定部1103は、入力されたタッチ点にしたがって線画を描画する描画APL1111が描画した線画から、V字マークおよび後述する範囲選択線を描画する操作(V字ジェスチャ)がなされたか否かを判定する。V字ジェスチャがなされると、表示制御のモードが、手書入力のモードから手書文字の編集のモードに移行される。
手書文字編集部1101は、座標入力面上においてなされたタッチのタッチ点を示す座標を入力し、V字ジェスチャ判定部1103において、入力された座標間を結んでディスプレイ画面に線画された線画が、1ストロークで書かれた線と、該線と交点を持つ略V字形状の線画とを含むか否かを判定する。また、描画された線画が、1ストロークで描画された線と、この線と交点を持つ略V字形状の線画(V字マーク)とを含むと判定された場合、ディスプレイ画面112の表示制御状態を手書文字の編集操作が受けつけられる状態に(手書文字編集モード)移行する。手書文字編集モードへの移行のため、本実施の形態では、編集APL起動部1109が、編集APL1113を起動する。
なお、本実施の形態でいう1ストロークとは、あるタッチからデタッチまでの操作をいう。また、描画APL1111は、入力されたタッチの座標に関するデータを1ストローク毎に保存するものとする。
編集範囲設定部1105は、1ストロークで描画された前記線に基づいて、前記ディスプレイ画面における編集範囲を設定する。
挿入領域形成部1107は、1ストロークで描画された線が水平方向に延びる略直線である場合にはディスプレイ画面112上に表示されている線画を上下方向に移動させるための行挿入バーを表示する。また、この際、ディスプレイ画面112が複数ページからなる画像をページ毎に表示する場合、水平方向に延びる挿入領域の挿入によってディスプレイ画面112に表示されているページに表示できなくなった線画のうち、挿入領域より上方向にあって表示できなくなった線画を表示するページを表示中のページよりも前のページとして挿入し、挿入領域より上方向にあって表示できなくなった線画を表示するページを表示中のページよりも後のページとして挿入する。
また、挿入領域形成部1107は、1ストロークで描画された線が垂直方向に延びる略直線である場合、ディスプレイ画面112上に表示されている線画を左右方向に移動させる列挿入バーを表示する。そして、表示された列挿入バー上でなされる左右方向のドラッグによって垂直方向に延びる挿入領域を設ける。また、この際、ディスプレイ画面112が複数ページからなる画像をページ毎に表示する場合、垂直方向に延びる列挿入領域の挿入によって前記ディスプレイ画面に表示されているページに表示できなくなった線画のうち、挿入領域より左方向にあって表示できなくなった線画を表示するページを表示中のページよりも前のページとして挿入し、挿入領域より右方向にあって表示できなくなった線画を表示するページを表示中のページよりも後のページとして挿入する。
図12は、手書文字に関する描画の条件をオペレータが設定する手書文字描画設定ダイアログボックスを示す図である。図示したダイアログボックスは、手書文字の太さや色をペン1、ペン2に設定し、所望の太さや色のペンでディスプレイ画面に線画を筆記したような画像を得ることができる。消しゴムは、手書された線画を一度に消去する範囲を設定するものである。なお、本実施の形態では、手書きされる文字や図形を構成する線全般を線画と記すものとする。
図13は、手書文字を制御する手書文字制御ファイルの構造を示す図である。表示ページファイルは手書文字ファイルから作成され、さらに手書文字編集文字ファイルは、表示ページファイルから作成される。手書領域選択ファイルの編集ライン(X0,Y0,L0)から(Y0=Yn)、(X0≦Xn≦X0+L0−1)を満たす表示ページファイルのストローク座標を検索し、ストローク座標(X−Xa,Y−Ya)を手書編集文字ファイルに保存する。また、表示ページファイルのステータスを編集に設定し、次回の検索の対象から外している。
図14は、VジェスチャおよびVジェスチャによって移行される手書文字の編集について説明するための図である。描画APL1111は、ディスプレイ画面112に手書文字の入力が可能な領域(手書文字入力領域)1401作成し、手書文字を描画するための手書文字描画ツールバー1411を表示する。手書文字描画ツールバー1411のうち、ペン1、ペン2は、図12で示したダイアログボックスで設定したペンを選択するボタンである。ペン1またはペン2のボタンを選択することにより、オペレータは、設定した太さや色で線画を描画することができる。また、消しゴムカーソル1409は、手書描画ツールバー1411の消去ボタンを選択することによって表示される。カーソルの大きさはダイアログボックスで設定される。
また、手書文字描画ツールバー1411は、前頁ボタン、1頁ボタン、後頁ボタンを有していて、タッチパネル付きディスプレイ装置が複数のページでなる画像をページ毎に表示している場合、各ボタンを選択することによってページ繰りの操作ができる。編集ボタンは編集APL1113を起動し、手書きされた文字の編集の操作を受けつける状態(編集モード)にはいるボタンである。また、設定ボタンは、図12に示した手書文字描画設定ダイアログボックスを表示するためのボタンであり、閉じるボタンの選択によって手書文字描画ツールバー1411が消去される。
図中、手書入力領域1401には、「座標入力装置手書き文字」の文字が手書きされている。手書きされた文字のうち、「座標入力装置」の文字を編集する場合、オペレータは、ペンカーソル1407を使い、1ストロークで「座標入力装置」の文字を含む範囲を示す線(範囲選択線)を描画する。さらに、範囲選択線1403と交差させてV字マーク1405を描画する。以上の操作が本実施の形態のVジェスチャであり、範囲選択線が略閉曲線であるVジェスチャを特に範囲選択ジェスチャと記す。
手書文字編集部1101は、描画APL1111で行なわれたVジェスチャを検出し、編集APL1113を起動して手書き文字の編集モードにディスプレイ画面112の表示制御の状態を移行する。ディスプレイの表示制御が編集モードに移行した場合、編集範囲設定部1105が範囲選択線を破線で表示する。また、編集APL1113が、手書文字編集ツールバー1413を表示する。オペレータが、例えば手書文字編集ツールバー1413の「切り取り」を選択した場合、描画選択線で選択された範囲が切り取られる。さらに、オペレータが手書文字入力領域上で移動・停止タッチ(ドラッグ)をすると、移動・停止タッチの停止座標に基づいて切り取られた範囲が範囲内の手書き文字と共に移動する。
また、本実施の形態の編集APL1113は、1ストロークで描画された範囲選択線と交差する手書き文字を編集の対象に含む。このため、範囲選択線が示す範囲に一部のみが含まれる手書き文字は、全部が含まれる手書き文字と同様に切取り、コピー等の編集の対象となる。
なお、本実施の形態の編集APL1113は、編集範囲にある線画をコピーまたは切り取り、貼り付ける際、V字マークが書かれた位置に基づいて決定した座標を原点として貼りつけを行なう。V字マークが書かれた位置に基づいて決定した座標とは、例えば、V字マークのV字部分が持つ頂角の頂点(折り返し座標)を原点とすることが考えられる。
図15、図16は、範囲選択ジェスチャの判定手順を説明するための図であり、V字マークが描画されたか否かの判定方法を示している。図15に示したように、座標(X0,Y0)、(X1,Y1)、(X2,Y2)の3点で得られる1ストロークで描かれた線画のデータ(1ストロークデータ)が入力された場合、Vジェスチャ判定部1103は、入力された1ストロークデータのストローク長と、座標(X0,Y0)から座標(X1,Y1)に至る線画の部分と、座標(X1,Y1)から座標(X2,Y2)に至る線画の部分とがなす角度とから1ストロークデータがV字マークであるか否か判定する。
線画の部分同士がなす角度の判定は、図16に示すように定められた座標を使って行なわれる。図16に示した座標(0,0)を原点とし、前回入力された座標P(0,0)から見た今回入力された座標(X1,Y1)は、範囲A、B、C、Dのいずれかに属する。V字ジェスチャ判定部1103は、座標(X1,Y1)が属する範囲と図中に示したθとを用い、以下のようにして座標(X0,Y0)から座標(X1,Y1)に至る線画の部分と、座標(X1,Y1)から座標(X2,Y2)に至る線画の部分とがなす角度を求める。
A(X1≧X0、Y1<Y0)である場合
θ=arctan((X1−X0)/(Y0−Y1)))、SD=θ
B(X1≧X0、Y1≧Y0)である場合
θ=arctan((Y1−Y0)/(X1−X0)))、SD=θ+90
C(X1<X0、Y1≧Y0)である場合
θ=arctan((X0−X1)/(Y1−Y0)))、SD=θ+180
D(X1<X0、Y1<Y0)である場合
θ= arctan((Y0−Y1)/(X0−X1)))、SD=θ+270
本実施の形態では、求めた角度から座標(X1,Y1)から座標(X2,Y2)に至る線画の部分が座標(X1,Y1)に至る線画の部分に対して180度近く反転したか否か判定する。
また、1ストロークのうち、座標(X0,Y0)から座標(X1,Y1)に至る線画の部分の長さL0、座標(X1,Y1)から座標(X2,Y2)に至る線画の部分の長さL1を求める。
L0=√(X1−X0)2+(Y1−Y0)2
L1=√(X2−X1)2+(Y2−Y1)2
以上の結果から、本実施の形態では、座標(X1,Y1)から座標(X2,Y2)に至る線画の部分が座標(X1,Y1)に至る線画の部分に対して180度近く反転したと判定され(180±a(予め定められた定角度の値)の範囲内で反転した)、かつ、長さL0、長さL1がいずれも予め定められた所定の長さLよりも長いとVジェスチャ判定部1103が判定した場合、ストロークデータをM字マークであると判定する。
図17は、範囲選択線とV字マークとが交差するか否かを判定するための図である。Vジェスチャ判定部1103は、手書きページファイルから手書き文字の座標(X0,Y0)、(X1,Y1)を抽出し、この座標が範囲選択線ファイルにあるストローク上の座標(Xa,Ya)、(Xb,Yb)間の座標と交点を持つか、ストロークのすべてについて判断することによって行われる。
図18は、範囲選択線内の領域(手書編集領域)の抽出方法を説明するための図である。ディスプレイ画面112には、予め手書文字入力領域が設定されている。本実施の形態では、図示した(0,0)を原点とし、幅Wピクセル、高さHピクセルの領域が手書文字入力領域として設定されているものとする。なお、上記した(0,0)を原点とする手書文字入力領域において、ディスプレイ画面112に表示される画像データの画像RAM115保存時のアドレス(A)と、画面上の表示位置の座標(A0)とは、以下の関係を持つ。
A=3×b(b:R,G,B一色あたりのバイト数)
A0=A+Y×(W×N)+X×N
上記した手書文字入力領域において、図示した座標(X0,Y0)にオペレータがタッチし、以降、(X1,Y1)、(X2,Y2)と移動して…(X5,Y5)でデタッチした場合、描画APL1111は、座標(X0,Y0)ないし座標(X5,Y5)間に線を描画することによって線画を描画する。線画のデータは、1ストローク単位に管理され手書き文字ファイルに保存される。手書文字入力領域に描画された線画の編集時、編集範囲設定部1105は、手書文字入力領域と重なるように背景を透明とする編集領域を作成する。図18中の上段の図中に範囲選択線1801を示す。範囲選択線1801のデータは、1ストローク単位に範囲選択線ファイルに保存される。
また、編集範囲設定部1105は、範囲選択線ファイルのストローク座標からX座標の最大値(Xmax)、最少値(Xa)、Y座標の最大値(Ymax)、最少値(Ya)を検索する。そして、編集領域原点座標(Xa,Ya)、編集領域幅(Wa=Xmax−Xa)、編集領域の高さ(Ha=Ymax−Ya)を算出し、「手書き領域選択ファイル」へ保存する。さらに、(Xa+0,Ya)、(Xa+1,Ya)、(Xa+2,Ya)...の順に範囲選択線を検索し、各座標を通る水平線が範囲選択線交差する点(X0,Y0)を得る。引き続き同一ライン上を検索し、他の交点(X,Y)を得る。以上の処理を(Xa+Wa-1,Ya)まで範囲選択線を検索(X,Y)を得る。さらに、X軸長(L0=X−X0)を算出、編集ライン(X0,Y0,L0)を手書き領域選択ファイルへ保存する。以上の処理を、Ya≦Y≦(Ya+Ha−1)の条件をYが満たさなくなるまで繰り返す。なお、(X0,Y0)を検知した場合にのみ、L=0とする。また、範囲選択線が複数に分割される場合、複数の編集ラインデータを作成する。
次に、本実施の形態で行う編集のうち、行、または列を挿入するための操作を説明する。図19〜図21は、行、または列を挿入するためのVジェスチャおよびVジェスチャによって行なわれる編集の処理を説明するための図である。本実施の形態でいうVジェスチャは、範囲選択線が範囲を選択する略閉曲線に限られるもので無く、以降説明するように直線であってもよい。範囲選択線が直線である場合、Vジェスチャは、すでに描画されている手書文字中にさらに手書文字を描画できる行、または列を挿入するための操作を意味する。
すなわち、図19に示すように、1ストロークで描画された範囲選択線が水平方向に延びる略直線である場合、挿入領域形成部1107は、ディスプレイ画面112の手書文字入力領域上に表示されている線画を上下方向に移動させるための行挿入バー1901を表示する。そして、図20に示すように、オペレータが行挿入バー1901上で上下方向のドラッグをすると、水平方向に延びる行挿入領域を設ける。なお、行挿入バー1901は、このような操作のため、指でつかめる(選択できる)程度の太さに設定される。
一方、1ストロークで描画された範囲選択線が垂直方向に延びる略直線である場合、挿入領域形成部1107は、ディスプレイ画面112の手書文字入力領域上に表示されている線画を左右方向に移動させるための列挿入バー1903を表示する。そして、図21に示すように、オペレータが行挿入バー1903上で左右方向のドラッグをすると、垂直方向に延びる列挿入領域を設ける。なお、列挿入バー1903は、このような操作のため、指でつかめる(選択できる)程度の太さに設定される。
さらに、挿入領域形成部1107は、ディスプレイ画面112が複数ページからなる画像をページ毎に表示する場合、水平方向に延びる行挿入領域の挿入によってディスプレイ画面112に表示されているページに表示できなくなった線画のうち、行挿入領域より上方向にあって表示できなくなった線画を表示するページを表示中のページよりも前のページとして挿入し、行挿入領域より上方向にあって表示できなくなった線画を表示するページを表示中のページよりも後のページとして挿入する。
すなわち、挿入領域形成部1107は、図22に示すように、水平の直線を範囲選択線とするVジェスチャがなされた場合、Y0=Ya+Ha/2の式で示すY座標を通る行挿入操作バーを表示する(編集ライン(L=0)、編集領域幅(Wa)>編集領域高さ(Ha))。表示された行挿入操作バー1901を上下ドラッグすることにより手書文字画像の表示位置が上下方向へ移動し、新たな手書文字が可能な領域2201(行挿入領域)が形成される。行挿入領域を示すY座標、Y1、Y0について、Y1<Y0、(L=Y0−Y1)である場合、挿入領域形成部1107は、手書き文字ファイルストローク座標(X,Y)のY<Y0を検索する。そして、(Y−L)≧0である場合、ストローク座標(X,Y−L)とする。また、(Y−L)<0である場合、表示ページの前ページとなる新規ページを作成し、ストローク座標(X,Y)を保存する。
また、Y1>Y0、(L=Y1−Y0)である場合、挿入領域形成部1107は、手書き文字ファイルストローク座標(X,Y)のY>Y0を検索する。(Y+L)<手書き領域高さ(H)である場合、ストローク座標(X,Y+L)とする。また、(Y+L)≧手書き領域高さ(H)である場合、表示ページの後ページとなる新規ページを作成、ストローク座標(X,Y−Y0+M)を保存する(M:特定長のマージン)。
一方、挿入領域形成部1107は、ディスプレイ画面112が複数ページからなる画像をページ毎に表示する場合、垂直方向に延びる列挿入領域の挿入によってディスプレイ画面112に表示されているページに表示できなくなった線画のうち、列挿入領域より左方向方向にあって表示できなくなった線画を表示するページを表示中のページよりも前のページとして挿入し、列挿入領域より右方向にあって表示できなくなった線画を表示するページを表示中のページよりも後のページとして挿入する。
すなわち、挿入領域形成部1107は、図23に示すように、垂直の直線を範囲選択線とするVジェスチャがなされた場合、X0=Xa+Wa/2の式で示すX座標を通る列挿入操作バーを表示する(編集ライン(L=0)、編集領域幅(Wa)≦編集領域高さ(Ha))、表示された列挿入操作バー1903を左右ドラッグすることにより手書文字画像の表示位置が左右方向へ移動し、新たな手書文字が可能な領域2301(列挿入領域)が形成される。列挿入領域を示すX座標、X1、X0について、X1<X0、(L=X0−X1)である場合、手書き文字ファイルストローク座標(X,Y)のX<X0を検索する。また、(X−L)≧0である場合、ストローク座標(X−L,Y)とする。また、(X−L)<0である場合、表示ページの前ページとなる新規ページを作成し、ストローク座標(X,Y)を保存する。
また、X1>X0、(L=X1−X0)である場合、手書き文字ファイルストローク座標(X,Y)のX>X0を検索する。(X+L)<手書き領域幅(W)である場合、ストローク座標(X+L,Y)とする。(X+L)≧手書き領域幅(W)である場合、表示ページの後ページとなる新規ページを作成、ストローク座標(X−X0+M,Y)を保存する(M:特定長のマージン)。
図24は、本実施の形態の手書文字を描画する全般的な制御のフローチャートである。手書文字を描画する場合、描画APL1111は、手書き文字描画領域を新規に作成し(ステップS2401)、この領域に手書き文字描画ツールバーを表示する。また、ページ1用の手書き文字ファイルを新規作成する(ステップS2402)。ディスプレイ画面112のうち、手書文字入力領域にタッチがなされると、描画APL1111にタッチ点の座標がマウスデータ(マウスボタンON)として通知される。また、タッチ後、このタッチ点がデタッチした座標がマウスデータ(マウスボタンOFF)として通知される(ステップS2409)。また、最初のタッチが手書き文字描画ツールバー上でなされた場合、このタッチがデタッチするまで手書き文字描画ツールバー制御を実行する(ステップS2418)。また、最初のタッチが手書き文字描画領域上でなされた場合、デタッチされるまで手書き文字描画の制御を実行する(ステップS2421)。
図25〜図27は、図24のステップS2411、ステップS2418に示した手書き文字描画ツールバー制御のフローチャートである。描画APL1111は、マウスデータ(タッチ座標、ボタンON/OFF)を受け取り、マウスデータにしたがって手書文字描画ツールバーを制御する。この際、描画APL1111は、手書文字描画ツールバーに表示された描画モードボタンを通常表示にする(ステップS2502)。また、タッチされたボタンを選択済みであることを示すよう表示(例えば反転表示等)する(ステップS2503)。タッチがなされたボタン上からタッチ点が移動・停止(ドラッグ)した場合、このボタンに対するタッチを無効とする(ステップS2507)。
さらに、描画APL1111は、設定ボタンが選択された場合(ステップS2517:
Yes)、手書き描画モード設定ダイアログボックスを表示し、ダイアログボックスでオペレータが設定したペン色、太さ、消しゴムカーソル長を設定する(ステップS2518)。前ページボタンが設定された場合(ステップS2519:Yes)、手書き文字ファイルから前ページを検索し、保存されている手書き文字を表示する。そして、ツールバーページ番号で設定されたページを更新表示する(ステップS2522)。
また、図27に示すように、次ページが存在しない場合(ステップS2524:No)
、新規ページを作成し、表示中の手書き文字をクリアして新規ページを表示する(ステップS2527)。また、編集ボタンが選択された場合(ステップS2528:Yes)、描画APL1111が編集APL1113を起動し、手書き文字編集モードに移行する。この際、先ず、範囲選択線を描画する背景を透明とする領域を作成し、手書き文字描画領域と重なるように表示する(ステップS2535)。この状態で手書き文字が表示され、その上に範囲選択線の描画が可能となる。操作モードが文字描画に設定された場合(ステップS2529:Yes)、手書き文字編集モードから抜け、範囲選択描画領域を非表示とする(ステップS2535)。
図28は、手書文字描画のフローチャートである。描画APL1111は、マウスデータ(タッチ座標、ボタンON/OFF)を受け取り、手書された線画(文字を含む)の描画を実行する(ステップS2802)。手書文字編集部1101は、編集範囲設定部1105で編集範囲の設定がなされたかと判断した場合(ステップS2806:Yes)、手書きによる範囲選択描画を実行する(ステップS2807)。さらにVジェスチャ判定部がVジェスチャがなされたと判定すると、操作モードが文字編集にはいったものと判断し(ステップS2811:Yes)、手書文字の編集制御に入る(ステップS2812)。手書文字の編集制御では、手書文字編集ツールバーを表示し、ツールバーの操作にしたがって手書文字等のコピー、削除、貼り付けが編集APL1113によって実行される。
また、Vジェスチャが挿入を意味するものである場合(ステップS2813:Yes)、挿入領域形成部1107が、手書き文字行の挿入あるいは列の挿入を実行する(ステップS2814)。
図29、図30は、編集モードへの移行を説明するためのフローチャートである。描画APL1111は、ダイアログボックスでペン1として設定された色、太さで前回入力された座標と今回入力された座標との間を線で描画する(ステップS2903)。そして、1ストロークでなされた移動・停止タッチの座標を1ストロークデータとして保存する(ステップS2904)。また、描画モードが消去に設定された場合(ステップS2908:Yes)、消しゴムカーソルが触れた矩形領域の手書き文字を消去し、手書き文字ファイルから削除する(ステップS2909)。
また、描画モードが消去でない場合(ステップS2910:No)、1ストロークデータから、線画が領域選択のための描画か判定する(ステップS2911)。領域選択でない場合(ステップS2911:No)、1ストロークデータを手書き文字ファイルへ保存し(ステップS2912)、1ストロークデータをディスプレイ画面112からクリアする。また、ステップS2911において、線画が領域の選択のために描画された範囲選択線と判断された場合(ステップS2911:Yes)、領域選択のために描画された線画が手書き文字の描画線と交差しているか検索する(ステップS2913)。
ステップS2913における検索の結果、範囲選択線と手書き文字との交差がなく(ステップS2914:No)、手書き文字のコピーファイルが存在(総ストローク数≠0)している場合、このコピーファイルの貼り付け操作がなされたものと判断する。そして、貼り付けのため、描画されたV字マークの折り返し座標を算出する(ステップS2918)。そして、算出された座標を左上原点座標(Xo,Yo)としてコピーファイルを貼り付ける(ステップS2919)。以上の処理によって更新された手書き文字コピーを手書き文字ファイルへ保存し(ステップS2920)、貼り付けられた手書文字コピーファイルは無効とする(ステップS2921)。
一方、ステップS2914において、手書された範囲選択線と手書文字とが交差していると判断された場合(ステップS2914:Yes)、範囲選択線のストロークデータを抽出し(ステップS2923)、範囲選択線で囲まれた範囲と同一の幅および高さを持った選択領域を示す線を描画する(画面には表示されない,ステップS2924)。選択領域の情報は、手書き領域選択ファイルの作成によって保存される(ステップS2925)。
また、手書文字編集部1101は、V字マークと共に範囲選択線として直線(編集ラインL=0)が描画された場合(ステップS2926:Yes)、制御のモードを手書文字の挿入に設定する(ステップS2927)。そして、直線の傾きから行挿入か列挿入かを判断する(ステップS2929)。さらに、範囲選択線が直線でないと判断した場合(ステップS2926:No)、操作モードを文字編集に設定する(ステップS2934)。選択領域内の手書き文字を検索して手書き編集文字ファイルを作成し(ステップS2935)、選択された領域を示す線を点線で描画する(ステップS2936)。また、V字マークの折り返し座標を左上原点として手書き文字編集ツールバー表示する。
図31、32は、範囲選択線の描画のフローチャートである。編集範囲設定部1105は、描画モードが消去に設定された場合(ステップS3108:Yes)、消しゴムカーソルに触れる範囲選択線を消去し、範囲選択線ファイルから削除する(ステップS3109)。また、マウスボタンがONでなく(タッチがなされていない)、描画モードが消去に設定されていない場合(ステップS3110:No)、手書で描画された線画を1ストローク単位で範囲選択線ファイルへ保存する(ステップS3112)。
また、編集範囲設定部1105は、V字マークと交差する範囲選択線を検索する(ステップS3113)。交差する範囲選択線があった場合(ステップS3114:Yes)、描画された範囲選択線に基づいて手書き領域選択ファイルを作成する(ステップS3117)。続いて範囲選択描画領域を画面非表示とする(ステップS3119)。さらに、範囲選択線が直線でない場合(ステップS3120:No)、操作モードを文字編集に設定し(ステップS3127)、手書き文字領域へ範囲選択線を点線描画する(ステップS3129)。そして、手書き文字領域へV字マークの折り返し座標を左上原点として手書き文字編集ツールバー表示する。
図33、図34は、手書き文字編集制御のフローチャートである。手書文字編集部1101は、手書き文字編集ツールバー上でタッチがなされた場合、ツールバーの各ボタンに設定されている機能を保存する(ステップS3302)。そして、タッチされたボタンを反転表示する(ステップS3304)。編集領域にタッチがなされた場合(ステップS3311:Yes)、編集領域の原点座標を表示原点座標およびタッチ座標を保存する(ステップS3312)。そして、手書き文字描画領域と同一の幅、高さの手書き文字移動領域を作成し、手書き編集文字以外の背景を透明にして手書き文字領域に重ねるように表示する(ステップS3313)。続いて手書き文字移動領域に手書き編集文字を点線描画し(ステップS3314)、手書き文字編集ツールバーの範囲外へのタッチで編集モードを完了させる(ステップS3320)。
また、編集モードがアイドル状態でなく(ステップS3301:No)、かつ、編集もードが移動に設定されたと判断した場合(ステップS3317:Yes)、タッチ座標(X,Y)、前回タッチ座標(X1,Y1)から表示原点座標(X0=X0+(X−X1)、Y0=Y0+(Y−Y1))を算出し(ステップS3318)、保存する。そして、算出された表示原点座標へ手書き編集文字点線を移動表示する(ステップS3319)。
また、ボタンONがなされておらず(ステップS3316:No)、編集モードが移動に設定されている場合(ステップS3323:Yes)、デタッチ(ボタンOFF)で手書き文字移動領域を非表示にする(ステップS3324)。手書き文字領域の範囲選択線を消去し(ステップS3325)、範囲選択内の手書き文字を消去、手書き文字ファイルから削除する(ステップS3326)。
次に、手書文字編集部1101は、今回のタッチ座標(X,Y)、前回のタッチ座標(X1,Y1)から表示原点座標(X0=X0+(X−X1)、Y0=Y0+(Y−Y1))を算出し、算出された座標を手書き編集文字ファイルの編集領域原点の座標とする(ステップS3328)。さらに、手書された編集文字を新編集領域原点座標(Xo,Yo)へ表示し(ステップS3330)、ストローク座標(X+Xo、Y+Yo)として手書き文字ファイルへ保存する。
また、手書文字編集部1101は、操作モードを完了すると(ステップS3337)、手書き文字編集ファイルに基づいて手書き文字コピーファイルを作成する(ステップS3341)。編集モードが削除に設定された場合(ステップS3342:Yes)、手書き編集文字を手書き文字ファイルから削除する(ステップS3344)。
図35は、手書き文字挿入制御のフローチャートである。挿入領域形成部1107は、
行挿入モードの場合、タッチ座標(Y)をカレント行座標として、列挿入モードの場合、
タッチ座標(X)をカレント列座標として保存する(ステップS3503)。そして、行挿入モードの場合、行座標とカレント行座標、列挿入モードの場合、列座標とカレント列座標が異なる場合挿入表示制御を実行する(ステップS3504)。挿入操作によって手書文字の移動が必要になった場合(ステップS3507:Yes)、表示ページの手書き文字ファイルを移動量に応じて編集し(ステップS3508)、表示領域外となった手書文字の新規ページファイルを作成する。そして、新規ページがある場合、新規ページを手書き文字ファイルへ挿入、保存されているページ番号を更新する(ステップS3510)。
また、編集モードの完了後(ステップS3511:Yes)、文字画像の移動量を算出する(ステップS3512)。移動量は、行挿入モードの場合には(Y−Y1)、列挿入モードの場合(X−X1)となる。手書き文字画像は、算出された移動量だけ移動表示される(ステップS3513)。
なお、以上、本実施の形態で説明したタッチパネル付きディスプレイ装置の表示制御方法は、あらかじめ用意されたプログラムをコンピュータで実行することにより実現される。このプログラムは、ハードディスク、フロッピー(R)ディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、上記記録媒体を介して、また伝送媒体として、インターネット等のネットワークを介して配布することができる。