JPH0683923A - カーソル位置と表示形像との相関付け方法及び相関付け手段を備えたコンピュータ・システム - Google Patents
カーソル位置と表示形像との相関付け方法及び相関付け手段を備えたコンピュータ・システムInfo
- Publication number
- JPH0683923A JPH0683923A JP5020065A JP2006593A JPH0683923A JP H0683923 A JPH0683923 A JP H0683923A JP 5020065 A JP5020065 A JP 5020065A JP 2006593 A JP2006593 A JP 2006593A JP H0683923 A JPH0683923 A JP H0683923A
- Authority
- JP
- Japan
- Prior art keywords
- image
- bitmap
- rectangle
- cursor
- cursor position
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- Digital Computer Display Output (AREA)
Abstract
(57)【要約】
【目的】 ユーザが表示画面上のいずれの形像を選択し
たのかをコンピュータ・システムにおいて判定する際
に、正確でかつ高速処理ができるようにする。 【構成】 ユーザはマウス18を使用して、画面12上
のカーソル20を動かしアイコン等の形像40、42を
選択する。処理装置14は、移動後のカーソル位置と選
択された形象とを相関付けてどの形像が選択されたのか
を判定するが、カーソルの周囲に広がるピック矩形(選
択領域)が、形像の周囲に広がるあらかじめ設定された
境界矩形50、52(画面に非表示)との間に重なり部
を有するか否かを判定する。そして重なり部を有する境
界矩形に対応す形像を、処理装置中のメモリのビットマ
ップ中へ描き込み、描き込みによってビットマップに変
化が生じたか否かを調べる。ビットマップに変化を生じ
させた形像があったならば、その形像がユーザにより選
択されたものとして、カーソル位置に相関付ける。
たのかをコンピュータ・システムにおいて判定する際
に、正確でかつ高速処理ができるようにする。 【構成】 ユーザはマウス18を使用して、画面12上
のカーソル20を動かしアイコン等の形像40、42を
選択する。処理装置14は、移動後のカーソル位置と選
択された形象とを相関付けてどの形像が選択されたのか
を判定するが、カーソルの周囲に広がるピック矩形(選
択領域)が、形像の周囲に広がるあらかじめ設定された
境界矩形50、52(画面に非表示)との間に重なり部
を有するか否かを判定する。そして重なり部を有する境
界矩形に対応す形像を、処理装置中のメモリのビットマ
ップ中へ描き込み、描き込みによってビットマップに変
化が生じたか否かを調べる。ビットマップに変化を生じ
させた形像があったならば、その形像がユーザにより選
択されたものとして、カーソル位置に相関付ける。
Description
【0001】
【産業上の利用分野】本発明は、コンピュータ・システ
ムの表示画面において、カーソル位置と表示形像とを相
関付けるための方法及びシステムに関し、ユーザが表示
画面のいずれの形像を実際に選択したかを判定するため
に、カーソルで選択された位置と表示されている形像と
を相関付ける相関付け方法、及びこのような相関付けを
行う手段を具備したコンピュータ・システムに関する。
ムの表示画面において、カーソル位置と表示形像とを相
関付けるための方法及びシステムに関し、ユーザが表示
画面のいずれの形像を実際に選択したかを判定するため
に、カーソルで選択された位置と表示されている形像と
を相関付ける相関付け方法、及びこのような相関付けを
行う手段を具備したコンピュータ・システムに関する。
【0002】
【従来の技術】一般的なコンピュータ・システムでは、
プロセスを管理するという作業は、例えば「DOS」や
「OS/2」等の、オペレーティング・システムに担当
させている。そして、そのオペレーティング・システム
が、例えばワード・プロセッサやスプレッド・シート等
の、アプリケーション・プログラムをサポートするよう
にしている。この場合、いかなる入力ないし出力が必要
であるかを決定する作業については、その殆ど全てをア
プリケーション・プログラムが担当しているが、アプリ
ケーション・プログラムは、入出力デバイスとの間の通
信を行なうには、オペレーティング・システムを介して
行なわねばならない。そのため、例えば、アプリケーシ
ョン・プログラムが、ある特定の出力メッセージを出力
することを求める要求をオペレーティング・システムへ
向けて送出したならば、その要求を受け取ったオペレー
ティング・システムが、出力表示の画面上にその出力メ
ッセージを書き出す処理を担当するという手順が取られ
るようにしている。
プロセスを管理するという作業は、例えば「DOS」や
「OS/2」等の、オペレーティング・システムに担当
させている。そして、そのオペレーティング・システム
が、例えばワード・プロセッサやスプレッド・シート等
の、アプリケーション・プログラムをサポートするよう
にしている。この場合、いかなる入力ないし出力が必要
であるかを決定する作業については、その殆ど全てをア
プリケーション・プログラムが担当しているが、アプリ
ケーション・プログラムは、入出力デバイスとの間の通
信を行なうには、オペレーティング・システムを介して
行なわねばならない。そのため、例えば、アプリケーシ
ョン・プログラムが、ある特定の出力メッセージを出力
することを求める要求をオペレーティング・システムへ
向けて送出したならば、その要求を受け取ったオペレー
ティング・システムが、出力表示の画面上にその出力メ
ッセージを書き出す処理を担当するという手順が取られ
るようにしている。
【0003】任意の時点において、画面上の表示が実際
にどのようなものとなっているかは、ハードウェアであ
るフレーム・バッファに、そのときどのような内容が格
納されているかによって決まる。フレーム・バッファに
格納させる内容は、一般的には、実際のピクセルの発光
強度やカラーを表わすものにしてあるが、ただし、必ず
しも常にそうであるとは限らず、例えば、フレーム・バ
ッファと画面それ自体と間に、更に別のハードウェアで
あるロジックから成る処理段を介在させる場合もある
(例えば、フレーム・バッファの内容をテキスト・スト
リングにしておき、そのテキスト・ストリングをハード
ウェア・ロジックが処理して、ピクセルのパターンに変
換するようにしたものがある)。いずれにせよ、表示を
変化させるためには、オペレーティング・システムがフ
レーム・バッファの内容を更新すれば良く、フレーム・
バッファの内容が更新されれば、それに応じて画面上の
出力も変化する。尚、フレーム・バッファ、並びにフレ
ーム・バッファと画面との間に介在させる処理段のロジ
ックを、ハードウェアで構成するようにしているのは、
画面へ向けてデータを転送するデータ転送速度が非常な
高速であるからであり(一般的には、数メガバイト/秒
程度である)、また、このデータ転送速度が高速である
ということは、画像処理を行なう際に、非常に大きな計
算処理のオーバーヘッドを負担せねばならないことの原
因ともなっている。
にどのようなものとなっているかは、ハードウェアであ
るフレーム・バッファに、そのときどのような内容が格
納されているかによって決まる。フレーム・バッファに
格納させる内容は、一般的には、実際のピクセルの発光
強度やカラーを表わすものにしてあるが、ただし、必ず
しも常にそうであるとは限らず、例えば、フレーム・バ
ッファと画面それ自体と間に、更に別のハードウェアで
あるロジックから成る処理段を介在させる場合もある
(例えば、フレーム・バッファの内容をテキスト・スト
リングにしておき、そのテキスト・ストリングをハード
ウェア・ロジックが処理して、ピクセルのパターンに変
換するようにしたものがある)。いずれにせよ、表示を
変化させるためには、オペレーティング・システムがフ
レーム・バッファの内容を更新すれば良く、フレーム・
バッファの内容が更新されれば、それに応じて画面上の
出力も変化する。尚、フレーム・バッファ、並びにフレ
ーム・バッファと画面との間に介在させる処理段のロジ
ックを、ハードウェアで構成するようにしているのは、
画面へ向けてデータを転送するデータ転送速度が非常な
高速であるからであり(一般的には、数メガバイト/秒
程度である)、また、このデータ転送速度が高速である
ということは、画像処理を行なう際に、非常に大きな計
算処理のオーバーヘッドを負担せねばならないことの原
因ともなっている。
【0004】最近のオペレーティング・システムの多く
は、グラフィカル・ユーザ・インターフェース(GU
I)を提供する機能を備えている。GUI環境において
は、ユーザは、マウス装置(以下、単にマウスという)
を移動させることによって画面上のカーソル位置を制御
することができる。これが行なわれているときには、オ
ペレーティング・システムは、マウスの物理的な移動量
をモニタして、その移動量を、その移動量に対応した画
面上のカーソル位置へ変換している。ユーザは画面上の
特定の点を選択することができ、それには、カーソルが
その特定の点の上にあるときに、マウスのボタンを押下
すれば良い。ユーザがこのようにして特定の位置を選択
したときも、先ずオペレーティング・システムが、その
選択が行なわれたという情報を受け取り、そしてそれ
を、オペレーティング・システムがアプリケーション・
プログラムへ受け渡す。一般的には、こうしてユーザが
選択した位置は、例えば、そのとき画面上に表示されて
いる幾つかのアイコン等の形像(shape)のうちか
ら、ユーザがいずれの形像を選択したのかを表わしてい
る。また、画面上の形像は、例えば、処理すべきファイ
ルや、処理操作を加えようとしている図形の要素等を表
わすことのできるものである。
は、グラフィカル・ユーザ・インターフェース(GU
I)を提供する機能を備えている。GUI環境において
は、ユーザは、マウス装置(以下、単にマウスという)
を移動させることによって画面上のカーソル位置を制御
することができる。これが行なわれているときには、オ
ペレーティング・システムは、マウスの物理的な移動量
をモニタして、その移動量を、その移動量に対応した画
面上のカーソル位置へ変換している。ユーザは画面上の
特定の点を選択することができ、それには、カーソルが
その特定の点の上にあるときに、マウスのボタンを押下
すれば良い。ユーザがこのようにして特定の位置を選択
したときも、先ずオペレーティング・システムが、その
選択が行なわれたという情報を受け取り、そしてそれ
を、オペレーティング・システムがアプリケーション・
プログラムへ受け渡す。一般的には、こうしてユーザが
選択した位置は、例えば、そのとき画面上に表示されて
いる幾つかのアイコン等の形像(shape)のうちか
ら、ユーザがいずれの形像を選択したのかを表わしてい
る。また、画面上の形像は、例えば、処理すべきファイ
ルや、処理操作を加えようとしている図形の要素等を表
わすことのできるものである。
【0005】
【発明が解決しようとする課題】人間であるユーザにと
っては、いずれの形像が選択されているのかを見分ける
ことはさほど困難ではない。しかし、コンピュータを制
御しているソフトウェアにとっては(それがオペレーテ
ィング・システムであれアプリケーション・プログラム
であれ)、これは格段に困難なタスクである。例えば、
フレーム・バッファに対する照会を行なって、画面上の
任意の1個のピクセルの内容を得ることは極めて容易で
あるが、これによって知ることができるのは、その1個
のピクセルの現在値でしかない。従って、例えば、2つ
の形像が、互いに同じ発光強度で、しかも互いに同一の
カラーで表示されていた場合には、この方式ではそれら
2つの形像を区別して認識することができない。更に
は、形像の表示に関わるデータ転送速度が高速であるた
め、形像を識別するための情報を付加した画面データを
別個に格納しておくようにすることも不可能である。理
論的には、夫々の形像によって占拠されるピクセルを再
計算して求めることによって相関付け処理を実行すると
いう方式も、不可能ではないが(実際に、この方式はオ
ペレーティング・システムが形像を最初に書き込むとき
に採用している方式である)、この方式では、コンピュ
ータの処理時間を余りに多く浪費するため、充分に迅速
な処理などは望むべくもない。更には、画面上に同時に
多くの形像が表示されているために、ユーザが選択した
位置を、それら多くの形像と突き合わせなければならな
い場合には、この時間的な制約はより厳しいものとな
る。
っては、いずれの形像が選択されているのかを見分ける
ことはさほど困難ではない。しかし、コンピュータを制
御しているソフトウェアにとっては(それがオペレーテ
ィング・システムであれアプリケーション・プログラム
であれ)、これは格段に困難なタスクである。例えば、
フレーム・バッファに対する照会を行なって、画面上の
任意の1個のピクセルの内容を得ることは極めて容易で
あるが、これによって知ることができるのは、その1個
のピクセルの現在値でしかない。従って、例えば、2つ
の形像が、互いに同じ発光強度で、しかも互いに同一の
カラーで表示されていた場合には、この方式ではそれら
2つの形像を区別して認識することができない。更に
は、形像の表示に関わるデータ転送速度が高速であるた
め、形像を識別するための情報を付加した画面データを
別個に格納しておくようにすることも不可能である。理
論的には、夫々の形像によって占拠されるピクセルを再
計算して求めることによって相関付け処理を実行すると
いう方式も、不可能ではないが(実際に、この方式はオ
ペレーティング・システムが形像を最初に書き込むとき
に採用している方式である)、この方式では、コンピュ
ータの処理時間を余りに多く浪費するため、充分に迅速
な処理などは望むべくもない。更には、画面上に同時に
多くの形像が表示されているために、ユーザが選択した
位置を、それら多くの形像と突き合わせなければならな
い場合には、この時間的な制約はより厳しいものとな
る。
【0006】必要な計算処理量を低減するための1つの
方法として、各形像の境界矩形を算出して利用するとい
う方法がある。ここで境界矩形とは、ある1つの形像を
完全に内包する最小の矩形(それも、水平な辺と垂直な
辺とから成る矩形)のことをいう。境界矩形を算出して
おけば、選択位置を形像それ自体に対して相関付けるの
ではなく、その形像の境界矩形に対して相関付けること
が可能になる。この方式とすることによって、計算処理
という点に関して非常に簡明なものとなり、それゆえ処
理を高速化することができるが、しかしながら、ある選
択位置が、ある特定の形像から外れているにもかかわら
ず、その選択位置が、その特定の形像の境界矩形の中に
入っているという場合には、誤った相関付けの結果を生
じるおそれがある。
方法として、各形像の境界矩形を算出して利用するとい
う方法がある。ここで境界矩形とは、ある1つの形像を
完全に内包する最小の矩形(それも、水平な辺と垂直な
辺とから成る矩形)のことをいう。境界矩形を算出して
おけば、選択位置を形像それ自体に対して相関付けるの
ではなく、その形像の境界矩形に対して相関付けること
が可能になる。この方式とすることによって、計算処理
という点に関して非常に簡明なものとなり、それゆえ処
理を高速化することができるが、しかしながら、ある選
択位置が、ある特定の形像から外れているにもかかわら
ず、その選択位置が、その特定の形像の境界矩形の中に
入っているという場合には、誤った相関付けの結果を生
じるおそれがある。
【0007】このような相関付け処理の機能は、オペレ
ーティング・システムによって提供されている場合もあ
るが、そうでない場合は、アプリケーション・プログラ
ム自体がこの相関付け処理を実行するようにしておかね
ばならない。いずれの場合においても、ユーザにとって
気になる程の遅延を生じさせないためには、相関付け処
理が1秒の数分の1以内に完了するようにしておかねば
ならない。以上のように、ユーザがいずれの形像を選択
したのかをコンピュータが判定できるようにするための
ピック相関付け処理機構であって、正確でしかも計算処
理という点において効率的な処理機構は、従来存在して
いなかった。
ーティング・システムによって提供されている場合もあ
るが、そうでない場合は、アプリケーション・プログラ
ム自体がこの相関付け処理を実行するようにしておかね
ばならない。いずれの場合においても、ユーザにとって
気になる程の遅延を生じさせないためには、相関付け処
理が1秒の数分の1以内に完了するようにしておかねば
ならない。以上のように、ユーザがいずれの形像を選択
したのかをコンピュータが判定できるようにするための
ピック相関付け処理機構であって、正確でしかも計算処
理という点において効率的な処理機構は、従来存在して
いなかった。
【0008】
【課題を解決するための手段】以上に鑑み、本発明は以
下の如き相関付け方法を提供するものである。即ち、そ
の相関付け方法とは、記憶手段と、形像及びカーソルを
表示するための表示手段と、カーソルの移動及びカーソ
ル位置の選択を行なうためのユーザ入力手段とを含んで
いるコンピュータ・システムにて、カーソル位置と表示
されている形像とを相関付ける相関付け方法において、
前記表示手段上に1つないし複数の形像を表示するステ
ップと、表示されている各形像について、その形像に対
応した境界矩形を求めて、その形像とその境界矩形とを
表わす情報を記憶するステップと、ユーザが行なうカー
ソル位置の選択操作に応答して、その選択位置に対応し
た選択領域を求めるステップと、表示されている各形像
について、その形像に対応した境界矩形を調べて、その
境界矩形と前記選択領域とが重なり部を有するか否かを
判定するステップと、前記記憶手段の中に、前記選択領
域に対応したビットマップを作成するステップと、前記
選択領域との間で重なり部を有する境界矩形の各々につ
いて、その境界矩形に対応した形像を、前記ビットマッ
プの中へ描き込むステップと、前記ビットマップを調べ
て、そのビットマップの選択領域の中へ描き込まれた形
像があるか否かを判定し、それに該当する形像があった
ならば、その該当する形像とユーザが選択したカーソル
位置とを相関付けるステップと、を含んでいることを特
徴とする相関付け方法である。
下の如き相関付け方法を提供するものである。即ち、そ
の相関付け方法とは、記憶手段と、形像及びカーソルを
表示するための表示手段と、カーソルの移動及びカーソ
ル位置の選択を行なうためのユーザ入力手段とを含んで
いるコンピュータ・システムにて、カーソル位置と表示
されている形像とを相関付ける相関付け方法において、
前記表示手段上に1つないし複数の形像を表示するステ
ップと、表示されている各形像について、その形像に対
応した境界矩形を求めて、その形像とその境界矩形とを
表わす情報を記憶するステップと、ユーザが行なうカー
ソル位置の選択操作に応答して、その選択位置に対応し
た選択領域を求めるステップと、表示されている各形像
について、その形像に対応した境界矩形を調べて、その
境界矩形と前記選択領域とが重なり部を有するか否かを
判定するステップと、前記記憶手段の中に、前記選択領
域に対応したビットマップを作成するステップと、前記
選択領域との間で重なり部を有する境界矩形の各々につ
いて、その境界矩形に対応した形像を、前記ビットマッ
プの中へ描き込むステップと、前記ビットマップを調べ
て、そのビットマップの選択領域の中へ描き込まれた形
像があるか否かを判定し、それに該当する形像があった
ならば、その該当する形像とユーザが選択したカーソル
位置とを相関付けるステップと、を含んでいることを特
徴とする相関付け方法である。
【0009】以上から分かるように、本発明は、2回の
パスによって実行する2段階式の相関付け処理方式を採
用しており、第1回目のパスでは境界矩形を利用して高
速で処理を実行し、続いて第2回目のパスで、完璧な精
度を得るようにしており、しかも、これら2回のパスを
合計した全体処理時間においても、大幅な短縮が得られ
るようにしている。第1回目のパスで実行する、境界矩
形を調べる作業は、形像のうちで、選択されたカーソル
位置に近接していない形像を、手早く排除して行く作業
である。続いて第2回目のパスで実行する作業は、第1
回目のパスで排除されずに残存している形像(残存形
像)が存在していたならば、その残存形像を調べて、相
関付けに関する正確な判定を行なう作業である。この第
2回目のパスの作業を行なう際には、残存形像を、メモ
リの中に特別に生成したビットマップの中へ描き直す
(この「描き直す(re−drawing)」というの
は、画面上に描き出してある形像を、今度はビットマッ
プの中に描き込もうとすることを意味している)ように
している。ビットマップを生成する際には、そのビット
マップの領域を、選択されたカーソル位置の周囲の所定
の大きさの領域に対応させるようにする。この所定の大
きさの領域を、選択領域という。この選択領域の形状
は、通常は矩形とするようにしている。また、この選択
領域は、ユーザが行なうカーソルの位置付け操作の誤差
の限界大きさを事実上定めるものである。通常、選択領
域は、その寸法を高々ピクセル数個分とするようにして
いるため、この選択領域の大きさは、画面全体と比較す
れば非常に小さい。そのため、候補形像(即ち上述の残
存形像)をビットマップの中へ描き直す処理は、短時間
で完了することができ、その際に、ビットマップの中へ
描き出そうとしている形像の部分のうち、この選択領域
の外側に位置することになる部分は、単に無視すれば良
い。
パスによって実行する2段階式の相関付け処理方式を採
用しており、第1回目のパスでは境界矩形を利用して高
速で処理を実行し、続いて第2回目のパスで、完璧な精
度を得るようにしており、しかも、これら2回のパスを
合計した全体処理時間においても、大幅な短縮が得られ
るようにしている。第1回目のパスで実行する、境界矩
形を調べる作業は、形像のうちで、選択されたカーソル
位置に近接していない形像を、手早く排除して行く作業
である。続いて第2回目のパスで実行する作業は、第1
回目のパスで排除されずに残存している形像(残存形
像)が存在していたならば、その残存形像を調べて、相
関付けに関する正確な判定を行なう作業である。この第
2回目のパスの作業を行なう際には、残存形像を、メモ
リの中に特別に生成したビットマップの中へ描き直す
(この「描き直す(re−drawing)」というの
は、画面上に描き出してある形像を、今度はビットマッ
プの中に描き込もうとすることを意味している)ように
している。ビットマップを生成する際には、そのビット
マップの領域を、選択されたカーソル位置の周囲の所定
の大きさの領域に対応させるようにする。この所定の大
きさの領域を、選択領域という。この選択領域の形状
は、通常は矩形とするようにしている。また、この選択
領域は、ユーザが行なうカーソルの位置付け操作の誤差
の限界大きさを事実上定めるものである。通常、選択領
域は、その寸法を高々ピクセル数個分とするようにして
いるため、この選択領域の大きさは、画面全体と比較す
れば非常に小さい。そのため、候補形像(即ち上述の残
存形像)をビットマップの中へ描き直す処理は、短時間
で完了することができ、その際に、ビットマップの中へ
描き出そうとしている形像の部分のうち、この選択領域
の外側に位置することになる部分は、単に無視すれば良
い。
【0010】ビットマップは充分小さく、RAMの中に
保持することができるため、このビットマップの中へ描
き出そうとした形像のうち、その形像それ自体を構成し
ているピクセルが実際にこのビットマップの中へ書き込
まれた形像を判定するためのアクセスを、高速で行なう
ことができる。そして、その形像それ自体を構成してい
るピクセルがこのビットマップの中へ書き込まれたため
に、このビットマップの中のピクセルを変化させた形像
が、実際に存在したならば、その形像をもって、ユーザ
が選択したカーソル位置に相関付けすべき形像であると
判断する。尚、このとき、相関付けすべき形像として2
つ以上の形像が発見されることも(或いは、相関付けす
べき形像が1つも発見されないことも)あり得るが、そ
のような場合に、いかなる処理を実行するようにするか
は、コールする手順の設計を担当している設計者が決め
れば良いことである。尚、本発明の方法は、コンピュー
タのオペレーティング・システムの一部として構成する
こともでき、また、アプリケーション・プログラムに組
み込んで構成することも可能である。
保持することができるため、このビットマップの中へ描
き出そうとした形像のうち、その形像それ自体を構成し
ているピクセルが実際にこのビットマップの中へ書き込
まれた形像を判定するためのアクセスを、高速で行なう
ことができる。そして、その形像それ自体を構成してい
るピクセルがこのビットマップの中へ書き込まれたため
に、このビットマップの中のピクセルを変化させた形像
が、実際に存在したならば、その形像をもって、ユーザ
が選択したカーソル位置に相関付けすべき形像であると
判断する。尚、このとき、相関付けすべき形像として2
つ以上の形像が発見されることも(或いは、相関付けす
べき形像が1つも発見されないことも)あり得るが、そ
のような場合に、いかなる処理を実行するようにするか
は、コールする手順の設計を担当している設計者が決め
れば良いことである。尚、本発明の方法は、コンピュー
タのオペレーティング・システムの一部として構成する
こともでき、また、アプリケーション・プログラムに組
み込んで構成することも可能である。
【0011】ビットマップを作成する際には、画面上の
画像のようにピクセル1個に数バイトを対応させるので
はなく、ピクセル1個に1ビットを対応させて作成する
ことが好ましい。この場合、ある1つの形像について
は、その形像の全ての部分を、それが部分シェーディン
グを施した部分であっても、また、明るい色ないし暗い
色で塗りつぶした部分であっても、単一の強度で
(「黒」即ち「0」とすると便利である)表わすように
し、即ち、事実上モノクロームで表わすようにする。こ
のように表示を簡単化しても、ある形像が、選択領域と
の間に重なり部を有するか否かを判定するという目的に
とっては何ら不都合を生じない、充分な表示となり、し
かも、ピクセル1個に数バイトを対応させたビットマッ
プと比較して、描き直しの作業をより高速で行なえる上
に、必要とする記憶容量も少なくて済むようになる。
画像のようにピクセル1個に数バイトを対応させるので
はなく、ピクセル1個に1ビットを対応させて作成する
ことが好ましい。この場合、ある1つの形像について
は、その形像の全ての部分を、それが部分シェーディン
グを施した部分であっても、また、明るい色ないし暗い
色で塗りつぶした部分であっても、単一の強度で
(「黒」即ち「0」とすると便利である)表わすように
し、即ち、事実上モノクロームで表わすようにする。こ
のように表示を簡単化しても、ある形像が、選択領域と
の間に重なり部を有するか否かを判定するという目的に
とっては何ら不都合を生じない、充分な表示となり、し
かも、ピクセル1個に数バイトを対応させたビットマッ
プと比較して、描き直しの作業をより高速で行なえる上
に、必要とする記憶容量も少なくて済むようになる。
【0012】更に、選択領域との間で重なり部を有する
境界矩形を持つ形像が、実際にビットマップに書き込ま
れたか否かを判定する前記ステップは、ビットマップの
中へ各形像を描き込み終わる度ごとに、そのビットマッ
プの読取りを行なって、そのビットマップの中のビット
のうちに変化したビットがあるか否かを調べることから
成るものとすることが好ましい。このようにした場合、
ビットマップの中へ各形像を描き込み終わる度ごとに、
そのビットマップをチェックして、その形像を描き込ん
だために変化したビットが存在しているか否かを調べる
ことになる。もし該当するビットが存在していたなら
ば、その形像それ自体が、選択領域との間で重なり部を
有しているのであるから、その形像をもって、ユーザが
選択した形像であろうと判断することになる。尚、これ
に続いて、こうして相関付けされた形像のリストを作成
するようにしても良い。
境界矩形を持つ形像が、実際にビットマップに書き込ま
れたか否かを判定する前記ステップは、ビットマップの
中へ各形像を描き込み終わる度ごとに、そのビットマッ
プの読取りを行なって、そのビットマップの中のビット
のうちに変化したビットがあるか否かを調べることから
成るものとすることが好ましい。このようにした場合、
ビットマップの中へ各形像を描き込み終わる度ごとに、
そのビットマップをチェックして、その形像を描き込ん
だために変化したビットが存在しているか否かを調べる
ことになる。もし該当するビットが存在していたなら
ば、その形像それ自体が、選択領域との間で重なり部を
有しているのであるから、その形像をもって、ユーザが
選択した形像であろうと判断することになる。尚、これ
に続いて、こうして相関付けされた形像のリストを作成
するようにしても良い。
【0013】以上とは別の方式もある。即ち、ビットマ
ップの中の各ピクセルが3バイトの情報に相当するよう
にしてある場合には(例えば3つの色の各々が255段
階の発光強度を取れるようにすると、各ピクセルが3バ
イトの情報に相当することになる)、1個のピクセルに
24個のビット位置が付随することになる。そこで、一
度に24個までの形像しか表示しないという前提の下で
は、第1番目の形像を第1ビット位置に描き込み、第2
番目の形像を第2ビット位置へ描き込むというようにし
て、複数の形像をビットマップの中へ描き込んでしまう
ことができる。そして、全ての形像の描き込みを完了し
た後に各ピクセルの値を読み出すことにより、そのピク
セルのビット位置のうちの、変化したビット位置から、
相関付けすべき形像を一意的に判定することができる。
ただしこの方式は、ビットマップの読取り回数を減少さ
せることができるという利点を有する一方で、ビットマ
ップのための記憶空間をより広く必要とし、また、取扱
うことのできる形像の個数にも制限がある。
ップの中の各ピクセルが3バイトの情報に相当するよう
にしてある場合には(例えば3つの色の各々が255段
階の発光強度を取れるようにすると、各ピクセルが3バ
イトの情報に相当することになる)、1個のピクセルに
24個のビット位置が付随することになる。そこで、一
度に24個までの形像しか表示しないという前提の下で
は、第1番目の形像を第1ビット位置に描き込み、第2
番目の形像を第2ビット位置へ描き込むというようにし
て、複数の形像をビットマップの中へ描き込んでしまう
ことができる。そして、全ての形像の描き込みを完了し
た後に各ピクセルの値を読み出すことにより、そのピク
セルのビット位置のうちの、変化したビット位置から、
相関付けすべき形像を一意的に判定することができる。
ただしこの方式は、ビットマップの読取り回数を減少さ
せることができるという利点を有する一方で、ビットマ
ップのための記憶空間をより広く必要とし、また、取扱
うことのできる形像の個数にも制限がある。
【0014】境界矩形を調べる前記ステップと、各形像
を描き込む前記ステップと、ビットマップを調べる前記
ステップとを、各形像ごとに連続して実行するようにす
ることが好ましい。これによって、例えば第1番目の形
像(大抵の場合、第1番目の形像は、画面上の最も上に
位置する形像である)が相関付けされた時点で、その相
関付け処理を終了させることも可能になる。また、これ
とは別の方式として、先ず最初に、選択領域との間で重
なり部を有する境界矩形を持つ形像のリストを作成し、
続いて、そのリストの中の形像をビットマップに描き込
んで行くという方式とすることもできる。ただしこの方
式は、相関付けすべき形像として限られた個数の形像し
か検出されない場合には効率的でなく、なぜならば、こ
の方式では、全ての形像の境界矩形の重なりについて計
算処理を行なわねばならないからである。
を描き込む前記ステップと、ビットマップを調べる前記
ステップとを、各形像ごとに連続して実行するようにす
ることが好ましい。これによって、例えば第1番目の形
像(大抵の場合、第1番目の形像は、画面上の最も上に
位置する形像である)が相関付けされた時点で、その相
関付け処理を終了させることも可能になる。また、これ
とは別の方式として、先ず最初に、選択領域との間で重
なり部を有する境界矩形を持つ形像のリストを作成し、
続いて、そのリストの中の形像をビットマップに描き込
んで行くという方式とすることもできる。ただしこの方
式は、相関付けすべき形像として限られた個数の形像し
か検出されない場合には効率的でなく、なぜならば、こ
の方式では、全ての形像の境界矩形の重なりについて計
算処理を行なわねばならないからである。
【0015】本発明は更に、以下の如きコンピュータ・
システムを提供するものでもある。即ち、そのコンピュ
ータ・システムとは、記憶手段と、形像及びカーソルを
表示するための表示手段と、カーソルを前記表示手段上
で移動させ且つカーソル位置の選択を行なうためのユー
ザ入力手段と、選択されたカーソル位置と表示されてい
る形像とを相関付けるための相関付け手段とを含んでい
るコンピュータ・システムにおいて、前記相関付け手段
が、表示されている各形像について、その形像に対応し
た境界矩形を求めるための手段と、形像とその境界矩形
とを表わす情報を記憶するための手段と、ユーザが行な
うカーソル位置の選択操作に応答して、その選択位置に
対応した選択領域を求めるための手段と、境界矩形を調
べて、その境界矩形が前記選択領域との間で重なり部を
有するか否かを判定するための手段と、前記記憶手段の
中に、前記選択領域に対応したビットマップを作成する
ための手段と、前記選択領域との間で重なり部を有する
境界矩形の各々について、その境界矩形に対応した形像
を、前記ビットマップの中へ描き込むための手段と、前
記ビットマップを調べて、そのビットマップの選択領域
の中へ描き込まれた形像があるか否かを判定し、それに
該当する形像があったならば、その該当する形像とユー
ザが選択したカーソル位置とを相関付けるための手段
と、を備えた相関付け手段であることを特徴としてい
る。
システムを提供するものでもある。即ち、そのコンピュ
ータ・システムとは、記憶手段と、形像及びカーソルを
表示するための表示手段と、カーソルを前記表示手段上
で移動させ且つカーソル位置の選択を行なうためのユー
ザ入力手段と、選択されたカーソル位置と表示されてい
る形像とを相関付けるための相関付け手段とを含んでい
るコンピュータ・システムにおいて、前記相関付け手段
が、表示されている各形像について、その形像に対応し
た境界矩形を求めるための手段と、形像とその境界矩形
とを表わす情報を記憶するための手段と、ユーザが行な
うカーソル位置の選択操作に応答して、その選択位置に
対応した選択領域を求めるための手段と、境界矩形を調
べて、その境界矩形が前記選択領域との間で重なり部を
有するか否かを判定するための手段と、前記記憶手段の
中に、前記選択領域に対応したビットマップを作成する
ための手段と、前記選択領域との間で重なり部を有する
境界矩形の各々について、その境界矩形に対応した形像
を、前記ビットマップの中へ描き込むための手段と、前
記ビットマップを調べて、そのビットマップの選択領域
の中へ描き込まれた形像があるか否かを判定し、それに
該当する形像があったならば、その該当する形像とユー
ザが選択したカーソル位置とを相関付けるための手段
と、を備えた相関付け手段であることを特徴としてい
る。
【0016】
【実施例】これより本発明の実施例について、添付図面
を参照しつつ、更に詳細に説明して行く。図1はコンピ
ュータ・システム10を示しており、このコンピュータ
・システム10は、画面12と、処理装置14と、キー
ボード16と、マウス18とを含んでいる。ユーザは、
画面上に表示されているカーソル20の位置を、マウス
18を使用して変化させることができる。典型的な場合
では、マウスからの入力と、画面への出力とは、BIO
Sコード34(図2参照)によって取り扱われる。ここ
では説明を簡明にするために、このBIOSコード34
は、オペレーティング・システム32の一部であるもの
とする。また、以下の説明では、カーソル位置の相関付
け処理を実行するのはアプリケーション・プログラムで
あるものとして説明をして行くが、ただしこの相関付け
処理は、コンピュータのオペレーティング・システムの
一部として構成した場合にも同様に良好に構成し得るも
のである。
を参照しつつ、更に詳細に説明して行く。図1はコンピ
ュータ・システム10を示しており、このコンピュータ
・システム10は、画面12と、処理装置14と、キー
ボード16と、マウス18とを含んでいる。ユーザは、
画面上に表示されているカーソル20の位置を、マウス
18を使用して変化させることができる。典型的な場合
では、マウスからの入力と、画面への出力とは、BIO
Sコード34(図2参照)によって取り扱われる。ここ
では説明を簡明にするために、このBIOSコード34
は、オペレーティング・システム32の一部であるもの
とする。また、以下の説明では、カーソル位置の相関付
け処理を実行するのはアプリケーション・プログラムで
あるものとして説明をして行くが、ただしこの相関付け
処理は、コンピュータのオペレーティング・システムの
一部として構成した場合にも同様に良好に構成し得るも
のである。
【0017】アプリケーション・プログラムは、画面1
2上に特定の形像40、42を描出する際には、オペレ
ーティング・システムのサブルーチンのうちから必要な
サブルーチンをコールした上で、そのサブルーチンへ、
描出しようとしている形像を表わす種々のパラメータ
(例えば大きさ、位置、等々)を受け渡すようにしてあ
る。典型的な例としては、このときに、その他のサブル
ーチン(例えば、描出処理を初期化するためのサブルー
チン等)も併せてコールされるようにしておく。この点
に関しては、マイクロソフト社が出している「DOSウ
ィンドウズ」というオペレーティング・システムで使用
可能なサブルーチン・コールと、それに関係したパラメ
ータとを記載した文献として、「マイクロソフト・ウィ
ンドウズ・ソフトウェア開発キット・レファレンス第1
巻及び第2巻(Microsoft WindowsSoftware Developmen
t Kit Reference Vol 1 and 2)(書籍番号:SY0302a-3
00-R00-1089)」があり、また、それらと同様のプロシ
ージャ(procedure)は、他のプログラミング環境にも
存在しているものである。このアプリケーション・プロ
グラムにより以上を行なったならば、続いてオペレーテ
ィング・システムが、デバイス・ドライバに対して然る
べきコマンドを送出することによって、要求された形像
を画面上に描出する。尚、一般的には、アプリケーショ
ン・プログラムは、予め定義されているx−y座標上で
みずからの作業を行ない、そのx−y座標をオペレーテ
ィング・システムが実際のピクセル位置へ変換するよう
にしている。
2上に特定の形像40、42を描出する際には、オペレ
ーティング・システムのサブルーチンのうちから必要な
サブルーチンをコールした上で、そのサブルーチンへ、
描出しようとしている形像を表わす種々のパラメータ
(例えば大きさ、位置、等々)を受け渡すようにしてあ
る。典型的な例としては、このときに、その他のサブル
ーチン(例えば、描出処理を初期化するためのサブルー
チン等)も併せてコールされるようにしておく。この点
に関しては、マイクロソフト社が出している「DOSウ
ィンドウズ」というオペレーティング・システムで使用
可能なサブルーチン・コールと、それに関係したパラメ
ータとを記載した文献として、「マイクロソフト・ウィ
ンドウズ・ソフトウェア開発キット・レファレンス第1
巻及び第2巻(Microsoft WindowsSoftware Developmen
t Kit Reference Vol 1 and 2)(書籍番号:SY0302a-3
00-R00-1089)」があり、また、それらと同様のプロシ
ージャ(procedure)は、他のプログラミング環境にも
存在しているものである。このアプリケーション・プロ
グラムにより以上を行なったならば、続いてオペレーテ
ィング・システムが、デバイス・ドライバに対して然る
べきコマンドを送出することによって、要求された形像
を画面上に描出する。尚、一般的には、アプリケーショ
ン・プログラムは、予め定義されているx−y座標上で
みずからの作業を行ない、そのx−y座標をオペレーテ
ィング・システムが実際のピクセル位置へ変換するよう
にしている。
【0018】このアプリケーション・プログラムは、あ
る特定の形像を画面上に描出することを求める要求を発
するときには、その要求を送出すると共に、その特定の
形像の境界矩形を算出するようにしてある。その特定の
形像が例えば円や正方形等である場合には、その形像の
境界矩形を算出することは極めて容易である。また、そ
の特定の形像が任意の多角形である場合には、多角形は
複数本の線分で表わし得ることから、その多角形の境界
矩形を、その多角形の個々の線分の境界矩形を全て内包
する最小の矩形として算出すれば、比較的容易に算出を
行なうことができる。更にまた、その特定の形像が曲線
である場合には、その境界矩形を、より複雑な計算処理
によって算出するようにしても良いが、その曲線を一連
の非常に短い直線形状の線分に分割した上で、多角形の
場合と同様の処理を実行するようにしても、その境界矩
形を算出することができる。図1には、形像40と42
の夫々の境界矩形50と52とを図示してあるが、通
常、境界矩形は画面上に表示しないことはいうまでもな
い。尚、図1から分かるように、形像の境界矩形の面積
は、形像それ自体の面積よりもはるかに大きくなること
がある(特に、その形像が「線」を表わすものである場
合にそうである)。
る特定の形像を画面上に描出することを求める要求を発
するときには、その要求を送出すると共に、その特定の
形像の境界矩形を算出するようにしてある。その特定の
形像が例えば円や正方形等である場合には、その形像の
境界矩形を算出することは極めて容易である。また、そ
の特定の形像が任意の多角形である場合には、多角形は
複数本の線分で表わし得ることから、その多角形の境界
矩形を、その多角形の個々の線分の境界矩形を全て内包
する最小の矩形として算出すれば、比較的容易に算出を
行なうことができる。更にまた、その特定の形像が曲線
である場合には、その境界矩形を、より複雑な計算処理
によって算出するようにしても良いが、その曲線を一連
の非常に短い直線形状の線分に分割した上で、多角形の
場合と同様の処理を実行するようにしても、その境界矩
形を算出することができる。図1には、形像40と42
の夫々の境界矩形50と52とを図示してあるが、通
常、境界矩形は画面上に表示しないことはいうまでもな
い。尚、図1から分かるように、形像の境界矩形の面積
は、形像それ自体の面積よりもはるかに大きくなること
がある(特に、その形像が「線」を表わすものである場
合にそうである)。
【0019】このアプリケーション・プログラムは更
に、画面上に現在表示している全ての形像とそれら形像
の各々に付随する境界矩形とを表わす識別情報を包含す
るテーブルを維持するようにしてある。典型的な例とし
ては、境界矩形を表わすには、その矩形の左下隅と右上
隅の夫々のx−y座標で表わす。そして、新たに1つの
形像を画面上に追加して表示する際には、その都度、こ
のテーブルの中に新たに1つのエントリを追加して作成
するようにし、一方、その形像を画面上から抹消すると
きには、そのエントリもリストから抹消するようにして
いる。
に、画面上に現在表示している全ての形像とそれら形像
の各々に付随する境界矩形とを表わす識別情報を包含す
るテーブルを維持するようにしてある。典型的な例とし
ては、境界矩形を表わすには、その矩形の左下隅と右上
隅の夫々のx−y座標で表わす。そして、新たに1つの
形像を画面上に追加して表示する際には、その都度、こ
のテーブルの中に新たに1つのエントリを追加して作成
するようにし、一方、その形像を画面上から抹消すると
きには、そのエントリもリストから抹消するようにして
いる。
【0020】ユーザが画面上のある特定の位置を選択し
たならば(この選択は、通常、マウス18のボタン11
8を操作することによって行なう)、オペレーティング
・システムが、アプリケーション・プログラムへ、カー
ソル20の現在位置(これはピクセル座標ではなくx−
y座標で表わしたカーソル位置である)を返送する。す
ると、このアプリケーション・プログラムが、そのカー
ソル位置に変換処理を施して、そのカーソル位置を中心
としたピック矩形を算出する。このピック矩形は、2本
の水平な辺と2本の垂直な辺とから成り、基準となった
カーソル位置が、2本の水平な辺の間の中心で且つ2本
の垂直な辺の間の中心に、正確に位置するようにした矩
形である。このピック矩形によって画成される領域は、
その領域内の全ての部分が、ユーザによって選択された
ものと見なされる。従って、このピック矩形との間に重
なり部を有する形像は、選択されたカーソル位置との間
で相関付けされる。それゆえ、このピック矩形は、ユー
ザに対して、カーソルの位置付け操作における誤差の限
界大きさ(即ち余裕分)を、事実上定めているものであ
る。この誤差の余裕分は、小さな、或いは細い(例えば
1本の線から成る)形像を選択する際に、非常に有用な
ものである。ときには、ピック矩形の大きさをユーザが
実際に制御できるようにしておくこともあり、その場合
には、ピック矩形を1×1の大きさの矩形とすることも
実際に可能であるが、ただしそうしたときには、選択す
べき形像のピクセルの真上に、カーソルを位置させねば
ならなくなる。
たならば(この選択は、通常、マウス18のボタン11
8を操作することによって行なう)、オペレーティング
・システムが、アプリケーション・プログラムへ、カー
ソル20の現在位置(これはピクセル座標ではなくx−
y座標で表わしたカーソル位置である)を返送する。す
ると、このアプリケーション・プログラムが、そのカー
ソル位置に変換処理を施して、そのカーソル位置を中心
としたピック矩形を算出する。このピック矩形は、2本
の水平な辺と2本の垂直な辺とから成り、基準となった
カーソル位置が、2本の水平な辺の間の中心で且つ2本
の垂直な辺の間の中心に、正確に位置するようにした矩
形である。このピック矩形によって画成される領域は、
その領域内の全ての部分が、ユーザによって選択された
ものと見なされる。従って、このピック矩形との間に重
なり部を有する形像は、選択されたカーソル位置との間
で相関付けされる。それゆえ、このピック矩形は、ユー
ザに対して、カーソルの位置付け操作における誤差の限
界大きさ(即ち余裕分)を、事実上定めているものであ
る。この誤差の余裕分は、小さな、或いは細い(例えば
1本の線から成る)形像を選択する際に、非常に有用な
ものである。ときには、ピック矩形の大きさをユーザが
実際に制御できるようにしておくこともあり、その場合
には、ピック矩形を1×1の大きさの矩形とすることも
実際に可能であるが、ただしそうしたときには、選択す
べき形像のピクセルの真上に、カーソルを位置させねば
ならなくなる。
【0021】続いて、アプリケーション・プログラム
は、ピック相関付け処理を実行する。そのためには、先
ず、みずからが維持している、表示している形像を表わ
しているテーブルの中の各エントリを調べて、ピック矩
形が、そのエントリに対応した形像の境界矩形との間に
交わり部(即ち、重なり部)を有するか否かを判定して
行く。2つの矩形が互いの間に重なり部を有するか否か
を判定するための処理は単純なものであり、当業者には
周知の処理である。続いて、ピック矩形との間に重なり
部を有する境界矩形を持っていることが判明した形像に
ついて、その形像の「描き直し」の処理を実行する。こ
の処理を実行するには、以前その形像を画面上に描出し
た際に使用したオペレーティング・システムのサブルー
チンと基本的に同一のサブルーチンをコールするが、た
だし、この描き直しの際には、(1)「画面」の大きさ
はピック矩形の大きさであるものとし、(2)ピクセル
1個に対応するビットは1個だけであるものとし、更
に、(3)実際の画面上に描出するのではなく、ピクセ
ル値をメモリの中のファイルに書き込むようにする、と
いう3つの要件を指定した上で、そのサブルーチンを実
行させるようにする。この描き直し処理は、極めて短時
間のうちに実行完了することができる。その理由は、上
記の要件(1)と要件(2)とによって、「画面」の実
効寸法が非常に小さなものとなっているからである。従
って、ある形像の部分のうち、ピック矩形(典型的な例
では、ピック矩形の幅寸法は、実際の画面全体の幅寸法
の約1%程度である)の外側に位置する部分は無視され
ることになり、また更に、ピクセル1個あたりのビット
数も低減されることになる。尚、以上の処理をある形像
に対して施す際には、その形像のいかなる部分をも、そ
の部分にシェーディングが施されていると否とにかかわ
らず、またその部分の色がどのように設定されているか
にもかかわらず、「1」というビット値で表わすように
している。
は、ピック相関付け処理を実行する。そのためには、先
ず、みずからが維持している、表示している形像を表わ
しているテーブルの中の各エントリを調べて、ピック矩
形が、そのエントリに対応した形像の境界矩形との間に
交わり部(即ち、重なり部)を有するか否かを判定して
行く。2つの矩形が互いの間に重なり部を有するか否か
を判定するための処理は単純なものであり、当業者には
周知の処理である。続いて、ピック矩形との間に重なり
部を有する境界矩形を持っていることが判明した形像に
ついて、その形像の「描き直し」の処理を実行する。こ
の処理を実行するには、以前その形像を画面上に描出し
た際に使用したオペレーティング・システムのサブルー
チンと基本的に同一のサブルーチンをコールするが、た
だし、この描き直しの際には、(1)「画面」の大きさ
はピック矩形の大きさであるものとし、(2)ピクセル
1個に対応するビットは1個だけであるものとし、更
に、(3)実際の画面上に描出するのではなく、ピクセ
ル値をメモリの中のファイルに書き込むようにする、と
いう3つの要件を指定した上で、そのサブルーチンを実
行させるようにする。この描き直し処理は、極めて短時
間のうちに実行完了することができる。その理由は、上
記の要件(1)と要件(2)とによって、「画面」の実
効寸法が非常に小さなものとなっているからである。従
って、ある形像の部分のうち、ピック矩形(典型的な例
では、ピック矩形の幅寸法は、実際の画面全体の幅寸法
の約1%程度である)の外側に位置する部分は無視され
ることになり、また更に、ピクセル1個あたりのビット
数も低減されることになる。尚、以上の処理をある形像
に対して施す際には、その形像のいかなる部分をも、そ
の部分にシェーディングが施されていると否とにかかわ
らず、またその部分の色がどのように設定されているか
にもかかわらず、「1」というビット値で表わすように
している。
【0022】ある1つの特定の形像をビットマップの中
へ描き込む処理が完了したならば、アプリケーション・
プログラムがオペレーティング・システムに対して、ビ
ット・マップの内容を返送するように求める要求を発す
る(これが可能であるのは、いうまでもなく、そのビッ
ト・マップが画面ではなくメモリに書き込まれているか
らである)。アプリケーション・プログラムは、続い
て、そのビット・マップを調べて、そのビットマップの
ビットのうちに、値が「0」でないビットが存在してい
るか否かを判定する。もしそのビット・マップの中に
「0」のビットしか存在していなかったならば、その特
定の形像それ自体は、ピック矩形中のいずれのピクセル
にも書き込まれなかったのであり、それゆえ、その特定
の形像は、選択されたカーソル位置に相関付けされてい
ない。即ち、この状況においては、選択されたカーソル
位置は、その特定の形像の境界矩形の中には位置してい
るものの、その特定の形像それ自体からは外れているの
である。この場合、アプリケーション・プログラムは、
そのまま、表示されている形像のうちの、次の形像の境
界矩形を調べる処理へ移行して構わない。
へ描き込む処理が完了したならば、アプリケーション・
プログラムがオペレーティング・システムに対して、ビ
ット・マップの内容を返送するように求める要求を発す
る(これが可能であるのは、いうまでもなく、そのビッ
ト・マップが画面ではなくメモリに書き込まれているか
らである)。アプリケーション・プログラムは、続い
て、そのビット・マップを調べて、そのビットマップの
ビットのうちに、値が「0」でないビットが存在してい
るか否かを判定する。もしそのビット・マップの中に
「0」のビットしか存在していなかったならば、その特
定の形像それ自体は、ピック矩形中のいずれのピクセル
にも書き込まれなかったのであり、それゆえ、その特定
の形像は、選択されたカーソル位置に相関付けされてい
ない。即ち、この状況においては、選択されたカーソル
位置は、その特定の形像の境界矩形の中には位置してい
るものの、その特定の形像それ自体からは外れているの
である。この場合、アプリケーション・プログラムは、
そのまま、表示されている形像のうちの、次の形像の境
界矩形を調べる処理へ移行して構わない。
【0023】一方、そのビットマップのビットのうち
に、値が「0」でないビットが(即ち「1」にセットさ
れているビットが)発見されたならば、このことは、そ
の特定の形像それ自体がビット・マップの中に書き込ま
れたことを表わしており、従って、その特定の形像それ
自体がピック矩形との間に重なり部を有することを表わ
している。従って、その特定の形像は、選択されたカー
ソル位置に対して相関付けすべき形像であるとして識別
される。この場合は、続いてビット・マップを「0」に
リセットする必要があり、リセットすることによって、
相関付けすべき形像がまだ他にも存在しているか否かを
調べるためのサーチを続行することができるようになる
(ただし、アプリケーション・プログラムが、最初に相
関付けされた形像だけしか必要としていない場合には、
更に他の形像を対象としたサーチを実行することはな
い)。また、選択されたカーソル位置に対して相関付け
すべき形像が2つ以上発見された場合に、続いていかな
る動作を実行すれば良いかは、アプリケーション・プロ
グラムが決めることであり、その場合に実行する動作と
して考えられるものには、例えば、それら複数の形像の
全てを許容して相関付けするという動作や、ユーザに対
して選択操作のやり直しを求めるという動作があるが、
おそらく最も一般的な動作は、実効面積をより小さくし
たピック矩形を使用して以上のプロセスを再実行するこ
とによって、それら複数の形像のうちで、実際のカーソ
ル位置に最も近接しているものを求め、その形像をもっ
て、相関付けすべき形像とするという動作であろう。
に、値が「0」でないビットが(即ち「1」にセットさ
れているビットが)発見されたならば、このことは、そ
の特定の形像それ自体がビット・マップの中に書き込ま
れたことを表わしており、従って、その特定の形像それ
自体がピック矩形との間に重なり部を有することを表わ
している。従って、その特定の形像は、選択されたカー
ソル位置に対して相関付けすべき形像であるとして識別
される。この場合は、続いてビット・マップを「0」に
リセットする必要があり、リセットすることによって、
相関付けすべき形像がまだ他にも存在しているか否かを
調べるためのサーチを続行することができるようになる
(ただし、アプリケーション・プログラムが、最初に相
関付けされた形像だけしか必要としていない場合には、
更に他の形像を対象としたサーチを実行することはな
い)。また、選択されたカーソル位置に対して相関付け
すべき形像が2つ以上発見された場合に、続いていかな
る動作を実行すれば良いかは、アプリケーション・プロ
グラムが決めることであり、その場合に実行する動作と
して考えられるものには、例えば、それら複数の形像の
全てを許容して相関付けするという動作や、ユーザに対
して選択操作のやり直しを求めるという動作があるが、
おそらく最も一般的な動作は、実効面積をより小さくし
たピック矩形を使用して以上のプロセスを再実行するこ
とによって、それら複数の形像のうちで、実際のカーソ
ル位置に最も近接しているものを求め、その形像をもっ
て、相関付けすべき形像とするという動作であろう。
【0024】以上のプロセスを図示したものが、図3の
フローチャートであり、また、以上のプロセスに対応し
たコードを示したものが、表1のリストである。更に、
表2に示したリストは、以上のプロセスにおいてコール
される「ウィンドウズ」のサブルーチンを列挙した上
で、それらサブルーチンの各々が如何なるものであるか
の簡単な説明を付記したものである。表1のコードにお
いて、その第1セクションと第2セクションとは、アプ
リケーション・プログラムの制御下にあるパラメータで
ある、ピック矩形の寸法と、「ヒット」(この「ヒッ
ト」とは、カーソル位置に相関付けされる形像のことで
ある)の許容最大個数とを、夫々に設定するためのセク
ションである。一般的には、これらパラメータの値とし
て、多くの相関付け処理において同一の値が使用される
ため、これらパラメータの値は、相関処理の開始以前に
予め設定しておくようにしている。
フローチャートであり、また、以上のプロセスに対応し
たコードを示したものが、表1のリストである。更に、
表2に示したリストは、以上のプロセスにおいてコール
される「ウィンドウズ」のサブルーチンを列挙した上
で、それらサブルーチンの各々が如何なるものであるか
の簡単な説明を付記したものである。表1のコードにお
いて、その第1セクションと第2セクションとは、アプ
リケーション・プログラムの制御下にあるパラメータで
ある、ピック矩形の寸法と、「ヒット」(この「ヒッ
ト」とは、カーソル位置に相関付けされる形像のことで
ある)の許容最大個数とを、夫々に設定するためのセク
ションである。一般的には、これらパラメータの値とし
て、多くの相関付け処理において同一の値が使用される
ため、これらパラメータの値は、相関処理の開始以前に
予め設定しておくようにしている。
【0025】図3に示すように、相関付け処理の固有プ
ログラムは、選択されたカーソル位置をオペレーティン
グ・システムから受け取ること(ステップ200)によ
って実行を開始する。選択されたカーソル位置を受け取
ったならば、先ず、ピック矩形を算出する(ステップ2
02)。これは容易に実行することができる。続いて、
そのピック矩形の大きさに対応した大きさのビットマッ
プを作成する(ステップ204)。このビットマップの
作成は、表1の第5セクション〜第9セクションで行な
われる。このようにビットマップの作成を相関付け処理
の開始時に実行し、これ以後、どの形像を処理する場合
にも、ビットマップが必要なら、ここで作成したビット
マップを使用することができるようにしている。尚、こ
のビットマップの作成に関しては、少々面倒な手順を取
っているが、それは、「ウィンドウズ」ではメモリを割
当てる際に、ワードを単位として、ワード何個分という
ように、メモリ割当て量を指定しなければならないから
である(尚、1ワードは2バイトである)。第5セクシ
ョンの「ビット幅("bitwidth")」の算出処理は、この
点を考慮に入れたものである(注:ただし、第5セクシ
ョンの "bitwidth"と "bitsize"とは、実際のバイト数
で表わしてある)。このため、ビットマップに割当てら
れるメモリ量が、ピック矩形の大きさに対応したメモリ
量よりも、幾らか大きなものとなることがある。
ログラムは、選択されたカーソル位置をオペレーティン
グ・システムから受け取ること(ステップ200)によ
って実行を開始する。選択されたカーソル位置を受け取
ったならば、先ず、ピック矩形を算出する(ステップ2
02)。これは容易に実行することができる。続いて、
そのピック矩形の大きさに対応した大きさのビットマッ
プを作成する(ステップ204)。このビットマップの
作成は、表1の第5セクション〜第9セクションで行な
われる。このようにビットマップの作成を相関付け処理
の開始時に実行し、これ以後、どの形像を処理する場合
にも、ビットマップが必要なら、ここで作成したビット
マップを使用することができるようにしている。尚、こ
のビットマップの作成に関しては、少々面倒な手順を取
っているが、それは、「ウィンドウズ」ではメモリを割
当てる際に、ワードを単位として、ワード何個分という
ように、メモリ割当て量を指定しなければならないから
である(尚、1ワードは2バイトである)。第5セクシ
ョンの「ビット幅("bitwidth")」の算出処理は、この
点を考慮に入れたものである(注:ただし、第5セクシ
ョンの "bitwidth"と "bitsize"とは、実際のバイト数
で表わしてある)。このため、ビットマップに割当てら
れるメモリ量が、ピック矩形の大きさに対応したメモリ
量よりも、幾らか大きなものとなることがある。
【0026】続いて、表1の第11セクションに示し
た"bound rect"アレイ中の、画面上に表示されている各
形像の境界矩形を調べて(ステップ206)、次いでそ
の境界矩形が、ピック矩形と間でオーバーラップする部
分があるか、すなわち重なり部を有するか否かを判定す
る(ステップ208)。この判定は、このアレイのボト
ム(最後尾)の境界矩形(この境界矩形は、画面上に最
新に描出された形像に対応した境界矩形である)から順
に実行して行く。その境界矩形が、ピック矩形との間で
重なり部を有するものであることが判明した場合には、
先ず、ビットマップに以前の形像が書き込まれたままで
あるといけないので、ビットマップをクリアして「0」
にし(ステップ210)、それに続いて"draw shape"機
能を使用して、その形像をビットマップの中へ描き込む
(ステップ212)。この"draw shape"機能は、その形
像のうち、ピック矩形の外側の部分をマスクして隠して
しまうため(第13セクション)、例えばオペレーティ
ング・システムのグラフィックス・エンジンが、本来は
ビットマップの外側の特徴までも処理してからでなけれ
ば、その形像の描き込みを実際に実行しないようなもの
であった場合には、この"draw shape"機能の使用によっ
て、相関付け処理が高速化されることになる。
た"bound rect"アレイ中の、画面上に表示されている各
形像の境界矩形を調べて(ステップ206)、次いでそ
の境界矩形が、ピック矩形と間でオーバーラップする部
分があるか、すなわち重なり部を有するか否かを判定す
る(ステップ208)。この判定は、このアレイのボト
ム(最後尾)の境界矩形(この境界矩形は、画面上に最
新に描出された形像に対応した境界矩形である)から順
に実行して行く。その境界矩形が、ピック矩形との間で
重なり部を有するものであることが判明した場合には、
先ず、ビットマップに以前の形像が書き込まれたままで
あるといけないので、ビットマップをクリアして「0」
にし(ステップ210)、それに続いて"draw shape"機
能を使用して、その形像をビットマップの中へ描き込む
(ステップ212)。この"draw shape"機能は、その形
像のうち、ピック矩形の外側の部分をマスクして隠して
しまうため(第13セクション)、例えばオペレーティ
ング・システムのグラフィックス・エンジンが、本来は
ビットマップの外側の特徴までも処理してからでなけれ
ば、その形像の描き込みを実際に実行しないようなもの
であった場合には、この"draw shape"機能の使用によっ
て、相関付け処理が高速化されることになる。
【0027】その形像をビットマップの中へ描き込む処
理が完了したならば、メモリのうちの、そのビットマッ
プを維持している部分の読取り及びチェックを(一度に
1バイトずつ)行なって、「0」の値から変化したビッ
トが存在しているか否かを調べる(ステップ214)。
既述の如く、ビットマップに割当てられているメモリ量
はピック矩形に対応したメモリ量より大きいことがある
が、"draw shape"機能によるマスキングの処理によっ
て、ピック矩形の外側の部分に対応するビットは全て
「0」になるようにしてある(これとは別の方法とし
て、表1の第15セクションに示したループ限界値を適
宜調節することによって、実際にピック矩形の内側の部
分に対応するビットだけがサーチの対象となるようにし
ても良い)。もし、「0」以外の値を持ったビットが発
見されたならば(第16セクション)、このことは、そ
の形像が、選択されたカーソル位置に対して相関付けす
べき形像である(即ち「ヒット」である)ということを
表わしている。それゆえ、この「ヒット」をセーブし
(ステップ216)、続いて、次の形像を対象とした処
理を行なうようにする(ステップ218)。表示されて
いる全ての形像について、以上の調べが完了したなら
ば、或いは、予め指定されていた許容最大個数のヒット
が得られたならば(第19セクション参照:ただし図3
には、許容最大個数のヒットが得られた場合については
図示省略してある)、この相関付け処理を終了する。許
容最大個数のヒットが得られたために相関付け処理を終
了することがあるのは、例えばアプリケーション・プロ
グラムが、選択された形像のうちの最初の形像(即ちト
ップの形像)しか必要としていない場合等であり、この
場合には、「MAXSEL」の値が「1」にセットされてい
る。こうして相関付け処理を終了したならば、ビットマ
ップを消去して、そのメモリ割当てを解放しても良く、
これ以後、アプリケーション・プログラムは、相関付け
された形像をどのように処理するかを決めることができ
る(第20セクション〜第23セクション)。
理が完了したならば、メモリのうちの、そのビットマッ
プを維持している部分の読取り及びチェックを(一度に
1バイトずつ)行なって、「0」の値から変化したビッ
トが存在しているか否かを調べる(ステップ214)。
既述の如く、ビットマップに割当てられているメモリ量
はピック矩形に対応したメモリ量より大きいことがある
が、"draw shape"機能によるマスキングの処理によっ
て、ピック矩形の外側の部分に対応するビットは全て
「0」になるようにしてある(これとは別の方法とし
て、表1の第15セクションに示したループ限界値を適
宜調節することによって、実際にピック矩形の内側の部
分に対応するビットだけがサーチの対象となるようにし
ても良い)。もし、「0」以外の値を持ったビットが発
見されたならば(第16セクション)、このことは、そ
の形像が、選択されたカーソル位置に対して相関付けす
べき形像である(即ち「ヒット」である)ということを
表わしている。それゆえ、この「ヒット」をセーブし
(ステップ216)、続いて、次の形像を対象とした処
理を行なうようにする(ステップ218)。表示されて
いる全ての形像について、以上の調べが完了したなら
ば、或いは、予め指定されていた許容最大個数のヒット
が得られたならば(第19セクション参照:ただし図3
には、許容最大個数のヒットが得られた場合については
図示省略してある)、この相関付け処理を終了する。許
容最大個数のヒットが得られたために相関付け処理を終
了することがあるのは、例えばアプリケーション・プロ
グラムが、選択された形像のうちの最初の形像(即ちト
ップの形像)しか必要としていない場合等であり、この
場合には、「MAXSEL」の値が「1」にセットされてい
る。こうして相関付け処理を終了したならば、ビットマ
ップを消去して、そのメモリ割当てを解放しても良く、
これ以後、アプリケーション・プログラムは、相関付け
された形像をどのように処理するかを決めることができ
る(第20セクション〜第23セクション)。
【0028】
【表1】 表 1 カーソル位置の相関付け処理のためのコード /* 1:ピック開口の大きさを設定する*/ pickapp.cx = ... pickapp.cy = ... /* 2:ヒットの許容最大個数を設定する*/ maxsel = ... /* 3:ウィンドウズのピクセルで表わした選択点の値を取り出す*/ select point.x = ... select point.y = ... /* 4:選択点の周囲に広がりを持つピック矩形の領域を設定する*/ pick rect.left = select point.x - pickapp.cx; pick rect.top = select point.y - pickapp.cy; pick rect.right = select point.x + pickapp.cx; pick rect.bottom = select point.y + pickapp.cy; /* 5:ビットマップ用にメモリを割当てる*/ bitwidth = (2 * pickapp.cx + 15) / 16 * 2; bitsize = 2 * pickapp.cy * bitwidth; hmem = GlobalAlloc(GMEM MOVEABLE | GMEM DISCARDABLE, (DWORD)bitsize); bits = GlobalLock(hmem); /* 6:ビットマップ用メモリのデバイス・コンテキストを生成する*/ hdcMemory = CreateCompatibleDC((HDC)NULL); /* 7:描き込みを行なうためのモノクロームのビットマップを生成する*/ hbitmap = CreateBitmap(2 * pickapp.cx, 2 * pickapp.cy, 1, 1, bits); holdbitmap = SelectObject(hdcMemory, hbitmap); /* 8:ビットマップへ描き込むオブジェクトを設定する*/ initial pen = SelectObject(hdcMemory, GetStockObject(WHITE Pen)); initial brush = SelectObject(hdcMemory, GetStockObject(WHITE BRUSH)); initial font = SelectObject(hdcMemory, GetStockObject(SYSTEM FONT)); /* 9:ビットマップ用のカラーを設定する*/ SetTextColor(hdcMemory, (COLORREF)0x00FFFFFF); SetBkColor(hdcMemory, (COLORREF)0x00FFFFFF); /* 10:ループして戻りつつ描き込む形像のリストを下方へ降りて行く*/ for (i = draw segments; i >= 0; i--) { /* 11:境界矩形のアレイがピック矩形との間に交わり部を有するか否か を調べる*/ If (IntersectRect(&dummy rect, &pick rect, bound rect[i])) { /* 12:ビットマップをクリアして「0」にする*/ PatBlt(hdcMemory, 0, 0, 2 * pickapp.cx, 2 * pickapp.cy, BLACKNES S); /* 13:ビットマップの中へ形像を描き込む*/ /*みずからの"draw shape"機能(形像描き込み機能)を用いる*/ draw shape(hdcMemory, &pick rect, shape[i]); /* 14:ビットマップ中のビットを取り出してアドレス指定可能なメ モリの中へ入れる*/ GetBitmapBits(hbitmap, (DWORD)bitsize, bits); /* 15:ビットマップの中のビットをチェックして「0」以外の値を 持ったビットが存在しているか否かを調べる*/ bit on = FALSE; for (ibit = 0; ibit < bitsize; ibit++) { if (bits[ibit] ! = (char)0) { bit on = TRUE; break; } } /* 16:オン状態のビットがあったか否かを判定する*/ if (bit on == TRUE) { /* 17:その形像の識別情報(ID)を、後の処理において使用 するためにセーブしておく*/ array[hits] = shape[i]; /* 18:ヒット用アレイのインデクスをインクリメントする*/ hits++; /* 19:ヒットの個数が、必要条件として定められている限界個 数に達したか否かを調べる*/ if (maxsel-- <= 0) break; } } } /* 20:以前に生成したGDIオブジェクトが残存していることがあるため、 その片付けを行なう*/ SelectObject(hdcMemory, initial pen); SelectObject(hdcMemory, initial brush); SelectObject(hdcMemory, initial font); /* 21:ビットマップ・スタッフの片付けを行なう*/ SelectObject(hdcMemory, holdbitmap); DeleteObject(hbitmap); GlobalUnlock(hmem); GlobalFree(hmem); /* 22:メモリのデバイス・コンテキストを抹消する*/ DeleteDC(hdcMemory); /* 23:結果を解析する*/ if (hits > 0) { ....
【0029】
【表2】 表 2 コールして使用する「ウィンドウズ」のサブルーチンのリスト GlobalAlloc() −グローバル・ヒープからメモリを割当てる GlobalLock() −メモリ・ブロックを指示するポインタを取り出す CreateCompatibleDC() −メモリのデバイス・コンテキストを生成する CreateBitmap() −メモリのビットマップを生成する SelectObject() −後続のGDI描出処理に用いるオブジェクトを選択 する SetTextColor() −テキスト・カラーを設定する SetBkColor() −バックグラウンド・カラーを設定する IntersectRect() −2つの矩形の間の交わり部を生成する PatBlt() −ビット・パターンを生成する GetBitmapBits() −ビットマップのビットをバッファ中へコピーする GlobalUnlock() −グローバル・メモリ・ブロックをアンロックする GlobalFree() −グローバル・メモリ・ブロックを解放する DeleteDC() −メモリのデバイス・コンテキストを抹消する
【0030】
【発明の効果】本発明は以上のように構成され、ユーザ
が表示画面上のいずれの形像を選択したかの判定をコン
ピュータ・システムで行うに際し、1回目のパスで境界
矩形を利用して高速で処理を実行し、2回目のパスで完
全な精度を得るよう処理しているので、正確でかつ高速
に判定することができ、従ってユーザの待ち時間が大幅
に短縮できる。
が表示画面上のいずれの形像を選択したかの判定をコン
ピュータ・システムで行うに際し、1回目のパスで境界
矩形を利用して高速で処理を実行し、2回目のパスで完
全な精度を得るよう処理しているので、正確でかつ高速
に判定することができ、従ってユーザの待ち時間が大幅
に短縮できる。
【図1】本発明を説明するためのコンピュータ・システ
ムの模式図である。
ムの模式図である。
【図2】アプリケーション・プログラムとオペレーティ
ング・システムとの間の相互作用を図示した模式図であ
る。
ング・システムとの間の相互作用を図示した模式図であ
る。
【図3】本発明に係る方法を図示したフローチャートで
ある。
ある。
10 コンピュータ・システム 12 画面 14 処理装置 16 キーボード 18 マウス 20 カーソル 30 アプリケーション・プログラム 32 オペレーティング・システム 40、42 形像 50、52 境界矩形 118 マウスのボタン
Claims (7)
- 【請求項1】 記憶手段と、形像及びカーソルを表示す
るための表示手段と、カーソルの移動及びカーソル位置
の選択を行なうためのユーザ入力手段とを含んでいるコ
ンピュータ・システムにおいて、カーソル位置と表示さ
れている形像とを相関付ける相関付け方法において、 (a)前記表示手段上に1つないし複数の形像を表示す
るステップと、 (b)表示されている各形像について、その形像に対応
した境界矩形を求めて、その形像とその境界矩形とを表
わす情報を記憶するステップと、 (c)ユーザが行なうカーソル位置の選択操作に応答し
て、その選択位置に対応した選択領域を求めるステップ
と、 (d)表示されている各形像について、その形像に対応
した境界矩形を調べて、その境界矩形が前記選択領域と
の間で重なり部を有するか否かを判定するステップと、 (e)前記記憶手段の中に、前記選択領域に対応したビ
ットマップを作成するステップと、 (f)前記選択領域との間で重なり部を有する境界矩形
の各々について、その境界矩形に対応した形像を、前記
ビットマップの中へ描き込むステップと、 (g)前記ビットマップを調べて、そのビットマップの
選択領域の中へ描き込まれた形像があるか否かを判定
し、それに該当する形像があったならば、その該当する
形像とユーザが選択したカーソル位置とを相関付けるス
テップとを含んでいることを特徴とする相関付け方法。 - 【請求項2】 前記ステップ(g)が、前記ビットマッ
プの中へ各形像を描き込み終わる度ごとに該ビットマッ
プの読取りを行なって、該ビットマップの中のビットの
うちに変化したビットがあるか否かを判定することから
成ることを特徴とする請求項1記載の相関付け方法。 - 【請求項3】 前記ステップ(e)において前記ビット
マップを作成する際に、ピクセル1個に1ビットを対応
させて作成することを特徴とする請求項2記載の相関付
け方法。 - 【請求項4】 前記ステップ(d)と、前記ステップ
(f)と、前記ステップ(g)とを、各形像ごとに、連
続して実行することを特徴とする請求項1〜3のいずれ
かに記載の相関付け方法。 - 【請求項5】 前記選択領域を、矩形形状の領域とする
ことを特徴とする請求項1〜4のいずれかに記載の相関
付け方法。 - 【請求項6】 前記ステップ(b)において、不規則な
形状の曲線の境界矩形を求める際には、その曲線を複数
の直線状の線分から成るものとして取扱うようにするこ
とを特徴とする請求項1〜5のいずれかに記載の相関付
け方法。 - 【請求項7】 記憶手段と、形像及びカーソルを表示す
るための表示手段と、カーソルを前記表示手段上で移動
させ且つカーソル位置の選択を行なうためのユーザ入力
手段と、選択されたカーソル位置と表示されている形像
とを相関付けるための相関付け手段とを含んでいるコン
ピュータ・システムにおいて、 前記相関付け手段が、 表示されている各形像について、その形像に対応した境
界矩形を求めるための手段と、 形像とその境界矩形とを表わす情報を記憶するための手
段と、 ユーザが行なうカーソル位置の選択操作に応答して、そ
の選択位置に対応した選択領域を求めるための手段と、 境界矩形を調べて、その境界矩形が前記選択領域との間
で重なり部を有するか否かを判定するための手段と、 前記記憶手段の中に前記選択領域に対応したビットマッ
プを作成するための手段と、 前記選択領域との間で重なり部を有する境界矩形の各々
について、その境界矩形に対応した形像を、前記ビット
マップの中へ描き込むための手段と、 前記ビットマップを調べて、そのビットマップの選択領
域の中へ描き込まれた形像があるか否かを判定し、それ
に該当する形像があったならば、その該当する形像とユ
ーザが選択したカーソル位置とを相関付けるための手段
とを備えた相関付け手段であることを特徴とするコンピ
ュータ・システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB9208610.7 | 1992-04-21 | ||
GB9208610A GB2266823A (en) | 1992-04-21 | 1992-04-21 | Correlation of cursor position in a computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0683923A true JPH0683923A (ja) | 1994-03-25 |
JP2596690B2 JP2596690B2 (ja) | 1997-04-02 |
Family
ID=10714308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5020065A Expired - Lifetime JP2596690B2 (ja) | 1992-04-21 | 1993-02-08 | カーソル位置と表示形像との相関付け方法及び相関付け手段を備えたコンピュータ・システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US5442736A (ja) |
EP (1) | EP0567220A3 (ja) |
JP (1) | JP2596690B2 (ja) |
GB (1) | GB2266823A (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5715416A (en) * | 1994-09-30 | 1998-02-03 | Baker; Michelle | User definable pictorial interface for a accessing information in an electronic file system |
CA2200706A1 (en) * | 1994-10-14 | 1996-04-25 | Ast Research, Inc. | A system and method for detecting screen hotspots |
EP0741352B1 (en) * | 1995-05-05 | 2001-12-19 | Intergraph Corporation | Intelligent selection of graphic objects keypoints and relationships |
US5930813A (en) * | 1995-12-21 | 1999-07-27 | Adobe Systems Incorporated | Method and system for designating objects |
US5754743A (en) * | 1996-04-10 | 1998-05-19 | Snap-On Technologies, Inc. | Apparatus and method for printing color screen displays on a monochrome printer |
JP3422897B2 (ja) * | 1996-05-17 | 2003-06-30 | 株式会社テクノクラフト | 文字列抽出システム及び文字列抽出方法 |
US5898422A (en) * | 1996-05-31 | 1999-04-27 | International Business Machines Corporation | Method and system for recognition of pointers |
US8928578B2 (en) * | 2009-04-29 | 2015-01-06 | Microsoft Corporation | Cursor adjustment in ambient light |
JP2013058981A (ja) * | 2011-09-09 | 2013-03-28 | Sony Corp | 画像処理装置及び方法、並びにプログラム |
US20140280109A1 (en) | 2013-03-14 | 2014-09-18 | Google Inc. | User-Guided Term Suggestions |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63249269A (ja) * | 1987-04-03 | 1988-10-17 | Fujitsu Ltd | 図形処理に於ける多角形領域のピツク方法 |
JPH0371271A (ja) * | 1989-08-10 | 1991-03-27 | Daikin Ind Ltd | ヒット検出方法およびその装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4941111A (en) * | 1986-04-18 | 1990-07-10 | Advanced Micro Devices, Inc. | Video picking and clipping method and apparatus |
US4731609A (en) * | 1986-11-03 | 1988-03-15 | International Business Machines Corporation | Fast correlation of markers with graphic entities |
US4788538A (en) * | 1986-11-17 | 1988-11-29 | Lotus Development Corporation | Method and apparatus for determining boundaries of graphic regions |
US4847605A (en) * | 1987-04-27 | 1989-07-11 | International Business Machines Corporation | Picking in a graphics system |
US5027291A (en) * | 1987-11-24 | 1991-06-25 | International Business Machines Corporation | Application exit for potentially pickable primitives in a graphics system |
US4982345A (en) * | 1989-01-23 | 1991-01-01 | International Business Machines Corporation | Interactive computer graphics display system processing method for identifying an operator selected displayed object |
JP2662305B2 (ja) * | 1990-04-19 | 1997-10-08 | 富士写真フイルム株式会社 | 図形選択方法 |
US5101436A (en) * | 1990-05-11 | 1992-03-31 | Optigraphics Corporation | Hybrid image editor |
JPH06309425A (ja) * | 1990-10-12 | 1994-11-04 | Internatl Business Mach Corp <Ibm> | グラフィックディスプレイ装置及び方法 |
-
1992
- 1992-04-21 GB GB9208610A patent/GB2266823A/en not_active Withdrawn
-
1993
- 1993-02-08 JP JP5020065A patent/JP2596690B2/ja not_active Expired - Lifetime
- 1993-03-16 EP EP93301989A patent/EP0567220A3/en not_active Withdrawn
- 1993-04-21 US US08/050,940 patent/US5442736A/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63249269A (ja) * | 1987-04-03 | 1988-10-17 | Fujitsu Ltd | 図形処理に於ける多角形領域のピツク方法 |
JPH0371271A (ja) * | 1989-08-10 | 1991-03-27 | Daikin Ind Ltd | ヒット検出方法およびその装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2596690B2 (ja) | 1997-04-02 |
GB2266823A (en) | 1993-11-10 |
EP0567220A2 (en) | 1993-10-27 |
GB9208610D0 (en) | 1992-06-03 |
US5442736A (en) | 1995-08-15 |
EP0567220A3 (en) | 1995-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100197037B1 (ko) | 정보 처리 장치 및 정보 처리 방법 | |
JP4132129B2 (ja) | スタイラス入力を容易にする方法及びシステム | |
EP0703563A2 (en) | Method and apparatus for displaying overlapping graphical objects on a computer monitor | |
US5648795A (en) | Method of resetting a computer video display mode | |
US4945504A (en) | Instruction input system for electronic processor | |
US5237653A (en) | Multiwindow control method and apparatus for work station having multiwindow function | |
US7036077B2 (en) | Method for gestural interpretation in a system for selecting and arranging visible material in document images | |
JP3471919B2 (ja) | 機械作動方法及びプロセッサ制御機械を作動するために使用する方法 | |
US20040061723A1 (en) | Method of implementing a plurality of system tray areas | |
US6377272B1 (en) | Method and apparatus for dynamically changing the color depth of objects displayed in a computer system | |
JP2596690B2 (ja) | カーソル位置と表示形像との相関付け方法及び相関付け手段を備えたコンピュータ・システム | |
US6567552B2 (en) | Image processing method and apparatus | |
US5437005A (en) | Graphical method of processing multiple data blocks | |
JPH06131109A (ja) | 情報処理装置 | |
JP2723109B2 (ja) | 画像処理方法 | |
JP3198754B2 (ja) | Cadシステム用図形指示受取装置 | |
JPH05189139A (ja) | コマンド入力方法および情報処理装置 | |
KR100382107B1 (ko) | 고성능 3 차원 그래픽 가속기를 위한 일관성 버퍼의 방법및 장치 | |
CA2068016A1 (en) | Method and apparatus for processing concurrent pick events | |
JPH07219939A (ja) | 文書処理装置及び方法 | |
JPH0954672A (ja) | データ処理装置及びスクロール方法 | |
JPH0816800A (ja) | 情報処理装置 | |
JPH02308375A (ja) | 図形ピッキング方法およびその装置 | |
JPH08147407A (ja) | 文字認識方法及びその装置 | |
JPH0621973B2 (ja) | 情報処理装置における処理選択方式 |