(57)【要約】【課題】  補正機能の有効と無効を簡単な処理で切り換える。【解決手段】  座標の指示操作がある位置で停止されたと判断された場合、座標の指示操作が停止された時間の計測が開始され、図形の描画の終了点、または、図形の配置を指令する操作入力を受ける前に、所定の待ち時間が経過したと判断された場合、指示座標補正機能の有効と無効が切り換えられる。そして、図形の描画の終了点、または、図形の配置を指令する操作入力を受けたと判断された場合、指示座標補正機能は有効であるか否かが判断される。指示座標補正機能が有効であれば、ユーザによって指令された座標から最も近いグリットの座標に基づいて、座標が補正される。指示座標補正機能が無効であれば、ユーザの操作入力に基づいた座標で、図形の描画が終了されるか、または、図形が配置される。本発明は、作図などの画像処理機能を有するパーソナルコンピュータに適用できる。【選択図】図１２
2005202465.tif 000002
【特許請求の範囲】
【請求項１】
ユーザの操作入力に基づいて、画像データを処理する情報処理装置において、
前記ユーザの操作入力を取得する操作入力取得手段と、
所定の時間を設定する時間設定手段と、
前記操作入力取得手段により取得された前記ユーザの操作入力により指令される前記画像データ内の座標を補正する補正手段と、
前記操作入力取得手段により取得された前記ユーザの操作入力を基に、前記画像データを処理する画像処理手段と
を備え、
前記画像処理手段は、前記操作入力取得手段により取得された前記ユーザの操作入力により指令される前記画像データ内の座標が、前記時間設定手段により設定されている前記所定の時間内に変更されるか否かに基づいて、前記補正手段により前記画像データ内の座標を補正するか否かを判断する
ことを特徴とする情報処理装置。
【請求項２】
前記画像処理手段は、
前記補正手段による前記画像データ内の座標の補正機能を有効として、前記操作入力取得手段により取得された前記ユーザの操作入力を基に、前記画像データを処理することができるとともに、前記補正手段による前記画像データ内の座標の補正機能を無効として、前記操作入力取得手段により取得された前記ユーザの操作入力を基に、前記画像データを処理することができ、
前記操作入力取得手段により取得された前記ユーザの操作入力により指令される前記画像データ内の座標が、前記時間設定手段により設定されている前記所定の時間変更されない場合、前記補正手段による前記画像データ内の座標の補正機能が有効であるときは無効に切り換え、無効であるときは有効に切り換えて、前記操作入力取得手段により取得された前記ユーザの操作入力を基に、画像データを処理する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記補正手段は、補正機能が有効であり、かつ、前記操作入力取得手段により取得された前記ユーザの操作入力により指令される前記画像データ内の第１の座標が、前記画像データに既に描画されている所定の図形によって定められる第２の座標から所定の範囲内である場合、前記第１の座標に対応する座標を前記第２の座標に対応する座標に補正する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記補正手段は、補正機能が有効である場合、前記画像データに予め定められている所定の基準座標を基に、前記操作入力取得手段により取得された前記ユーザの操作入力により指令される前記画像データ内の座標を補正する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記補正手段は、補正機能が有効である場合、前記操作入力取得手段により取得された前記ユーザの操作入力により指令される座標であって、図形の描画の終了位置に対応する座標を補正する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記補正手段は、補正機能が有効である場合、前記操作入力取得手段により取得された前記ユーザの操作入力により指令される座標であって、前記画像データ内に配置される図形の基準位置に対応する座標を補正する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記時間設定手段は、前記操作入力取得手段により取得された前記ユーザの操作入力に基づいて、前記所定の時間を設定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記ユーザの操作を受ける操作手段を更に備え、
前記操作入力取得手段は、前記操作手段による前記ユーザの操作入力を取得する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項９】
ユーザの操作入力に基づいて、画像データを処理する情報処理装置の情報処理方法において、
前記画像データ内の座標を指令する操作入力を取得する第１の操作入力取得ステップと、
前記第１の操作入力取得ステップの処理により取得された前記座標への所定の描画処理を指令する操作入力を取得する第２の操作入力取得ステップと、
前記第１の操作入力取得ステップの処理により前記ユーザの操作入力を取得してから、前記第２の操作入力取得ステップの処理により前記ユーザの操作入力を取得するまでの時間が、所定の時間よりも長いか否かを判断する判断ステップと、
前記判断ステップの処理による判断結果に基づいて、前記第１の操作入力取得ステップの処理により取得された前記座標を補正するか否かを決定する決定ステップと、
前記第１の操作入力取得ステップおよび前記第２の操作入力ステップの処理により取得された前記ユーザの操作入力を基に、前記画像データを処理する画像データ処理ステップと
を含むことを特徴とする情報処理方法。
【請求項１０】
ユーザの操作入力に基づく画像データの処理をコンピュータに実行させるためのプログラムであって、
前記画像データ内の座標を指令する操作入力を取得する第１の操作入力取得ステップと、
前記第１の操作入力取得ステップの処理により取得された前記座標への所定の描画処理を指令する操作入力を取得する第２の操作入力取得ステップと、
前記第１の操作入力取得ステップの処理により前記ユーザの操作入力を取得してから、前記第２の操作入力取得ステップの処理により前記ユーザの操作入力を取得するまでの時間が、所定の時間よりも長いか否かを判断する判断ステップと、
前記判断ステップの処理による判断結果に基づいて、前記第１の操作入力取得ステップの処理により取得された前記座標を補正するか否かを決定する決定ステップと、
前記第１の操作入力取得ステップおよび前記第２の操作入力ステップの処理により取得された前記ユーザの操作入力を基に、前記画像データを処理する画像データ処理ステップと
を含むことを特徴とする処理をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置および情報処理方法、並びに、プログラムに関し、特に、図形の描写や配置などを含む作図処理を行う場合に用いて好適な、情報処理装置および情報処理方法、並びに、プログラムに関する。
【背景技術】
【０００２】
従来、例えば設計図面など、複雑な図形や線を複数描画する必要のある図面をできるだけ容易に作図することができるように、描画される図形の終点や、図形の配置位置などを、予め定められたポイント、または、既に描画されている図形の位置などを基準として補正することにより、その操作性を改善するための技術が存在する。
【０００３】
図１を用いて、既に描画済みの図形１の近傍に、直線２を描画する処理について説明する。例えば、入力デバイスとしてマウスを利用することが可能なパーソナルコンピュータなどを用いて作図操作をする場合、表示画面には、図１に示されるように、図形１、描画中の直線２、現在のユーザのマウスによる操作入力によって指示される座標位置を示す垂直ライン１１および水平ライン１２、並びに、指示座標を補正することが可能な座標範囲に補正の基準となる座標が存在するか否かを確認するためのアパチャ１３が表示される。すなわち、垂直ライン１１と水平ライン１２との交点は、ユーザがマウスの移動により指示する座標位置に対応する。
【０００４】
直線２の描写のための操作入力を、マウスを用いたドラックアンドドロップ操作、すなわち、直線２の描画を開始する座標を指定した状態でマウスボタンをクリックし、クリックした状態を保持して、垂直ライン１１と水平ライン１２との交点を所望の位置に移動させて、ユーザの所望の位置でクリックしていたマウスボタンを離して、直線２の終点位置を決定する操作で実現するものとして説明する。
【０００５】
アパチャ１３は、描画の終点位置となる座標を補正することが可能な座標範囲に補正の基準となる座標が存在するか否かを確認するために表示される。図１に示されるように、アパチャ１３内に、例えば、図形の交点、端点、中点、図上の点など、指示座標位置の補正の基準となる座標が存在していない状態において、ユーザがドロップ操作を行った場合、直線２の終点は、図２に示されるように、ユーザが指示した座標位置となる。一方、図３に示されるように、アパチャ１３内に、例えば、図形の交点、端点、中点、図上の点など、指示座標位置の補正の基準となる座標が存在している状態において、ユーザがドロップ操作を行った場合、直線２の終点は、図４に示されるように、図形１上の座標位置に補正される。
【０００６】
また、作図処理において、図形を配置する場合、図形が描画されるフィールドに予めグリッド線を定めておき、図形が配置される位置を、ユーザが指示した座標位置に最も近いグリッド線にあわせるようにすることにより、図形を簡単に整列させて配置させることができるようにしたスナップ機能を有する場合がある。
【０００７】
例えば、図５に示されるように、図形を描画するフィールドに、予め、縦グリッド線２１−１乃至２１−５が定められ、横グリッド線２２−１乃至２２−３が定められている場合において、三角形の頂点のうちのいずれか１つを図形配置の基準位置ａとする図形３２を配置する処理について説明する。ここでも、入力デバイスとしてマウスを利用することが可能なパーソナルコンピュータなどを用いて作図操作が行われるものとし、図形３２の配置のための操作入力を、マウスを用いたドラックアンドドロップ操作、すなわち、図形３２を選択した状態でマウスボタンをクリックしたまま、マウスカーソル３１を所望の位置に移動させて、表示部に表示されているマウスカーソル３１および図形３２の位置を確認し、ユーザの所望の位置でクリックしていたマウスボタンを離して、図形３２が配置される位置を決定する操作で実現するものとして説明する。
【０００８】
スナップ機能が有効である場合、マウスのドラッグ操作により、マウスカーソル３１とともに図形３２の表示位置が移動されて、図形３２の基準位置ａがいずれのグリッド線の交点とも異なる位置においてドロップ操作がなされたとき、図形３２は、その基準位置ａが、最も近いグリッド線の交点となるように位置が補正されて配置される。例えば、図５に示されるように、縦グリッド線２１−２と横グリッド線２２−１との交点付近に図形３２の基準位置ａがある状態で、ドロップ操作が入力されたとき、図６に示されるように、縦グリッド線２１−２と横グリッド線２２−１との交点が図形３２の基準位置ａと一致するように、図形３２の位置が補正されて配置される。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、例えば、図３に示されるように、アパチャ１３内に指示座標位置の補正の基準となる座標が存在している状態で、直線２の終点を補正せずにユーザが指令した位置としたい場合、ユーザは、指示座標の補正機能が有効である状態から無効である状態に設定を変更した後に操作入力を実行するか、または、図７に示されるように、アパチャ１３内に、図形１が入らないように拡大表示した後に、ユーザの所望の位置においてドロップ操作を行うことにより、垂直ライン１１と水平ライン１２との交点を、補正されることなく直線２の終点位置として指示するという操作を行わなければならないため、操作が煩雑となる。
【００１０】
また、スナップ機能を利用して作図を行う場合、グリッド線の交点に一致させて配置される座標を補正させたい図形と、グリッド線の交点に一致させることなく、ユーザの指示した座標に図形を配置させたい図形が１つの画像に混在するとき、ユーザは、図形の配置操作ごとに、例えば、図８に示されるような描画補正設定ウィンドウ４１を所定の操作により表示させ、図形オブジェクトをグリッド線にあわせるか否かを設定するチェックボックス５１のチェックの有無を切り換えたり、図形オブジェクトを他のオブジェクトにあわせるか否かを設定するチェックボックス５２のチェックの有無を切り換えて、再設定を行う場合はＯＫボタン５３を、再設定を行わず、現状の設定を維持する場合はキャンセルボタン５４を選択する操作を実行する必要があるため、操作が煩雑となる。
【００１１】
本発明はこのような状況に鑑みてなされたものであり、ユーザが指示する座標位置の補正機能の有効と無効を、設定の変更や図形の表示倍率の変更を行うことなく、簡単な操作で切り換えることができるようにするものである。
【課題を解決するための手段】
【００１２】
本発明の情報処理装置は、ユーザの操作入力を取得する操作入力取得手段と、所定の時間を設定する時間設定手段と、操作入力取得手段により取得されたユーザの操作入力により指令される画像データ内の座標を補正する補正手段と、操作入力取得手段により取得されたユーザの操作入力を基に、画像データを処理する画像処理手段とを備え、画像処理手段は、画像処理手段は、操作入力取得手段により取得されたユーザの操作入力により指令される画像データ内の座標が、時間設定手段により設定されている所定の時間内に変更されるか否かに基づいて、補正手段により画像データ内の座標を補正するか否かを判断することを特徴とする。
【００１３】
画像処理手段には、補正手段による画像データ内の座標の補正機能を有効として、操作入力取得手段により取得されたユーザの操作入力を基に、画像データを処理させるようにすることができるとともに、補正手段による画像データ内の座標の補正機能を無効として、操作入力取得手段により取得されたユーザの操作入力を基に、画像データを処理させるようにすることができ、操作入力取得手段により取得されたユーザの操作入力により指令される画像データ内の座標が、時間設定手段により設定されている所定の時間変更されない場合、補正手段による画像データ内の座標の補正機能が有効であるときは無効に切り換え、無効であるときは有効に切り換えて、操作入力取得手段により取得されたユーザの操作入力を基に、画像データを処理させるようにすることができる。
【００１４】
補正手段には、補正機能が有効であり、かつ、操作入力取得手段により取得されたユーザの操作入力により指令される画像データ内の第１の座標が、画像データに既に描画されている所定の図形によって定められる第２の座標から所定の範囲内である場合、第１の座標に対応する座標を第２の座標に対応する座標に補正させるようにすることができる。
【００１５】
補正手段には、補正機能が有効である場合、画像データに予め定められている所定の基準座標を基に、操作入力取得手段により取得されたユーザの操作入力により指令される画像データ内の座標を補正させるようにすることができる。
【００１６】
補正手段には、補正機能が有効である場合、操作入力取得手段により取得されたユーザの操作入力により指令される座標であって、図形の描画の終了位置に対応する座標を補正させるようにすることができる。
【００１７】
補正手段には、補正機能が有効である場合、操作入力取得手段により取得されたユーザの操作入力により指令される座標であって、画像データ内に配置される図形の基準位置に対応する座標を補正させるようにすることができる。
【００１８】
時間設定手段には、操作入力取得手段により取得されたユーザの操作入力に基づいて、所定の時間を設定させるようにすることができる。
【００１９】
ユーザの操作を受ける操作手段を更に備えさせるようにすることができ、操作入力取得手段には、操作手段によるユーザの操作入力を取得させるようにすることができる。
【００２０】
本発明の情報処理方法は、画像データ内の座標を指令する操作入力を取得する第１の操作入力取得ステップと、第１の操作入力取得ステップの処理により取得された座標への所定の描画処理を指令する操作入力を取得する第２の操作入力取得ステップと、第１の操作入力取得ステップの処理によりユーザの操作入力を取得してから、第２の操作入力取得ステップの処理によりユーザの操作入力を取得するまでの時間が、所定の時間よりも長いか否かを判断する判断ステップと、判断ステップの処理による判断結果に基づいて、第１の操作入力取得ステップの処理により取得された座標を補正するか否かを決定する決定ステップと、第１の操作入力取得ステップおよび第２の操作入力ステップの処理により取得されたユーザの操作入力を基に、画像データを処理する画像データ処理ステップとを含むことを特徴とする。
【００２１】
本発明のプログラムは、画像データ内の座標を指令する操作入力を取得する第１の操作入力取得ステップと、第１の操作入力取得ステップの処理により取得された座標への所定の描画処理を指令する操作入力を取得する第２の操作入力取得ステップと、第１の操作入力取得ステップの処理によりユーザの操作入力を取得してから、第２の操作入力取得ステップの処理によりユーザの操作入力を取得するまでの時間が、所定の時間よりも長いか否かを判断する判断ステップと、判断ステップの処理による判断結果に基づいて、第１の操作入力取得ステップの処理により取得された座標を補正するか否かを決定する決定ステップと、第１の操作入力取得ステップおよび第２の操作入力ステップの処理により取得されたユーザの操作入力を基に、画像データを処理する画像データ処理ステップとを含むことを特徴とする処理をコンピュータに実行させる。
【発明の効果】
【００２２】
本発明によれば、必要に応じて、座標情報を補正して画像データを処理することができ、特に、補正機能の有効または無効の設定を簡単な処理で切り換えることができる。
【発明を実施するための最良の形態】
【００２３】
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、本明細書に記載されている発明をサポートする実施の形態が、本明細書に記載されていることを確認するためのものである。したがって、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。
【００２４】
更に、この記載は、本明細書に記載されている発明の全てを意味するものでもない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により出現、追加される発明の存在を否定するものではない。
【００２５】
請求項１に記載の情報処理装置（例えば、図９のパーソナルコンピュータ１０１）は、ユーザの操作入力を取得する操作入力取得手段（例えば、図１１の操作入力部１６２）と、所定の時間を設定する時間設定手段（例えば、図１１の待ち時間設定部１６５）と、操作入力取得手段により取得されたユーザの操作入力により指令される画像データ内の座標を補正する補正手段（例えば、図１１の指示座標補正部１６４）と、操作入力取得手段により取得されたユーザの操作入力を基に、画像データを処理する画像処理手段（例えば、図１１のデータ処理部１６３）とを備え、画像処理手段は、画像処理手段は、操作入力取得手段により取得されたユーザの操作入力により指令される画像データ内の座標が、時間設定手段により設定されている所定の時間内に変更されるか否かに基づいて、補正手段により画像データ内の座標を補正するか否かを判断することを特徴とする。
【００２６】
補正手段は、補正機能が有効であり、かつ、操作入力取得手段により取得されたユーザの操作入力により指令される画像データ内の第１の座標（例えば、図１３乃至図１６の垂直ライン２１１と水平ライン２１２との交点）が、画像データに既に描画されている所定の図形（例えば、図１３乃至図１６の図形１）によって定められる第２の座標（例えば、図形の交点、端点、中点、図上の点など、指示座標位置の補正の基準となる座標）から所定の範囲内（例えば、アパチャ２１３で示される範囲内）である場合、第１の座標に対応する座標を第２の座標に対応する座標に補正することができる。
【００２７】
補正手段は、補正機能が有効である場合、画像データに予め定められている所定の基準座標（例えば、図１８または図１９の縦グリッド線２２１―１乃至２２１−５と横グリッド線２２２―１乃至２２１−３のいずれかの交点）を基に、操作入力取得手段により取得されたユーザの操作入力により指令される画像データ内の座標を補正することができる。
【００２８】
ユーザの操作を受ける操作手段（例えば、図９乃至図１１の入力部１１４であり、すなわち、例えば、図１０および図１１のマウス１４２およびキーボード１４３）を更に備えることができ、操作入力取得手段は、操作手段によるユーザの操作入力を取得することができる。
【００２９】
請求項９の情報処理方法は、ユーザの操作入力に基づいて、画像データを処理する情報処理装置（例えば、図９のパーソナルコンピュータ１０１）の情報処理方法であって、画像データ内の座標を指令する操作入力を取得する第１の操作入力取得ステップ（例えば、図１２のステップＳ１、または、図１７のステップＳ３１の処理）と、第１の操作入力取得ステップの処理により取得された座標への所定の描画処理を指令する操作入力を取得する第２の操作入力取得ステップ（例えば、図１２のステップＳ３、または、図１７のステップＳ３３の処理）と、第１の操作入力取得ステップの処理によりユーザの操作入力を取得してから、第２の操作入力取得ステップの処理によりユーザの操作入力を取得するまでの時間が、所定の時間よりも長いか否かを判断する判断ステップ（例えば、図１２のステップＳ４、または、図１７のステップＳ３４の処理）と、判断ステップの処理による判断結果に基づいて、第１の操作入力取得ステップの処理により取得された座標を補正するか否かを決定する決定ステップ（例えば、図１２のステップＳ５、または、図１７のステップＳ３５の処理）と、第１の操作入力取得ステップおよび第２の操作入力ステップの処理により取得されたユーザの操作入力を基に、画像データを処理する画像データ処理ステップ（例えば、図１２のステップＳ９もしくはステップＳ１０、または、図１７のステップＳ３８もしくはステップＳ３９の処理）とを含むことを特徴とする。
【００３０】
また、請求項１０に記載のプログラムにおいても、各ステップが対応する実施の形態（但し一例）は、請求項９に記載の情報処理方法と同様である。
【００３１】
以下、図を参照して、本発明の実施の形態について説明する。
【００３２】
図９は、本発明を適応した作図のためのデータ処理を実行可能なパーソナルコンピュータ１０１の構成を示すブロック図である。
【００３３】
ＣＰＵ（Central Processing Unit）１１１は、入出力インターフェース１１２および内部バス１１３を介して、パーソナルコンピュータ１０１のユーザが、入力部１１４を用いて入力した各種指令に対応する信号を受け、入力された信号に基づいた各種処理を実行する。
【００３４】
ＲＯＭ（Read Only Memory）１１５は、ＣＰＵ１１１が使用するプログラムや演算用のパラメータのうちの基本的に固定のデータを格納する。ＲＡＭ（Random Access Memory）１１６は、ＣＰＵ１１１の実行において使用するプログラムやデータ、その実行において適宜変化するパラメータなどを格納する。ＣＰＵ１１１、ＲＯＭ１１５、およびＲＡＭ１１６は、内部バス１１３により相互に接続されている。
【００３５】
内部バス１１３は、入出力インターフェース１１２とも接続されている。入力部１１４は、例えば、キーボード、タッチパッド、ジョグダイヤル、ペンタブレット、あるいはマウスなどからなり、パーソナルコンピュータ１０１のユーザがＣＰＵ１１１に各種の指令を入力するとき操作される。表示部１１７は、例えば、ＣＲＴ（Cathode Ray Tube）や液晶表示部などのディスプレイで構成され、各種情報をテキスト、あるいはイメージなどで表示する。
【００３６】
ＨＤＤ（hard disk drive）１１８は、ハードディスクを駆動し、それらにＣＰＵ１１１によって実行されるプログラムや情報を記録または再生させる。ドライブ１１９には、必要に応じて磁気ディスク１２１、光ディスク１２２、光磁気ディスク１２３、および半導体メモリ１２４が装着され、データの授受を行う。
【００３７】
ネットワークインターフェース１２０は、有線、あるいは、無線を介して、他の装置などと接続され、情報の授受を行う。
【００３８】
これらの入力部１１４乃至ネットワークインターフェース１２０は、入出力インターフェース１１２および内部バス１１３を介してＣＰＵ１１１に接続されている。
【００３９】
次に、本実施の形態の動作環境について説明する。図１０を用いて、図９を用いて説明したパーソナルコンピュータ１０１のＣＰＵ１１１により実行されるソフトウェアプログラムにおけるソフトウェアスタックについて説明する。
【００４０】
ＯＳ（Operation System）１４１とは、例えば、マウス１４２、キーボード１４３、またはディスプレイ１４４などの周辺機器を動作させるためのソフトウェアであるドライバ１４５の管理や、各種の情報を記録するメモリ１４６（具体的には、ＲＯＭ１１５、ＲＡＭ１１６、または、ＨＤＤ１１８など）の管理など、多くのアプリケーションプログラム１４９から共通して利用される基本的な機能を提供し、コンピュータシステム全体を管理するソフトウェアである。ＯＳは、ハードウェアに組み込まれているコンピュータ（すなわち、ＣＰＵ１１１）の基本的な動作基盤となるものである。ここでは、いわゆるPC/AT互換機であるパーソナルコンピュータ１０１について説明しているが、ハードウェアとして、例えば、サン・ソラリス（Sun Solaris）、マッキントッシュ（Macintosh）などが用いられる場合にも、プラットフォームに対応したＯＳがそれぞれ選択される。ドライバ１４５とは、入力部１１４を構成するマウス１４２またはキーボード１４３などによる操作入力や、表示部１１７を構成するディスプレイ１４４などへの画像出力など、周辺機器を動作させるためのソフトウェアであり、ＯＳ１４１に組み込まれて動作される。
【００４１】
インタプリタ１４７とは、プログラミング言語で記述されたソフトウェアの設計図(ソースコード)を、ＣＰＵ１１１が実行できる形式（オブジェクトコード）に変換しながら、そのプログラムを実行するソフトウェアである。クラスライブラリ１４８とは、ある特定の機能を持ったプログラムを、オブジェクト指向プログラミング言語を用いて一つの「クラス」として部品化し、関連する複数のクラスを一つのファイルにまとめたものである。オブジェクト指向言語では、共通する属性やメソッド(手続き)を持ったオブジェクト群をまとめたものを「クラス」と称する。こうした「クラス」は、プログラムの部品として利用できるため、よく使われる汎用的なものをクラスライブラリに集めておくことで、プログラミングの労力を軽減することができる。例えば、所定のＯＳ向けのソフトウェアを開発する際に使用できる命令や関数の集合、または、それらを利用するためのプログラム上の手続きを定めた規約の集合であるAPI（Application Program Interface）は、個々のソフトウェアの開発者が、ソフトウェアが備える全ての機能をプログラミングする困難や無駄を省くために提供されているクラスライブラリ群であり、個々の開発者は、規約に従ってその機能を「呼び出す」だけで、自分でプログラミングすることなくその機能を利用したソフトウェアを作成することができる。
【００４２】
アプリケーションプログラム１４９は、必要に応じて、メモリ１４６を用いたり、クラスライブラリ１４８の機能を呼び出して実行しながら、例えば、後述する操作取得処理や作図のためのデータ処理を、ＣＰＵ１１１に実行させるためのプログラムである。
【００４３】
ユーザの操作入力に基づいて、本発明を適用した作図のためのデータ処理が行われる場合、アプリケーションプログラム１４９として、ユーザの操作入力から、画像の描画を指令する操作入力を取得し、取得された指令に基づいて、作図のためのデータ処理を制御するプログラムが実行される。
【００４４】
なお、本発明を適用した作図のためのデータ処理が行われる場合、ユーザの操作入力から、画像の描画を指令する操作入力を取得し、取得された指令に基づいて画像データを処理するまでの全ての処理が、アプリケーションプログラム１４９として実現されるものであっても良いし、また、これらの処理の一部は、アプリケーションプログラム１４９としてではなく、クラスライブラリ１４８として実現されるものであっても良い。
【００４５】
図１１は、本発明を適用した作図のためのデータ処理を行うためのプログラムが、ＲＡＭ１１６にロードされ、ＣＰＵ１１１によって実行される場合に実行可能な機能について説明するための機能ブロック図である。
【００４６】
入力デバイスドライバ１６１は、入力部１１４を構成するマウス１４１またはキーボード１４２の動作を制御し、ユーザにより、マウス１４１またはキーボード１４２が操作された場合、ユーザの操作入力を示す信号を操作入力部１６２に供給する。
【００４７】
操作入力部１６２は、入力デバイスドライバ１６１からユーザの操作入力を示す信号の供給を受け、例えば、「スペースキーが押下された」「ペンタブレットによって、座標（ｘ，ｙ）が指示された」「マウスの右ボタンがクリックされた」「マウスが（ｘ，ｙ）方向にドラックされた」「マウスの右ボタンのクリックが解除された」または「右移動を指令するカーソルボタンが押下された」などのユーザの操作入力を示す情報を、データ処理部１６３または表示制御部１６６に供給する。
【００４８】
データ処理部１６３は、入力デバイスドライバ１６１から供給されたユーザの操作入力を示す信号を、作図のためのデータ処理に対する指令に対応付けて検出することができ、検出された操作入力を基に、指示座標補正部１６４および待ち時間設定部１６５と情報を授受して画像データを処理し、必要に応じて、表示制御部１６６に対して、表示画像を制御するための制御信号を供給する。
【００４９】
指示座標補正部１６４は、その補正機能が有効である場合、例えば、ユーザが指令した座標に対して最も近い所定の基準座標や、ユーザが指令した座標から所定の範囲内に存在する基準座標を検出し、ユーザが指令した座標を、対応する基準座標に補正する処理を実行する。
【００５０】
待ち時間設定部１６５は、データ処理部１６３が操作入力部１６２から供給されたユーザの操作入力を示す信号を基に、ユーザによる座標の指令が一定時間停止したか否かに基づいて、座標補正機能の有効と無効の切替えを行う場合の規準となる待ち時間を設定し、データ処理部１６３の制御にしたがって、内部に有するタイマのカウントの開始、終了、およびリセットを実行し、ユーザの操作入力により指令される座標位置の停止時間を計測する処理を実行し、停止時間が規準となる待ち時間を経過したとき、データ処理部１６２に通知する。また、待ち時間設定部１６５は、操作入力部１６２から供給されるユーザの操作入力を基に、待ち時間を設定する。したがって、利用するユーザの操作能力に基づいて、基準となる待ち時間を設定することができる。
【００５１】
まず、アプリケーションプログラム１４９が、アパチャの範囲内に指示座標の補正の基準となる座標がある場合に座標の補正する機能を有し、直線を描画する処理が実行される場合を例として、データ処理部１６３、指示座標補正部１６４、および、待ち時間設定部１６５の具体的な処理について説明する。
【００５２】
「マウスの左ボタンが押下された状態で、指示された座標の位置が、表示画面中の座標（Ｘ１，Ｙ１）から座標（Ｘ２，Ｙ２）に移動された」という操作を示す情報の供給を受けた場合、データ処理部１６３は、表示制御部１６６に対して、表示されている画像に対して、座標（Ｘ１，Ｙ１）から座標（Ｘ２，Ｙ２）に伸びる直線を描画させるための制御信号を供給するとともに、待ち時間設定部１６５に対して、マウスの左ボタンが押下された状態で座標（Ｘ２，Ｙ２）に停止している時間の計測を開始させるための制御信号を供給する。データ処理部１６３は、設定された待ち時間が経過する前に、マウスが移動されたことを示す操作入力、または、マウスの左ボタンが開放されたことを示す操作入力を受けた場合、待ち時間設定部１６５に対して、時間の計測を終了させ、カウンタをリセットさせるための制御信号を供給する。
【００５３】
待ち時間設定部１６５は、データ処理部１６３から供給される制御信号に基づいて、カウンタをスタート、ストップ、または、リセットさせ、マウスの左ボタンが押下された状態で座標（Ｘ２，Ｙ２）に停止している時間を計測する。そして、待ち時間設定部１６５は、計測している時間が、設定時間となった場合、データ処理部１６３に対して、設定時間の経過を通知する。データ処理部１６３は、設定時間の経過の通知を受け、指示座標補正部１６４による指示座標の補正機能の有効と無効を切り換える。
【００５４】
データ処理部１６３は、指示座標補正部１６４による指示座標の補正機能が無効である状態で「マウスの左ボタンが開放された」という操作を示す情報の供給を受けた場合、処理中の画像データに対して、座標（Ｘ１，Ｙ１）から座標（Ｘ２，Ｙ２）に伸びる直線のデータを加えるとともに、表示制御部１６６の処理により表示されている画像に描画されている新たな直線の表示を確定させるための制御信号を表示制御部１６６に供給する。
【００５５】
また、データ処理部１６３は、指示座標補正部１６４による指示座標の補正機能が有効である状態で「マウスの左ボタンが開放された」という操作を示す情報の供給を受けた場合、指示座標補正部１６４に、座標（Ｘ２，Ｙ２）の情報を供給する。指示座標補正部１６４は、座標（Ｘ２，Ｙ２）近傍の所定の範囲内、すなわち、表示画面上のアパチャの範囲内に指示座標の補正の基準となる座標があるか否かを判断し、座標（Ｘ２，Ｙ２）近傍の所定の範囲内に指示座標の補正の基準となる座標がない場合、データ処理部１６３に、座標の補正処理がないことを通知する。データ処理部１６３は、処理中の画像データに対して、座標（Ｘ１，Ｙ１）から座標（Ｘ２，Ｙ２）に伸びる直線のデータを加えるとともに、表示制御部１６６の処理により表示されている画像に描画されている新たな直線の表示を確定させるための制御信号を表示制御部１６６に供給する。これに対して、座標（Ｘ２，Ｙ２）近傍の所定の範囲内に指示座標の補正の基準となる座標（Ｘ３，Ｙ３）が存在した場合、指示座標補正部１６４は、データ処理部１６３が処理中の画像データに対して、描画の終了位置の座標を座標（Ｘ２，Ｙ２）から座標（Ｘ３，Ｙ３）に補正させる。データ処理部１６３は、指示座標補正部１６４の処理に基づいて、処理中の画像データに対して、座標（Ｘ１，Ｙ１）から座標（Ｘ３，Ｙ３）に伸びる直線のデータを加えるとともに、表示制御部１６６の処理により表示されている画像に描画されている直線を座標（Ｘ１，Ｙ１）から座標（Ｘ３，Ｙ３）に伸びる直線に補正させ、その表示を確定させるための制御信号を表示制御部１６６に供給する。
【００５６】
なお、アプリケーションプログラム１４９が、アパチャの範囲内に指示座標の補正の基準となる座標がある場合に座標の補正する機能を有し、所定の図形を配置する処理が実行される場合も、配置される図形の基準位置となる座標（Ｘ２，Ｙ２）近傍の所定の範囲内、すなわち、表示画面上のアパチャの範囲内に指示座標の補正の基準となる座標があるか否かが判断されて、座標（Ｘ２，Ｙ２）近傍の所定の範囲内に指示座標の補正の基準となる座標（Ｘ３，Ｙ３）が存在した場合、同様にして、図形の基準位置が座標（Ｘ３，Ｙ３）に補正されて、画像データが処理されるとともに、補正された画像データに対応する画像の表示を確定させるための制御信号が表示制御部１６６に供給される。
【００５７】
次に、アプリケーションプログラム１４９が、グリッド線などの所定の座標位置を基準として座標の補正する機能を有し、所定の図形を配置する処理が実行される場合を例として、データ処理部１６３、指示座標補正部１６４、および、待ち時間設定部１６５の具体的な処理について説明する。
【００５８】
「図形が選択され、マウスの左ボタンが押下された状態のまま、選択された図形の配置の基準となる座標位置が、表示画面中の座標（Ｘ１，Ｙ１）から座標（Ｘ２，Ｙ２）に移動された」という操作を示す情報の供給を受けた場合、データ処理部１６３は、表示制御部１６６に対して、表示されている画像に配置されている選択された図形に対して、座標（Ｘ１，Ｙ１）から座標（Ｘ２，Ｙ２）に移動させて表示させるための制御信号を供給するとともに、待ち時間設定部１６５に対して、マウスの左ボタンが押下された状態で座標（Ｘ２，Ｙ２）に対応する位置に停止している時間の計測を開始させるための制御信号を供給する。データ処理部１６３は、設定された待ち時間が経過する前に、マウスが移動されたことを示す操作入力、または、マウスの左ボタンが開放されたことを示す操作入力を受けた場合、待ち時間設定部１６５に対して、時間の計測を終了させ、カウンタをリセットさせるための制御信号を供給する。
【００５９】
待ち時間設定部１６５は、データ処理部１６３から供給される制御信号に基づいて、カウンタをスタート、ストップ、または、リセットさせ、マウスの左ボタンが押下された状態で座標（Ｘ２，Ｙ２）に対応する位置に停止している時間を計測する。そして、待ち時間設定部１６５は、計測している時間が、設定時間となった場合、データ処理部１６３に対して、設定時間の経過を通知する。データ処理部１６３は、設定時間の経過の通知を受け、指示座標補正部１６４による指示座標の補正機能の有効と無効を切り換える。
【００６０】
データ処理部１６３は、指示座標補正部１６４による指示座標の補正機能が無効である状態で「マウスの左ボタンが開放された」という操作を示す情報の供給を受けた場合、処理中の画像データに対して、座標（Ｘ２，Ｙ２）に対応する位置に配置される図形のデータを加えるとともに、表示制御部１６６の処理により表示されている画像に配置されている図形の表示を確定させるための制御信号を表示制御部１６６に供給する。
【００６１】
また、データ処理部１６３は、指示座標補正部１６４による指示座標の補正機能が有効である状態で「マウスの左ボタンが開放された」という操作を示す情報の供給を受けた場合、指示座標補正部１６４に、座標（Ｘ２，Ｙ２）の情報を供給する。指示座標補正部１６４は、座標（Ｘ２，Ｙ２）近傍の座標補正のための基準点の座標（Ｘ３，Ｙ３）を検出し、検出された座標（Ｘ３，Ｙ３）を、データ処理部１６３に通知する。データ処理部１６３は、座標（Ｘ２，Ｙ２）近傍の補正の基準となる座標（Ｘ３，Ｙ３）の通知を受けて、処理中の画像データに対して、図形が配置される位置の座標を補正して、座標（Ｘ３，Ｙ３）に対応する位置に配置される図形のデータを加えるとともに、表示制御部１６６の処理により表示されている画像に描画されている図形が配置される位置を座標（Ｘ２，Ｙ２）に対応する位置から座標（Ｘ３，Ｙ３）に対応する位置に補正させ、その表示を確定させるための制御信号を表示制御部１６６に供給する。
【００６２】
なお、アプリケーションプログラム１４９が、グリッド線などの所定の座標位置を基準として座標の補正する機能を有し、直線を描画する処理が実行される場合も、直線の描画の終了位置となる座標（Ｘ２，Ｙ２）近傍の指示座標の補正の基準となる座標が検出されて、同様にして、直線の描画の終了位置が座標（Ｘ２，Ｙ２）から基準点の座標（Ｘ３，Ｙ３）に補正されて、画像データが処理されるとともに、補正された画像データに対応する画像の表示を確定させるための制御信号が表示制御部１６６に供給される。
【００６３】
表示制御部１６６は、データ処理部１６３から供給される制御信号とともに、操作入力部１６２から供給されるユーザの操作入力を示す信号に基づいて、表示データ生成部１６７による表示データの生成処理を制御する。例えば、表示制御部１６６は、データ処理部１６３から、表示されている画像に配置されている選択された図形に対して、座標（Ｘ１，Ｙ１）から座標（Ｘ２，Ｙ２）に移動させて表示させるための制御信号の供給を受け、これを基に、表示データ生成部１６７による図形を座標（Ｘ１，Ｙ１）から座標（Ｘ２，Ｙ２）に移動させた表示データの生成処理を制御する。また、表示制御部１６６は、操作入力部１６２から、画像の表示を拡大することを指令する操作入力を受けたことを示す信号の供給を受け、表示データ生成部１６７による表示中の画像データが拡大された表示データの生成処理を制御する。
【００６４】
次に、表示データ生成部１６７は、表示制御部１６６の制御に基づいて、表示データメモリ１６８に保存されている画像データを読み出して、表示処理部１６９に供給したり、ユーザの操作入力を基に、新たな直線が追加されたり、図形などのオブジェクトが移動された表示画像データを生成し、表示処理部１６９に供給するとともに、表示データメモリ１６８に供給する。表示データメモリ１６８は、表示データ生成部１６７から供給された画像データを記憶する。
【００６５】
表示処理部１６９が実行する処理は、一般的に、グラフィックアクセラレータまたはグラフィックプロセッサと称されるハードウェアの処理に対応するものであり、表示データ生成部１６７から供給された画像データを描画するための処理を実行する。すなわち、表示処理部１６９は、供給された画像データを構成する、例えば、直線や曲線、あるいは、円や四角形などに対応する図形データ（多くの場合は、ベクトルデータにより記述されているデータ）を基に、指定の位置に指定の図形を順次発生させ、内部に有するフレームメモリに書き込む処理を行う。
【００６６】
表示デバイスドライバ１７０は、表示部１１７を構成するディスプレイ１４４の動作を制御するものであり、表示処理部１６９のフレームメモリに書き込まれた情報を読み込んで、ディスプレイ１４４に表示させる。
【００６７】
図１１に示される各ブロックと、図１０を用いて説明したソフトウェアスタックとの関係を例示すると、例えば、入力デバイスドライバ１６１および表示デバイスドライバ１７０は、図１０におけるドライバ１４５に含まれるものであり、表示データメモリ１６８は、メモリ１４６に含まれるものであり、操作入力部１６２および表示処理部１６９の処理は、クラスライブラリ１４８として実現されるものであり、データ処理部１６３、指示座標補正部１６４、待ち時間設定部１６５、表示制御部１６６、および表示データ生成部１６７の処理は、アプリケーションプログラム１４９として実現されるものであるとすることができる。
【００６８】
なお、図１１に示される各ブロックと、図１０を用いて説明したソフトウェアスタックとの関係は、上述した例示のとおりでなくても良く、例えば、操作入力部１６２および表示処理部１６９の処理がクラスライブラリ１４８として用意されていなくても、アプリケーションプログラム１４９として実現されていても良いし、表示制御部１６６および表示データ生成部１６７の処理のうちの一部が、クラスライブラリ１４８として用意されていてもよい。
【００６９】
次に、図１２のフローチャートを参照して、本発明を適用した作図のためのデータ処理を行うためのプログラムが、ＲＡＭ１１６にロードされ、ＣＰＵ１１１によって実行された場合であって、既に描画されている図形を基に指示された座標を補正する機能の有効と無効を切り換えることが可能なようになされているときの、指示座標補正機能切替え処理１について説明する。
【００７０】
ステップＳ１において、データ処理部１６３は、操作入力部１６２から供給されたユーザの操作入力を示す信号を基に、例えば、「マウスの左ボタンが押下された状態で、指示される座標が表示画面中の座標（Ｘ１，Ｙ１）から座標（Ｘ２，Ｙ２）に移動された」という操作を検出するなど、図形の描画の終了点、または、図形の配置を指令する操作入力を受けることが可能な状態であることが検出されたか否かを判断する。図形の描画の終了点、または、図形の配置を指令する操作入力を受けることが可能な状態とは、すなわち、座標の指示操作がある位置で停止したことと等しい。
【００７１】
ステップＳ２において、データ処理部１６３は、待ち時間設定部１６５を制御して、ユーザの操作入力により指令される座標位置の停止時間の計測を開始させる。待ち時間設定部１６５は、内部に有するタイマのカウントを開始する。
【００７２】
ステップＳ３において、データ処理部１６３は、操作入力部１６２から供給されたユーザの操作入力を示す信号を基に、例えば、「マウスの左ボタンが開放された」など、図形の描画の終了点、または、図形の配置を指令する操作入力を受けたか否かを判断する。ステップＳ３において、図形の描画の終了点、または、図形の配置を指令する操作入力を受けたと判断された場合、データ処理部１６３は、待ち時間設定部１６５へカウンタのストップを制御する信号を供給し、処理は、ステップＳ７に進む。
【００７３】
ステップＳ３において、図形の描画の終了点、または、図形の配置を指令する操作入力を受けていないと判断された場合、データ処理部１６３は、待ち時間設定部１６５へカウンタのストップを制御する信号を供給しないので、ステップＳ４において、待ち時間設定部１６５は、タイマのカウントが開始されてから予め設定されている所定の待ち時間が経過したか否かを判断する。データ処理部１６３は、待ち時間設定部１６５から待ち時間が経過したことの通知が供給されるか否かを基に、タイマのカウントが開始されてから予め設定されている所定の待ち時間が経過したか否かを判断する。ステップＳ４において、所定の待ち時間が経過していないと判断された場合、処理は、ステップＳ３に戻り、それ以降の処理が繰り返される。
【００７４】
ステップＳ４において、所定の待ち時間が経過したと判断された場合、ステップＳ５において、データ処理部１６３は、待ち時間設定部１６５から待ち時間が経過したことの通知をうけるので、指示座標補正部１６４の処理による指示座標補正機能の有効と無効を切り換える。
【００７５】
ステップＳ５により切り換えられた指示座標補正機能の有効と無効は、今回の操作入力に限って切り換えられた設定で処理されるものとしても良いし、これ以降の操作入力に対しても切り換えられた設定で処理されるようにしても良い。更に、指示座標補正機能は、基本的には常に有効であるとし、所定の待ち時間が経過したと判断された場合には、指示座標補正機能を無効であるとしたり、指示座標補正機能は、基本的には常に無効であるとし、所定の待ち時間が経過したと判断された場合には、指示座標補正機能を有効であるとするようにしても良い。
【００７６】
ステップＳ６において、データ処理部１６３は、操作入力部１６２から供給されたユーザの操作入力を示す信号を基に、例えば、「マウスの左ボタンが開放された」など、図形の描画の終了点、または、図形の配置を指令する操作入力を受けたか否かを判断する。ステップＳ６において、図形の描画の終了点、または、図形の配置を指令する操作入力を受けていないと判断された場合、図形の描画の終了点、または、図形の配置を指令する操作入力を受けたと判断されるまで、ステップＳ６の処理が繰り返される。
【００７７】
ステップＳ３において、図形の描画の終了点、または、図形の配置を指令する操作入力を受けたと判断された場合、または、ステップＳ６において、図形の描画の終了点、または、図形の配置を指令する操作入力を受けたと判断された場合、ステップＳ７において、データ処理部１６３は、指示座標補正部１６４による指示座標補正機能は有効であるか否かを判断する。
【００７８】
ステップＳ７において、指示座標補正部１６４による指示座標補正機能は有効であると判断された場合、ステップＳ８において、データ処理部１６３は、指示座標補正部１６４に、ユーザによって指令された座標の情報を供給する。指示座標補正部１６４は、ユーザによって指令された座標近傍の所定の範囲内、すなわち、表示画面上のアパチャの範囲内に、座標補正の基準となる座標が存在するか否かを判断する。ステップＳ８において、ユーザによって指令された座標近傍の所定の範囲内に、座標補正の基準となる座標が存在しないと判断された場合、指示座標補正部１６４は、座標近傍の所定の範囲内に、座標補正の基準となる座標が存在しないことをデータ処理部１６３に通知し、処理は、ステップＳ１０に進む。
【００７９】
ステップＳ８において、ユーザによって指令された座標近傍の所定の範囲内に、座標補正の基準となる座標が存在すると判断された場合、ステップＳ９において、指示座標補正部１６４は、座標補正の基準となる座標に基づいて、座標を補正し、補正された座標をデータ処理部１６３に通知する。データ処理部１６３は、補正された座標において図形の描画を終了するか、または、図形を配置する処理を実行し、補正された座標において図形の描画が終了された画像、または、図形が配置された画像を表示させるための制御信号を生成し、表示制御部１６６に供給して、処理は、ステップＳ１に戻り、それ以降の処理が繰り返される。
【００８０】
指示座標補正機能が有効であり、例えば、図１３に示されるように、ユーザの操作入力により指令される座標、すなわち、垂直ライン２１１と水平ライン２１２との交点の座標を基準とした所定の範囲を示すアパチャ２１３内に、すでに描画されている図形１が存在している状態で、ユーザが、「マウスの左ボタンを開放する」など、図形の描画の終了点を指令する操作入力を行った場合、データ処理部１６３により作成された画像データと、それに対応してディスプレイ１４４に表示される画像とにおける描画の終了点は、図１４に示されるように、図形１上の所定の基準点と一致するように補正される。
【００８１】
ステップＳ７において、指示座標補正部１６４による指示座標補正機能は無効であると判断された場合、または、ステップＳ８において、ユーザによって指令された座標近傍の所定の範囲内に、座標補正の基準となる座標が存在しないと判断された場合、ステップＳ１０において、データ処理部１６３は、ユーザの操作入力に基づいた座標で、図形の描画を終了するか、または、図形を配置する処理を実行し、補正されていない、ユーザによって指令された座標において図形の描画が終了された画像、または、図形が配置された画像を表示させるための制御信号を生成し、表示制御部１６６に供給して、処理は、ステップＳ１に戻り、それ以降の処理が繰り返される。
【００８２】
指示座標補正機能が無効であれば、ユーザの操作入力により指令される座標、すなわち、垂直ライン２１１と水平ライン２１２との交点の座標に基づいた作図作業が実行されるので、例えば、図１５に示されるように、表示画面にはアパチャ２１３が表示されず、ユーザの操作入力により指令される座標、すなわち、垂直ライン２１１と水平ライン２１２との交点の座標が図形１の近傍に存在している状態で、ユーザが、例えば、「マウスの左ボタンを開放する」など、図形の描画の終了点を指令する操作入力を行った場合、データ処理部１６３により作成された画像データと、それに対応してディスプレイ１４４に表示される画像における描画の終了点は、図１６に示されるように、垂直ライン２１１と水平ライン２１２との交点の座標となる。
【００８３】
このような処理により、そのつど、設定ウィンドウなどを表示させて座標補正機能の有効または無効の設定を変更させることなく、ユーザが所望する設定で、座標位置を指令することができるようになる。
【００８４】
例えば、現在の座標補正機能が無効であり、無効と有効の切替えのために設定される待ち時間を１．０秒と指定した場合、ユーザは、１．０秒以内に座標を指示することにより、複数の図形が混在するような座標位置においても、画面を拡大することなく、所望の座標が指示できる。そして、ユーザは、座標の補正のためにアパチャ内の図形を認識して座標を補正したいとき、１．０秒以上マウス１４２を止めて、指示する座標位置を固定しておくことにより、座標補正機能の設定を有効に切り換えて、アパチャ内の図形を認識して座標位置を補正することができる。
【００８５】
例えば、指示座標補正機能が有効である状態において、図１３に示されるように、アパチャ２１３内に、あらかじめ描画された図形１による補正の基準となる座標が存在している状態で、ユーザの操作入力により指令される座標、すなわち、垂直ライン２１１と水平ライン２１２との交点の座標に基づいた作図作業を行いたい場合、ユーザは、図１３に示される状態で、マウス１４２の動きを無効と有効の切替えのために設定される待ち時間（例えば、１．０秒）以上停止させる。そして、設定される待ち時間以上、マウス１４２の動きが停止されたとき、指示座標補正機能は有効から無効に切り替わるので、表示画面は図１５を用いて説明したように変更されて、アパチャ２１３の表示がなくなる。この状態において、ユーザが、例えば、「マウスの左ボタンの開放」など、図形の描画の終了点を指令する操作入力を行った場合、データ処理部１６３により作成される画像データと、それに対応してディスプレイ１４４に表示される画像における描画の終了点は、図１６に示されるように、垂直ライン２１１と水平ライン２１２との交点の座標となる。
【００８６】
なお、ここでは、指示座標補正機能は有効から無効に切り替わったとき、アパチャ２１３の表示がなくなるものとして説明したが、アパチャ２１３は、常に表示するようにしておき、他の表示などを用いて、ユーザに、指示座標補正機能の有効と無効の切替えを通知するようにしても良い。
【００８７】
一方、例えば、指示座標補正機能が無効である図１５に示される状態において、指示座標補正機能を有効にして、図形１上の基準点に直線２の終点を一致させたい場合、ユーザは、図１５に示される状態で、マウス１４２の動きを無効と有効の切替えのために設定される待ち時間（例えば、１．０秒）以上停止させる。そして、設定される待ち時間以上、マウス１４２の動きが停止されたとき、指示座標補正機能は無効から有効に切り替わるので、表示画面は図１３を用いて説明したように変更されて、アパチャ２１３が表示される。この状態において、ユーザが、例えば、「マウスの左ボタンの開放」など、図形の描画の終了点を指令する操作入力を行った場合、指示座標補正部１６４の処理により、座標が補正されるので、データ処理部１６３により作成される画像データと、それに対応してディスプレイ１４４に表示される画像における描画の終了点は、図１４に示されるように、図形１上の基準点と一致するように補正される。
【００８８】
次に、図１７のフローチャートを参照して、本発明を適用した作図のためのデータ処理を行うためのプログラムが、ＲＡＭ１１６にロードされ、ＣＰＵ１１１によって実行された場合であって、グリッド線を基に指示座標を補正する機能の有効と無効を切り換えることが可能なようになされているときの、指示座標補正機能切替え処理２について説明する。
【００８９】
ステップＳ３１乃至ステップＳ３７において、図１２のステップＳ１乃至ステップＳ７と同様の処理が実行される。
【００９０】
すなわち、操作入力部１６２から供給されたユーザの操作入力を示す信号を基に、座標の指示操作がある位置で停止されたか否かが判断されて、座標の指示操作が停止された時間の計測が開始され、図形の描画の終了点、または、図形の配置を指令する操作入力を受ける前に、所定の待ち時間が経過したと判断された場合、指示座標補正機能の有効と無効が切り換えられる。ここでも、図１２を用いて説明した場合と同様に、切り換えられた指示座標補正機能の有効と無効は、今回の操作入力に限って切り換えられた設定で処理されるものとしても良いし、これ以降の操作入力に対しても切り換えられた設定で処理されるようにしても良い。更に、指示座標補正機能は、基本的には常に有効であるとし、所定の待ち時間が経過したと判断された場合には、指示座標補正機能を無効であるとしたり、指示座標補正機能は、基本的には常に無効であるとし、所定の待ち時間が経過したと判断された場合には、指示座標補正機能を有効であるとするようにしても良い。そして、例えば、「マウスの左ボタンが開放された」など、図形の描画の終了点、または、図形の配置を指令する操作入力を受けたと判断された場合、指示座標補正機能は有効であるか否かが判断される。
【００９１】
ステップＳ３７において、指示座標補正機能は有効であると判断された場合、ステップＳ３８において、データ処理部１６３は、指示座標補正部１６４に、ユーザによって指令された座標の情報を供給する。指示座標補正部１６４は、操作入力部１６２から供給されたユーザの操作入力に基づいた座標から最も近いグリットの座標に基づいて、座標を補正し、補正された座標をデータ処理部１６３に通知する。データ処理部１６３は、グリッドにあわせて補正された座標において図形の描画を終了するか、または、図形を配置する処理を実行し、補正された座標において図形の描画が終了された画像、または、図形が配置された画像を表示させるための制御信号を生成し、表示制御部１６６に供給して、処理は、ステップＳ３１に戻り、それ以降の処理が繰り返される。
【００９２】
指示座標補正機能が有効であり、例えば、図１８に示されるように、図形３２の図形配置の基準位置ａが、縦グリッド線２２１−１乃至２２１−５と、横グリッド線２２２−１乃至２２２−３とのいずれの交点とも一致しない状態において、ユーザが、例えば、「マウスの左ボタンの開放」など、図形の描画の終了点を指令する操作入力を行った場合、データ処理部１６３により作成される画像データと、それに対応してディスプレイ１４４に表示される画像における図形３２の図形配置の基準位置ａの座標は、図１９に示されるように、ユーザが指令した座標位置から最も近いグリット線の交点（図１９においては、縦グリッド線２２１−２と横グリッド線２２２−１との交点）と一致するように補正される。
【００９３】
ステップＳ３６において、指示座標補正機能は有効ではないと判断された場合、ステップＳ３９において、データ処理部１６３は、操作入力部１６２から供給されたユーザの操作入力に基づいた座標で、図形の描画を終了するか、または、図形を配置する処理を実行し、補正されていない、ユーザによって指令された座標において図形の描画が終了された画像、または、図形が配置された画像を表示させるための制御信号を生成し、表示制御部１６６に供給して、処理は、ステップＳ３１に戻り、それ以降の処理が繰り返される。
【００９４】
指示座標補正機能が無効であれば、ユーザの操作入力により指令される図形３２の基準位置ａの座標に基づいた作図作業が実行されるので、例えば、図２０に示されるように、表示画面には縦グリッド線２２１−１乃至２２１−５と、横グリッド線２２２−１乃至２２２−３が表示されず、ユーザの操作入力により指令される図形３２の基準位置ａの座標がいずれの位置にある場合においても、ユーザが、例えば、「マウスの左ボタンの開放」など、図形の描画の終了点を指令する操作入力を行った場合、データ処理部１６３により作成される画像データと、それに対応してディスプレイ１４４に表示される画像における図形３２の位置は、図２０に示されるように、ユーザの操作入力により指令される図形３２の基準位置ａの座標により定められるものとなる。
【００９５】
このような処理により、そのつど、設定ウィンドウなどを表示させて座標補正機能の有効または無効の設定を変更させることなく、ユーザが所望する設定で、座標位置を指令することができるようになる。
【００９６】
例えば、現在の座標補正機能が無効であり、無効と有効の切替えのために設定される待ち時間を１．０秒と指定した場合、ユーザは、１．０秒以内に座標を指示することにより、任意の位置に図形３２を配置することができる。そして、ユーザは、座標の補正のためにグリッド線を利用したいとき、１．０秒以上マウス１４２を止めて、縦グリッド線２２１−１乃至２２１−５と、横グリッド線２２２−１乃至２２２−３を表示させて、これらのグリット線の交点を基準点として座標位置を補正することができる。
【００９７】
例えば、指示座標補正機能が有効である状態において、図１８に示されるように、図形３２の図形配置の基準位置ａが、縦グリッド線２２１−１乃至２２１−５と、横グリッド線２２２−１乃至２２２−３とのいずれの交点とも一致しない状態で、ユーザの操作入力により指令される座標に基づいた作図作業を行いたい場合、ユーザは、図１８に示される状態で、マウス１４２の動きを無効と有効の切替えのために設定される待ち時間（例えば、１．０秒）以上停止させる。そして、設定される待ち時間以上、マウス１４２の動きが停止されたとき、指示座標補正機能は有効から無効に切り替わるので、表示画面は図２０を用いて説明したように変更されて、縦グリッド線２２１−１乃至２２１−５と、横グリッド線２２２−１乃至２２２−３の表示がなくなる。この状態において、ユーザが、例えば、「マウスの左ボタンの開放」など、図形の描画の終了点を指令する操作入力を行った場合、データ処理部１６３により作成された画像データと、それに対応してディスプレイ１４４に表示される画像における図形３２の配置は、図２１に示されるように、ユーザが指令した座標に基づくものとなる。
【００９８】
一方、例えば、指示座標補正機能が無効である図２０に示される状態において、指示座標補正機能を有効にして、縦グリッド線２２１−１乃至２２１−５と横グリッド線２２２−１乃至２２２−３とのいずれかの交点と、図形３２の図形配置の基準位置ａの座標とを一致させたい場合、ユーザは、図２０に示される状態で、マウス１４２の動きを無効と有効の切替えのために設定される待ち時間（例えば、１．０秒）以上停止させる。そして、設定される待ち時間以上、マウス１４２の動きが停止されたとき、指示座標補正機能は無効から有効に切り替わるので、表示画面は図１８を用いて説明したように変更されて、縦グリッド線２２１−１乃至２２１−５と横グリッド線２２２−１乃至２２２−３とが表示される。この状態において、ユーザが、例えば、「マウスの左ボタンの開放」など、図形の描画の終了点を指令する操作入力を行った場合、指示座標補正部１６４の処理により、座標が補正されるので、データ処理部１６３により作成された画像データと、それに対応してディスプレイ１４４に表示される画像における図形３２の図形配置の基準位置ａは、図１９に示されるように、ユーザが指令した座標位置から最も近いグリット線の交点（図１９においては、縦グリッド線２２１−２と横グリッド線２２２−１との交点）と一致するように補正される。
【００９９】
上述した一連の処理を実行するソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１００】
この記録媒体は、図９に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク１２１（フレキシブルディスクを含む）、光ディスク１２２（CD-ROM（Compact Disk-Read Only Memory），DVD（Digital Versatile Disk）を含む）、光磁気ディスク１２３（ＭＤ（Mini-Disk)（商標）を含む）、もしくは半導体メモリ１２４などよりなるパッケージメディアなどにより構成される。
【０１０１】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【図面の簡単な説明】
【０１０２】
【図１】描画済みの図形近傍に、直線を描画する場合の従来の処理について説明するための図である。
【図２】描画済みの図形近傍に、直線を描画する場合の従来の処理について説明するための図である。
【図３】描画済みの図形近傍に、直線を描画する場合の従来の処理について説明するための図である。
【図４】描画済みの図形近傍に、直線を描画する場合の従来の処理について説明するための図である。
【図５】スナップ機能を利用して図形を配置する場合の従来の処理について説明するための図である。
【図６】スナップ機能を利用して図形を配置する場合の従来の処理について説明するための図である。
【図７】描画済みの図形近傍に直線を接しないように描画する場合の従来の処理について説明するための図である。
【図８】スナップ機能の各種設定を行うためのウィンドウについて説明するための図である。
【図９】本発明を適用したパーソナルコンピュータの構成を示すブロック図である。
【図１０】ソフトウェアスタックについて説明するための図である。
【図１１】図９のパーソナルコンピュータにおいて本発明を適用した処理が実行される場合の機能ブロック図である。
【図１２】指示座標補正機能切替え処理１について説明するためのフローチャートである。
【図１３】図１２の処理について説明するための図である。
【図１４】図１２の処理について説明するための図である。
【図１５】図１２の処理について説明するための図である。
【図１６】図１２の処理について説明するための図である。
【図１７】指示座標補正機能切替え処理２について説明するためのフローチャートである。
【図１８】図１７の処理について説明するための図である。
【図１９】図１７の処理について説明するための図である。
【図２０】図１７の処理について説明するための図である。
【図２１】図１７の処理について説明するための図である。
【符号の説明】
【０１０３】
１０１    パーソナルコンピュータ
１１１    ＣＰＵ
１１４    入力部
１１５    ＲＯＭ
１１６    ＲＡＭ
１１７    表示部
１１８    ＨＤＤ
１４１    ＯＳ
１４５    ドライバ
１４６    メモリ
１４７    インタプリタ
１４８    クラスライブラリ
１４９    アプリケーションプログラム
１６１    入力デバイスドライバ
１６２    操作入力部
１６３    データ処理部
１６４    指示座標補正部
１６５    待ち時間設定部
１６６    表示制御部
１６７    表示データ生成部
１６８    表示データメモリ
１６９    表示処理部
１７０    表示デバイスドライバ
【図１】
2005202465.tif 000003
【図２】
2005202465.tif 000004
【図３】
2005202465.tif 000005
【図４】
2005202465.tif 000006
【図５】
2005202465.tif 000007
【図６】
2005202465.tif 000008
【図７】
2005202465.tif 000009
【図８】
2005202465.tif 000010
【図９】
2005202465.tif 000011
【図１０】
2005202465.tif 000012
【図１１】
2005202465.tif 000013
【図１２】
2005202465.tif 000014
【図１３】
2005202465.tif 000015
【図１４】
2005202465.tif 000016
【図１５】
2005202465.tif 000017
【図１６】
2005202465.tif 000018
【図１７】
2005202465.tif 000019
【図１８】
2005202465.tif 000020
【図１９】
2005202465.tif 000021
【図２０】
2005202465.tif 000022
【図２１】
2005202465.tif 000023