JP3417451B2 - ウィンドウの機能強化型ロケータ・ヒット・テストを行う方法およびデータ処理システム - Google Patents

ウィンドウの機能強化型ロケータ・ヒット・テストを行う方法およびデータ処理システム

Info

Publication number
JP3417451B2
JP3417451B2 JP02869997A JP2869997A JP3417451B2 JP 3417451 B2 JP3417451 B2 JP 3417451B2 JP 02869997 A JP02869997 A JP 02869997A JP 2869997 A JP2869997 A JP 2869997A JP 3417451 B2 JP3417451 B2 JP 3417451B2
Authority
JP
Japan
Prior art keywords
window
pel
vector
hit test
environment
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.)
Expired - Fee Related
Application number
JP02869997A
Other languages
English (en)
Other versions
JPH09269884A (ja
Inventor
マイケル・ダブリュー・ブラウン
ケルビン・ロデリック・ローレンス
マーク・エイ・セホーン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH09269884A publication Critical patent/JPH09269884A/ja
Application granted granted Critical
Publication of JP3417451B2 publication Critical patent/JP3417451B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction 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/04842Selection of displayed objects or displayed text elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Digital Computer Display Output (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Generation (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般にはデータ処
理システムのグラフィカル・ユーザ・インタフェースに
おける方法およびシステムに関し、具体的には、データ
処理システムのグラフィカル・ユーザ・インタフェース
において変則形状ウィンドウのグローバル・ヒット・テ
スト・データ構造を生成する方法およびシステムに係わ
る。さらに具体的には、本発明は、データ処理システム
のグラフィカル・ユーザ・インタフェースにおいて変則
形状ウィンドウの走査線圧縮を使用してグローバル・ヒ
ット・テスト・データ構造を生成し、変則形状ウィンド
ウの機能強化型ロケータ・ヒット・テストと領域クリッ
ピングを行う方法およびシステムに係わる。
【0002】
【従来の技術】パーソナル・コンピュータのユーザ・イ
ンタフェースは、ユーザがコンピュータとコミュニケー
トする方法を規定する。このコミュニケーション・リン
クは、アプリケーションの使用方法とタスクの切り換え
方と選択方法とを規定する。多くの最新のコンピュータ
は、このユーザとのコミュニケーション・リンクを実現
するためにグラフィカル・ユーザ・インタフェース(G
UI)を備える。グラフィカル・ユーザ・インタフェー
スは、画面上でユーザが絵による表現を指し示すことに
よってコマンドの選択、プログラムの起動、ファイルお
よびその他のオプションのリストの表示、およびメニュ
ー項目の表示を行うことができるようにする表示形式の
一種である。選択項目は一般にキーボードまたはマウス
を使用して起動することができる。小さな画像(アイコ
ン)で表現された表示画面上のオブジェクトをマウスを
使用して指し示すことによって、ユーザは複雑なコマン
ドを知らなくてもコンピュータを制御することができ
る。マウス制御グラフィカル・ユーザ・インタフェース
によって、ユーザはプログラムとデータを表すアイコン
を指示し、それらのアイコンをウィンドウ・フレーム内
にグループ化することができる。
【0003】ウィンドウ環境とは、ウィンドウと呼ばれ
る特別に輪郭をとった画面領域をユーザに提示するオペ
レーティング・システムまたはシェルである。各ウィン
ドウは、仮想表示装置であるかのように独立して動作す
ることができる。ウィンドウ環境では一般に、ウィンド
ウをサイズ変更したり表示画面上を移動させたりするこ
とができる。マッキントッシュ・ファインダー、MSウ
ィンドウズ、およびOS/2プレゼンテーション・マネ
ージャーはすべてウィンドウ環境の例である。ウィンド
ウ方式のプログラムでは、画面をいくつかのウィンドウ
に分割することができ、それぞれがそれ自体の境界を有
し、異なる文書を入れることができる。各ウィンドウに
は、それ独自のメニューまたはその他のコントロールを
入れることもでき、ユーザは個々のウィンドウを随意に
拡大および縮小することができる。プログラムによって
は、画面上にウィンドウが横に並べて開かれるものや、
開いたウィンドウを互いに重ね合わせることができるも
のがある。
【0004】ウィンドウ環境の生成と制御を行うウィン
ドウ・サブシステムは、従来、ウィンドウを矩形として
記憶し、表示している。現行ウィンドウ内の特定のウィ
ンドウの位置は、画面上の始点とウィンドウ矩形のサイ
ズとによって規定される。したがって、どの周知のウィ
ンドウ・サブシステムでもウィンドウは矩形として定義
しなければならない。
【0005】ユーザが一般に「デスクトップ」と呼ばれ
ている表示画面を横切ってロケータまたはポインタを移
動させると、1つのウィンドウから次のウィンドウに移
動する。大部分のコンピュータでは、オペレーティング
・システムが、現在ポインタがどのウィンドウの上にあ
るかを判断するロケータ・ヒット・テスト機構を備え
る。このロケータ・ヒット・テストは絶え間なく行われ
る。ロケータ・ヒット・テストによって示されるように
ウィンドウがヒットを獲得すると、ウィンドウ・システ
ムはウィンドウにロケータまたはマウス事象信号を送っ
て、マウスが現在そのウィンドウ上を指していることを
示す。すると、示されたウィンドウを所有するアプリケ
ーションがユーザにフィードバックを提供する機会を持
つ。このようなフィードバックの例は、グラフィックス
・アプリケーションがポインタをクロスヘア(cross ha
ir)として示し、エディタがそれをテキスト・ポインタ
に変え、さらにユーザが現在の場所をクリックすると何
が起こるかを他のアプリケーションが説明するテキスト
のブロックを表示する場合である。ユーザがウィンドウ
の特定の領域をクリックすると、そのマウス事象も現在
マウスによってヒットされているウィンドウに送られ
て、ウィンドウを所有しているアプリケーションは要求
された機能を実行することができる。
【0006】複数のウィンドウを重ね合わせることがで
きるため、ウィンドウ・サブシステムは、各表示ウィン
ドウの相対的「z位置」を示す深度リストを、ウィンド
ウz配列と呼ばれる配列で生成する。深度リストは、ウ
ィンドウに三次元を提供して、どのウィンドウを他のウ
ィンドウの上下に表示するかを示すことによって表示ウ
ィンドウの重ね合わせとクリッピングを可能にする。他
のウィンドウの一番上にあるアプリケーションまたはウ
ィンドウは、その下にあるウィンドウの一部または全部
を被う(クリップする)ため、ロケータ・ヒット・テス
トはきわめて複雑化する。現在、表示画面の特定の領域
に複数のウィンドウを入れることができるため、ヒット
・テスト・コードは深度リストのトップ・ダウンz配列
探索を行って、当該領域にヒットがある最初のウィンド
ウを見つけなければならない。デスクトップが多くのウ
ィンドウで被われている場合、この遅い線形の探索によ
ってロケータ・ヒット・テストの実行に要する時間が増
大する。
【0007】アプリケーションがそれ自体のウィンドウ
に描画するとき、非常によく似た問題が起こる。図形を
その上に重なるウィンドウによってクリップしなければ
ならない。オペレーティング・システムのグラフィック
・サブシステムは、クリッピング領域リストを使用して
このタスクを行う。このクリッピング領域リストによっ
て、重なり合ったウィンドウを収容するためにクリップ
しなければならない各表示ウィンドウ内の矩形領域が規
定される。
【0008】場合によっては、変則形状ウィンドウを表
示することができることもあるが、それらのウィンドウ
もやはり表示画面上の矩形形状内で定義しなければなら
ない。変則形状ウィンドウは、現行表示画面のこの矩形
領域を「所有」することになる。したがって、上に変則
形状ウィンドウが重なったウィンドウが、変則形状ウィ
ンドウによって所有されている矩形領域内部にあるが、
実際には変則形状ウィンドウ上にはない地点で指し示さ
れた場合に問題が生じる。ロケータ・ヒット・テスト
は、変則形状ウィンドウを矩形領域によって規定するた
め、下にある意図されたウィンドウではなく変則形状ウ
ィンドウがヒットを受け取ることになる。
【0009】したがって、デスクトップとアプリケーシ
ョンの表示の仕方の発展的性質によって、ヒット・テス
トと領域クリッピングを正しく正確に行えるようにする
従来の技法を使用した変則形状ウィンドウの実施は膨大
なプロセッサ時間を生じさせることになる。
【0010】
【発明が解決しようとする課題】本願発明の目的は、変
則形状ウィンドウの高速ヒット・テストおよび領域クリ
ッピングを備えるウィンドウ環境を提供することであ
る。このウィンドウ環境は、多数のクリッピング矩形に
付随するパフォーマンスを低下させるオーバーヘッドな
しに、または変則形状ウィンドウを所有するアプリケー
ション自体がクリッピング領域を解決するように強制す
ることによって、変則形状ウィンドウのヒット・テスト
とウィンドウ・クリッピングを行う方法およびシステム
を提供する。
【0011】
【課題を解決するための手段】本発明によると、データ
処理システムのウィンドウ環境においてウィンドウの機
能強化型ロケータ・ヒット・テストを行う方法および
ィンドウの機能強化型領域クリッピングの方法および
れらのシステムが提供される。ヒット・テストおよび領
域クリッピングのために、データ処理システムにおける
ウィンドウ環境の表示装置の複数の走査線を表す複数の
圧縮走査線データ・セットを有するグローバル・ヒット
・テスト・データ構造を生成する。複数の圧縮走査線デ
ータ・セットのそれぞれの圧縮走査線データ・セット
が、1つまたは複数のベクトルと、表示装置の関連する
走査線内の1つまたは複数のスパンのウィンドウ所有権
を記述する各ベクトルに関連するウィンドウ識別子とを
含み、一つのベクトル関連する走査線のスパンを識別
し、そして各ウィンドウ識別子それに関連するベクト
ルによって識別されるスパンを所有するウィンドウを識
別し、スパンは走査線の1つまたは複数のペルである。
ウィンドウの機能強化型ロケータ・ヒット・テストは、
選択されたペルのウィンドウ所有権を定義するグローバ
ル・ヒット・テスト・データ構造内の圧縮走査線データ
・セットにアクセスし、選択されたペルを含むアクセス
した圧縮走査線データ・セットのベクトルを判断し、判
されたベクトルに関連するウィンドウ識別子を検索す
ることによって表示装置の選択されたペルを所有するウ
ィンドウを識別する。検索されたウィンドウ識別子は機
能強化型ロケータ・ヒット・テストの結果である。ウィ
ンドウの機能強化型領域クリッピングは、各ペルが表示
装置内のペルに対応する複数のペルを有するビットマッ
プ・イメージを生成し、ビットマップ・イメージの各ペ
ルについて、それに対応するペルを含むベクトルを有す
る走査線データ・セットにアクセスし、対応するペルを
含むそのベクトルに関連するウィンドウ識別子が選択さ
れたウィンドウ識別子であるかどうかを判断することに
よって、領域クリッピングを行う。次に、ウィンドウ識
別子が選択されたウィンドウ識別子ではないと判断され
ところのビットマップ・イメージの各ペルのビットマ
ップ・イメージのペルに表示装置の各対応するペルを設
定することによって、領域クリッピングが完了する。
【0012】上記および本発明のその他の目的、特徴、
および利点は、以下の詳細な説明で明らかになろう。
【0013】本発明の特性と考えられる新規な特徴は、
特許請求の範囲に記載されている。しかし、本発明と、
本発明の好ましい使用態様、その他の目的、および利点
は、添付図面を参照しながら以下の実施例の詳細な説明
を読めば最もよくわかるであろう。
【0014】
【発明の実施の形態】図を参照すると、特に図1を参照
すると、本発明を実施するために使用することができる
データ処理システムの好ましい実施態様が図示されてい
る。図のように、データ処理システム10は、システム
装置12、表示装置14、キーボード16、マウス1
8、およびプリンタ20を含む。当業界で周知のよう
に、システム装置12はキーボード16、マウス18、
またはネットワーク/通信インタフェース(図示せず)
などの入力装置からデータを受け取る。グラフィカル・
ユーザ・インタフェース(GUI)と組み合わせて、マ
ウス18を使用することが好ましく、その場合、データ
処理システム構成要素およびアプリケーション・プログ
ラムなどのシステム・オブジェクトを表示装置14内に
表示されている関連するグラフィカル・オブジェクトを
マウス18で選択し、移動させることによって操作する
ことができる。データの記憶と検索をサポートするため
に、システム装置12は、ディスケット・ドライブ22
とハードディスク・ドライブ23と、CD−ROMドラ
イブ24をさらに含み、それらはすべてシステム装置1
2に周知の方法で接続される。当業者なら、システム装
置12には他の従来の構成要素も接続してそれらと相互
作用することができることがわかっている。
【0015】次に図2を参照すると、データ処理システ
ム10内のシステム装置12の主要構成要素のブロック
図が図示されている。図のように、システム装置12は
ソフトウェア命令を実行する中央演算処理装置(CP
U)26を備える。CPU26には任意の適切なマイク
ロプロセッサを使用することができるが、CPU26は
IBMマイクロエレクトロニクスから入手可能なPow
erPC(商標)マイクロプロセッサ群のうちの1つで
あることが好ましい。あるいは、CPU26はいくつか
のベンダから入手可能な8OX86マイクロプロセッサ
群のうちの1つとして実施することもできる。
【0016】CPU26に加えて、任意選択の数値演算
コプロセッサ27、キャッシュ制御装置28、およびキ
ャッシュ・メモリ30が高速CPUローカル・バス25
に結合されている。数値演算コプロセッサ27はCPU
26とは別個の任意選択のプロセッサであり、数値演算
をCPU26より高い効率で行うことができる。キャッ
シュ・メモリ30は、頻繁にアクセスされるデータと命
令を記憶する小型高速メモリを含む。キャッシュ30の
動作はキャッシュ制御装置28によって制御され、キャ
ッシュ制御装置28はキャッシュ30の内容の登録簿を
維持し、選択されたキャッシュ・コヒーレンス・プロト
コルを実施する。
【0017】CPUローカル・バス25はバッファ32
に結合されて、CPUローカル・バス25とシステム・
バス34との間の通信が実現される。システム・バス3
4はバッファ32ともう1つのバッファ36との間に延
びている。システム・バス34は、バス制御およびタイ
ミング・ユニット38と、中央アービタ48およびDM
A制御装置41から成るダイレクト・メモリ・アクセス
(DMA)ユニット40とに接続されている。DMA制
御装置41はCPU26に関与しないメモリ・アクセス
をサポートする。ダイレクト・メモリ・アクセスは一般
に、RAM58と、ディスク・アダプタ82などの「イ
ンテリジェント」周辺装置との間でデータを直接転送す
るために使用される。複数の周辺装置からのDMA要求
は中央アービタ48によって調停される。後述するよう
に、中央アービタ48は、調停制御バス42を介して伝
送される制御信号によって、マイクロ・チャネル・バス
44に結合されている装置へのアクセスも調整する。
【0018】CPU26は、メモリ制御装置50を介し
て揮発性ランダム・アクセス・メモリ(RAM)58内
のデータと命令にアクセスし、そこにデータを格納す
る。メモリ制御装置50は、メモリ制御ユニット52、
アドレス・マルチプレクサ54、およびデータ・バッフ
ァ56を含む。メモリ制御ユニット52は、データの格
納と取出しを促す読込みイネーブル信号と書込みイネー
ブル信号を発生し、CPU26が使用する仮想アドレス
をRAM58内の物理アドレスにマップするアドレス変
換機能を備える。当業者ならわかるように、RAM58
はデータ処理システム10に電力が供給されている間オ
ペレーティング・システムとアプリケーション・ソフト
ウェアのセグメントを保持するいくつかの個別の揮発性
メモリ・モジュールを含む。ソフトウェア・セグメント
は1つまたは複数の仮想記憶ページに区分化され、それ
ぞれのページが一律の数の仮想記憶アドレスを含む。ソ
フトウェアの実行に、RAM58内に記憶することがで
きる仮想記憶のページより多くのページが必要な場合
は、現在必要でないページが、ディスク・アダプタ82
によって制御されるハードディスク・ドライブ23など
の二次記憶装置に記憶されている必要なページとスワッ
プされる。
【0019】メモリ制御装置50は、RAM58内の特
定のアドレスを選択するアドレス・マルチプレクサ54
と、RAM58との間で読取りと書込みを行うデータを
バッファリングするデータ・バッファ56とをさらに含
む。メモリ制御装置50は、各プロセスに割り振られた
仮想アドレス空間内でシステム・プロセスとユーザ・プ
ロセスを分離するメモリ保護も行う。したがって、ユー
ザ・モードで実行されているプログラムはそのプログラ
ムの仮想アドレス空間に割り当てられたメモリにのみア
クセスすることができる。プロセス間のメモリ共有がサ
ポートされておりプログラムが適切なアクセス特権を持
っていない限り、ユーザ・モード・プログラムは他のプ
ロセスの仮想アドレス空間内のメモリにアクセスするこ
とができない。
【0020】図2を続けて参照すると、バッファ36は
システム・バス34と、マイクロ・チャネル・バス44
などの任意選択機能バスとの間のインタフェースをと
る。マイクロ・チャネル・バス44には、マイクロ・チ
ャネル・アダプタ・カードを収容するいくつかの入出力
スロット46が接続されており、マイクロ・チャネル・
アダプタ・カードはさらに入出力装置またはメモリに接
続することができる。調停制御バス42によってDMA
制御装置41および中央アービタ48入出力スロット4
6およびディスク・アダプタ82に結合されている。マ
イクロ・チャネル・アーキテクチャ・バス調停プロトコ
ルを実施することによって、中央アービタ48は、拡張
カード、制御装置、およびCPU26によるマイクロ・
チャネル・バス44へのアクセスを調整する。さらに、
中央アービタ44はマイクロ・チャネル・バス44に結
合されているバス・マスタ間でのマイクロ・チャネル・
バス44の所有権も調停する。バス・マスタのサポート
によって、プロセッサとそのサポート・チップを含むバ
ス・マスタ・アダプタを付加することにより、マイクロ
・チャネル・バス44のマルチプロセッサ構成を構築す
ることができる。
【0021】システム・バス34は、バッファ66を介
してプレーナ入出力バス68に結合されている。プレー
ナ入出力バス68には、ディスプレイ・アダプタ70、
ディスク・アダプタ82、不揮発性RAM74、クロッ
ク72、シリアル・アダプタ78、タイマ80、読取り
専用メモリ(ROM)86、CD−ROMアダプタ8
8、ネットワーク・アダプタ85、キーボード/マウス
制御装置84、モデム87、およびパラレル・アダプタ
76など、様々な入出力アダプタおよびその他の周辺構
成要素が接続される。ディスプレイ・アダプタ70は、
CPU26から受け取ったグラフィックス・データを、
表示装置14を駆動するために使用するRGBビデオ信
号に変換する。稼働しているオペレーティング・システ
ムおよびアプリケーション・ソフトウェアに応じて、ビ
ジュアル出力にはテキスト、グラフィックス、動画、お
よびマルチメディア・ビデオなどが含まれる。ディスク
・アダプタ82は、ハードディスク・ドライブ23およ
びディスケット・ドライブ22との間のデータの格納と
取出しを制御する。ディスク・アダプタ82は、読み書
きヘッドの配置やドライブとCPU26の間の仲介など
のタスクを扱う。不揮発性RAM74は、データ処理シ
ステム10の現在の構成を記述するシステム構成を記憶
する。たとえば、不揮発性RAM74には、ハードディ
スク・ドライブ23またはディスケット・ドライブ22
内に収容されているディスケットの容量、表示装置14
のタイプ、空きRAM58の量、および現在のシステム
構成を記述する情報が入れられる。データ処理システム
10から電源を切ったとき、これらのデータは不揮発性
RAMに記憶されている。
【0022】クロック72は、CPU26によって実行
されるアプリケーション・プログラムが日時計算に使用
する。シリアル・アダプタは76は、シリアル・ポート
(図示せず)を介して外部装置との同期または非同期シ
リアル・インタフェースを提供し、それによってデータ
処理システム10がシリアル通信装置との間で情報の伝
送を行うことができるようにする。タイマ80は、デー
タ処理システム10内のいくつかの事象の時間を測るた
めに使用する複数のインターバル・タイマを含む。前述
のように、タイマ80は、ある種のアプリケーション・
プログラム、特にシングルスレッド型オペレーティング
・システム環境用に作成されたゲームによって直接制御
される装置の1つである。
【0023】ROM86には一般に、CPU26がDO
Sオペレーティング・システム上で動作しているときに
ユーザにとって透過な入出力操作を行う基本入出力シス
テム(BIOS)が格納される。BIOSには、電源投
入時にシステム・セットアップを行う電源投入自己検査
(POST)診断ルーチンが含まれる。たとえば、PO
STは、ハードウェアへの問い合わせ、BIOSデータ
領域(BDA)の割振り、ROM86内の割込み処理ル
ーチンを指す割込みベクトル・テーブルの構築、タイマ
80、クロック72、およびシステム装置12内のその
他の装置の初期設定を行う。
【0024】パラレル・アダプタ76は、システム装置
12がパラレル・ポートを介してプリンタ20などの外
部装置にデータを並列で出力することができるようにす
る。キーボード/マウス制御装置84は、システム装置
12とキーボード16およびマウス18などのポインテ
ィング・デバイスとの間のインタフェースをとる。この
ようなポインティング・デバイスは一般に、ユーザがマ
ウス・ボタンを押すとポインタの位置が指定されるグラ
フィカル・ポインタなどの画面上要素を制御するために
使用される。その他のポインティング・デバイスとして
は、グラフィックス・タブレット、スタイラス、ライト
ペン、ジョイスティック、パック、トラックボール、ト
ラックパッド、およびIBMが「TrackPoi
t」という商標で販売しているポインティング・デバイ
スなどがある。
【0025】最後に、システム装置12は、データ処理
システム10と、コンピュータ・ネットワークを含む他
のデータ処理システムとの間の通信を容易にするネット
ワーク・アダプタ85とモデム87を備える。ネットワ
ーク・アダプタ85は、データ処理システム10を、ネ
ットワーク・ポートに接続されたローカル・エリア・ネ
ットワーク(LAN)などのコンピュータ・ネットワー
クに接続するために使用される。コンピュータ・ネット
ワークは、ネットワーク接続を介してデータの電子伝送
をサポートする。ネットワークは分散処理もサポート
し、それによってデータ処理システム10はネットワー
クにリンクされている他のデータ処理システムとタスク
を共用することができる。モデム87は、通信回線を介
して伝達されるアナログ・データとディジタル形式との
間で変復と復調を行う。たとえば、モデムを使用してデ
ータ処理システム10を、プロディジー・サービス・コ
ーポレイションが「PRODIGY」というサービス・
マークで提供する情報サービスなどのオンライン情報サ
ービスに接続することができる。このようなオンライン
・サービス提供者は、モデムを介してデータ処理システ
ム10にダウンロードすることができるソフトウェアお
よびデータを提供する。さらに、モデム87を介した電
話通信によって、サーバ、電子掲示板およびインターネ
ットまたは「ワールド・ワイド・ウェッブ」など他のソ
フトウェア供給源への接続が提供される。
【0026】以下で詳述するように、本発明の態様はコ
ンピュータ・システム上で実施可能な特定の方法または
機能に関する。本発明のこれらの態様は、コンピュータ
・システムと共に使用するコンピュータ・プログラム製
品として実施することができる。当業者なら、本発明の
機能を定義するコンピュータ・プログラムは、(a)書
込み不能記憶媒体(たとえばCD−ROMドライブ24
などのコンピュータ入出力接続装置による読取りが可能
なROM86またはCD−ROMディスク読取り専用装
置など)に永続的に記憶された情報、(b)書込み可能
記憶媒体(たとえばディスケット・ドライブ22内のフ
ロッピィ・ディスクまたはハード・ディスク・ドライブ
23など)にすでに記憶済みの情報、(c)ネットワー
ク・アダプタ85に接続されたコンピュータ・ネットワ
ークまたはモデム87に接続された通信回線など、通信
媒体を介してコンピュータに伝達される情報など、多く
の形態でコンピュータに渡すことができることが容易に
わかるであろう。したがって、そのような媒体は、本発
明の方法機能を指示するコンピュータ可読命令を伝達す
る場合、本発明の代替実施態様を表すものと理解された
い。
【0027】次に図3を参照すると、データ処理システ
ムのオペレーティング・システムが使用する標準GUI
が図示されている。表示装置14内でユーザに対して表
示される背景デスクトップ100には、複数のユーザ選
択可能アイコン102〜116が含まれている。各アイ
コン102〜116は、ユーザがマウス18の左ボタン
をダブルクリックすることによってグラフィカル・ポイ
ンタ101を使用して便利に選択することができるアプ
リケーション、機能、またはファイル記憶領域を表す。
ユーザがアイコン102〜116の1つを選択すると、
選択されたアイコンに対応する機能が起動され、選択さ
れたアイコンが強調表示される。アイコン102〜11
6の多くは、アイコンが選択されると表示される付随す
るウィンドウまたは一連のウィンドウを有する。たとえ
ば、図3の画面のように、「ウィンドウズ・プログラ
ム」アイコン114が選択されると、ユーザに対してウ
ィンドウ118が表示され、さらに選択可能な選択項目
(すなわちアイコン121〜130)が提示される。
【0028】次に図4を参照すると、本発明のこの好ま
しい実施態様によるデータ処理システムのウィンドウ環
境における変則形状ウィンドウを表示するデスクトップ
150が図示されている。デスクトップ・ウィンドウ
(dsk)150には、標準ウィンドウ(sw)155
と、2つの変則形状ウィンドウであるクロック(cl
k)160およびオブジェクト(obj)165が入っ
ている。
【0029】図4の画面のように、デスクトップ150
は、複数の走査線データ・セットによってグラフィック
ス・メモリ内で表現される複数の走査線によって表示装
上に生成される。この例では、デスクトップ150は
1000本の走査線を有し、図4にはそのうちの3本が
sl0、sl500、sl900として図示されてい
る。本発明によると、オペレーティング・システムはメ
モリ内でウィンドウ環境の現行表示装置(この場合はデ
スクトップ150)上の走査線を表す複数の圧縮走査線
データ・セットを有するグローバル・ヒット・テスト・
データ構造を生成する。データ構造の各圧縮走査線デー
タ・セットは、現行表示装置の関連する走査線内の1つ
または複数のスパンのウィンドウ所有権を記述する1つ
または複数のベクトルと各ベクトルに関連するウィンド
ウ識別子とを含む。ベクトルは、関連する走査線のスパ
ンを識別し、各ウィンドウ識別子はそれに関連するベク
トルによって識別されるスパンを所有するウィンドウ環
境内のウィンドウを識別する。当業者ならわかるよう
に、スパンはグラフィカル・イメージ内の典型的には水
平方向の表示画素の長さである。さらに、本明細書で
は、スパンとは走査線の1つまたは複数の「ペル」であ
り、ペルとはグラフィカル・ポインティング・デバイス
による選択のための分解可能な最小数の画素である。
【0030】図4に図示されている現行画面のグローバ
ル・ヒット・テスト・データ構造は、各走査線に1つず
つの多数の圧縮走査線データ・セットを含む。現行表示
画面のグローバル・ヒット・テスト・データ構造の3つ
の圧縮走査線データ・セットの例は以下のようになる。 sl0=(0...639,dsk)。 sl500=(0,119,dsk)、(120,12
7,obj)、(128,146,dsk)、(14
7,154,obj)、(155,380,sw)、
(381,639,dsk)。 sl900=(0,124,dsk)、(125,16
5,clk)、(166,380,sw)、(381,
639,dsk)。
【0031】各圧縮走査線データ・セットは、少なくと
も1つのベクトルと各ベクトルに関連するウィンドウ識
別子とを含む。たとえば、sl0は、ペル0からペル6
39までの走査線全体の両端間を指すベクトル<0,6
39>による単一のスパンを記述し、定義されたベクト
ル内のすべてのペルをデスクトップ・ウィンドウ150
によって所有されているものとして識別するウィンドウ
識別子(この場合は「dsk」)とを記述している。
【0032】走査線sl500の圧縮走査線データ・セ
ットは、その走査線を含む6つのスパンの所有ウィンド
ウを定義する。走査線内の最初のスパンは、ベクトル<
0,119>(すなわちペル0からペル119まで)に
よって定義され、ウィンドウ識別子によってデスクトッ
プが所有するものとして示されている。走査線sl50
0の2番目のスパンはベクトル<120,127>(す
なわちペル120からペル127まで)によって定義さ
れ、ウィンドウ識別子によってオブジェクト165が所
有するものとして示されている。走査線内の3番目のス
パンはベクトル<128,146>(すなわちペル12
8から146まで)によって定義され、ウィンドウ識別
子によってデスクトップ・ウィンドウ150が所有する
ものとして示されている。走査線sl500内の次のス
パンはベクトル<147,154>(すなわちペル14
7からペル154まで)によって定義され、ウィンドウ
識別子によってオブジェクト165が所有するものとし
て識別されている。この走査線内の5番目のスパンはベ
クトル<155,380>(すなわちペル155からペ
ル380まで)によって定義され、ウィンドウ識別子に
よって標準ウィンドウ155が所有するものとして示さ
れている。走査線sl500内の最後のスパンはベクト
ル<381,639>(すなわちペル381からペル6
39まで)によって定義され、ウィンドウ識別子によっ
てデスクトップ150が所有するものとして識別されて
いる。
【0033】走査線sl900の圧縮走査線データ・セ
ットは、その走査線を含む4つのスパンの所有ウィンド
ウを定義する。走査線内の最初のスパンはベクトル<
0,124>(すなわちペル0からペル124まで)に
よって定義され、ウィンドウ識別子によってデスクトッ
プが所有するものとして示されている。走査線sl90
0の2番目のスパンはベクトル<125,165>(す
なわちペル125からペル165まで)によって定義さ
れ、ウィンドウ識別子によってクロック160が所有す
るものとして示されている。走査線内の3番目のスパン
はベクトル<166,380>(すなわちペル166か
らペル380まで)によって定義され、ウィンドウ識別
子によって標準ウィンドウ155が所有するものとして
示されている。走査線sl900内の最後のスパンはベ
クトル<381,639>(すなわちペル381からペ
ル639まで)によって定義され、ウィンドウ識別子に
よってデスクトップ150が所有しているものとして識
別されている。同様に、現行表示画面のすべての走査線
が圧縮され、メモリに記憶されて、グローバル・ヒット
・テスト・データ構造が形成される。
【0034】以下で述べるように、本発明のグローバル
・ヒット・テスト・データ構造は、データ処理システム
のウィンドウ環境における変則形状ウィンドウの機能強
化型ロケータ・ヒット・テストと領域クリッピングの方
法とシステムを可能にする。おわかりのように、グロー
バル・ヒット・データ構造を生成するには、ランレング
ス(run length)符号化圧縮技法によって各ウィンドウ
の走査線を表示のためにバッファに格納する。次にバッ
ファをz配列ソートし、デスクトップ全面にわたって分
解する。このとき、ウィンドウ管理サブシステムは機能
強化型ロケータ・ヒット・テストを行うことができ、ビ
デオ・デバイス・ドライバ・サブシステムは変則形状ウ
ィンドウに機能強化型クリッピング領域テストを行うこ
とができる。したがって、ウィンドウ環境によってデス
クトップ上にあらゆる形状および大きさの重なり合った
ウィンドウを実現することができ、他のプラットフォー
ムのように箱形ウィンドウには限定されない。本発明
は、従来の技法に伴うパフォーマンスの不利なしに高パ
フォーマンスのロケータ・ヒット・テストおよび高パフ
ォーマンスのクリッピング領域テストを行うこの独特の
能力を提供する。
【0035】次に図5を参照すると、本発明の好ましい
実施態様によるウィンドウ環境における変則形状ウィン
ドウの機能強化型ロケータ・ヒット・テストの方法を示
す流れ図が図示されている。この方法はステップ200
で始まり、ステップ205に進み、データ処理システム
におけるウィンドウ環境の現行表示のためにグローバル
・ヒット・テスト・データ構造が生成される。グローバ
ル・ヒット・テスト・データ構造は、現行表示画面の走
査線を表すように生成された複数の圧縮走査線データ・
セットを含む。各圧縮走査線データ・セットは現行表示
画面の1本の走査線を表し、走査線の各スパンの各ベク
トルとそのベクトルに関連するウィンドウ識別子とを含
む。ベクトルはスパン内の最初と最後のペルを示すこと
によって、関連する走査線のスパンを識別する。ウィン
ドウ識別子は、そのスパンを所有するウィンドウを識別
する。
【0036】プロセスは次に決定ブロック210に進
み、ユーザがグラフィカル・ポインティング・デバイス
を使用して現行表示画面内の特定のペルまたはペルの領
域を指し示したかどうかを判断する。ユーザがグラフィ
カル・ポインタを使用して現行表示画面のペルを選択し
た場合、プロセスはステップ215に進み、選択された
ペルの所有権を定義するグローバル・ヒット・テスト・
データ構造内の圧縮走査線データ・セットにアクセスす
る。プロセスはステップ220に進んで、識別された圧
縮走査線データ・セットのどのベクトルに選択されたペ
ルが含まれているかを判断する。その後、プロセスはス
テップ225に進み、判断されたベクトルに関連するウ
ィンドウ識別子を検索する。検索されたウィンドウ識別
子は、選択されたペルの機能強化型ロケータ・ヒット・
テストの結果である。その後、プロセスは決定ブロック
210に戻って、ユーザがグラフィカル・ポインタを新
しいペルに移動するのを待つ。
【0037】本発明は、高パフォーマンスのロケータ・
ヒット・テストを実現することがわかるであろう。この
プロセスでは、ある場所(たとえば図4の(125x,
500y))でのマウス・クリックは、グローバル・ヒ
ット・テスト・データ構造にアクセスし、対応する圧縮
走査線データ・セットにアクセスし、選択されたペルを
走査線データ・セット・ベクトルと比較し、選択された
ペルとの一致を有するベクトルに関連するウィンドウ・
ハンドルをロードすることによって解決されることにな
る。このプロセスは、各ウィンドウにz配列でヒット・
テストを送り、そのうちの1つのウィンドウがヒット・
テストを受け入れるまで送り続ける従来技術のプロセス
より格段に効率的であることがわかるであろう。一度に
20個や30個のウィンドウが表示されるウィンドウ環
境では、従来技術のロケータ・ヒット・テストを行うの
に本発明よりも20倍ないし30倍長い時間がかかる可
能性がある。
【0038】次に図6を参照すると、本発明の好ましい
実施態様による、データ処理システムのウィンドウ環境
における変則形状ウィンドウの機能強化型領域クリッピ
ングの方法が図示されている。このプロセスはステップ
230から始まり、ステップ235に進み、現行表示画
面のグローバル・ヒット・テスト・データ構造が生成さ
れる。
【0039】プロセスは次に決定ブロック240に進
み、現行表示画面内でウィンドウを所有するアプリケー
ションによってビットマップ・イメージが生成するまで
プロセスは保留状態になる。このビットマップ・イメー
ジは複数のペルを有し、これらのペルは現行表示画面の
ペルに対応するように画面位置を有する。したがって、
ビットマップ・イメージ全体を表示するとすれば、ビッ
トマップ・イメージの各ペルを現行表示画面内のそれに
対応するペルに出力されることになる。ビットマップ・
イメージが生成された後、プロセスは決定ブロック24
5に進み、ビットマップ・イメージの第1のペルのグロ
ーバル・ヒット・テスト・データ構造に入っているウィ
ンドウ識別子が、表示アプリケーションによって所有さ
れているウィンドウであるかどうかが判断される。ビッ
トマップ・イメージの各ペルごとに、そのペルのウィン
ドウ所有権データを含む走査線データ・セットにアクセ
スする。走査線データ・セットは、現行表示画面内のそ
のペルの位置を含むベクトルを有することになる。次
に、そのベクトルに関連するウィンドウ識別子が、ビッ
トマップ・イメージを表示するウィンドウを識別してい
るかどうかが判断される。
【0040】その判断が否定の場合、プロセスは決定ブ
ロック240に戻って別のビットマップ・イメージの生
成を待つ。ペルがそのアプリケーションのウィンドウに
よって所有されている場合、それを表示することがで
き、プロセスはステップ250に進み、表示画面内の対
応するペルがビットマップ・イメージペルに設定され
る。決定ブロック252で、ビットマップの最後のペル
がステップ245でテストされたかどうかを判断する。
否定の場合、プロセスはステップ253に進み、そのビ
ットマップ・イメージの次のペルを選択してから、次の
ステップ245に戻る。ビットマップ・イメージの最後
のペルをテストし終わった場合、プロセスはブロック2
40に戻り、アプリケーションによって別のビットマッ
プ・イメージが生成されるのを待つ。このようにして、
アプリケーションが現行表示画面上でそのペルを所有し
ていると判断された場合は、ビットマップ・イメージの
各ペルが現行表示画面の対応するペル位置のグラフィッ
クス・メモリに保管される。
【0041】次に図7を参照すると、本発明の好ましい
実施態様によりグローバル・ヒット・テスト・データ構
造を生成するプロセスを示す流れ図が図示されている。
このプロセスはステップ255で始まり、ステップ26
0に進んでウィンドウ環境における各ウィンドウのヒッ
ト・テスト・データ構造が生成される。各ヒット・テス
ト・データ構造は、関連するウィンドウのみの走査線の
各ペルのウィンドウ所有権を表す。したがって、各ヒッ
ト・テスト・データ構造は関連するウィンドウが表示さ
れている場合のみ、表示画面のウィンドウ所有権を表
す。プロセスは次にステップ265に進み、ヒット・テ
スト・データ構造のために深度リストがz配列で編成さ
れる。周知のように、重なり合ったウィンドウのあるウ
ィンドウ環境では、各ウィンドウは、ウィンドウ環境に
おけるすべてのウィンドウのz配列に対応する、現行表
示画面上の他のウィンドウを基準にしたz位置を有す
る。このz位置は、各ウィンドウに第3次元を与え、そ
れによって重なり合った複数のウィンドウ間の階層が示
される。
【0042】プロセスは次にステップ270に進み、現
行表示画面のすべてのペルのウィンドウ所有権が判断さ
れる。これは、深度リストのz配列の各ヒット・テスト
・データ構造にアクセスして各ウィンドウの位置と現行
z配列を調べることによって行われる。ペルは、現在そ
のペルの位置にある最高のz位置を持つウィンドウによ
って所有される。ステップ275で、プロセスは、同じ
ウィンドウが所有する1つまたは複数のペルが1つのス
パンを形成するように、現行表示画面内のすべての走査
線のすべてのスパンを定義する。
【0043】次にプロセスはステップ280に進み、表
示走査線の定義されたスパンが、ウィンドウ環境におけ
る現行表示画面の複数の走査線を表す複数の圧縮走査線
データ・セットに圧縮される。各圧縮走査線データ・セ
ットは、現行表示画面の関連する走査線内の1つまたは
複数の定義されたスパンのウィンドウ所有権を記述す
る。圧縮走査線データ・セット内のデータには、関連す
る走査線の各スパンのベクトルとウィンドウ識別子が含
まれている。ベクトルは、走査線のスパン内の最初と最
後のペルを含めることによってスパンを識別する。ベク
トル識別子に関連するウィンドウ識別子は、識別された
スパンを所有するウィンドウを識別する。プロセスは次
にステップ285に進む。
【0044】この結果、複数の圧縮走査線データ・セッ
トによって現行表示画面のグローバル・ヒット・テスト
・データ構造が形成される。グローバル・ヒット・テス
ト・データ構造は、デスクトップの各線上の各点の所有
ウィンドウ・ハンドルを含む走査線データ構造によって
圧縮走査線を提供する。単純な矩形の場合、記憶された
データは、走査線0から、列0からウィンドウの幅まで
を所有するウィンドウの高さまでを表すことになる。よ
り複雑な形状のウィンドウの場合、その形状全体の境界
ボックスが決定され、ウィンドウの始点と範囲が与えら
れる。そのウィンドウがその上に実際に描画されること
になる各走査線のペルが入ったリストが生成される。こ
のリストは、既存の複雑領域クリッピング・コードで行
われるようにして生成することができる。このリスト
は、現行走査線上のスパンの最初のペルからスパンの最
後のペルまでの単純なベクトルを使用して表され、それ
によってヒット・テスト・データ構造が圧縮される。1
つまたは複数の隣接する走査線が同じ「ヒット・リス
ト」を有する場合、走査線をY次元にわたって圧縮する
ことができ、ヒット・テスト・データ構造がさらに圧縮
される。
【0045】本発明の例として、図4のデスクトップに
クロック160を描画するプロセスを考えてみる。アプ
リケーションのためのデバイス・ドライバがグローバル
・ヒット・テスト・データ構造にアクセスして、クロッ
クを規定する円の外部の領域を1走査線ずつクリップ
し、ウィンドウ・ビットのみをグラフィックス・メモリ
に送る。当業者ならわかるように、これはウィンドウに
よって所有されていない既存のビットで排他的論理和を
とってから境界を示す矩形内を埋めるよりもはるかに速
い。そのようなプロセスは境界を示す矩形が大きく特定
の走査線上のヒット数が小さい場合にはさらに遅くな
る。
【0046】当業者ならわかるように、現行表示画面の
ウィンドウ環境でウィンドウの移動、追加、または削除
を行う場合は新しいグローバル・ヒット・テスト・デー
タ構造を生成しなければならない。これは、ウィンドウ
のz配列が変わっている可能性があり、現行表示画面内
の個々のペルの所有権も変わっている可能性があるため
である。さらに、おわかりのように、ステップ205お
よび235は同じステップであり、図5と図6のプロセ
スを同時に実行する場合は繰り返す必要はない。同様
に、ウィンドウ環境における変化の結果として新しいグ
ローバル・ヒット・テスト・データ構造が生成される場
合は、図5および図6のプロセスがステップ200およ
び230から再び開始される。
【0047】おわかりのように、本発明は、デスクトッ
プに複数の重なり合う変則形状ウィンドウがある場合で
も、ロケータまたはポインタによって指示されたウィン
ドウを解決するきわめて高速で効率的な方法である。さ
らに、ウィンドウのうちの一部または全部のウィンドウ
に穴がある場合であっても、本発明を使用したヒット・
テストおよび領域クリッピングのパフォーマンスは変則
形状ウィンドウの影響を受けないことがわかるであろ
う。境界を示す矩形の必要がなく、したがってデスクト
ップ上のウィンドウの形状または大きさに制限がない。
たとえば、グリッドまたは実線を含む1つのウィンドウ
を作成し、そのウィンドウをデスクトップ上のすべての
ウィンドウの最上部に置くことができ、それでもグリッ
ド・ウィンドウの下にあってバーの間から見えるウィン
ドウを選択することができる。このような機能性は、従
来の技術ではまったく見られなかったものであり、グラ
フィカル・ユーザ・インタフェースのユーザおよび設計
者にとってきわめて有益である。さらに、本発明は、走
査線情報を介してデータを受け取る表示装置またはプリ
ンタ上の変則形状ウィンドウに送る図形のウィンドウ・
クリッピングを行うきわめて高速で効率的な方法を提供
する。ディスプレイ・ドライバの特定の実施態様を使用
して、画面上で更新しなければならないペルの数を最小
限にすることができ、それによって非矩形ウィンドウを
表示する場合の転送速度が最大化され、パフォーマンス
が向上する。
【0048】本発明について好ましい実施例を参照しな
がら特に図示し、説明したが、当業者なら、本発明の趣
旨および範囲から逸脱することなく態様および詳細に様
々な変更を加えることができることがわかるであろう。
【0049】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0050】() データ処理システムのウィンドウ
環境においてウィンドウの機能強化型ロケータ・ヒット
・テストを行う方法において、前記データ処理システム
におけるウィンドウ環境の表示装置のための複数の走査
線を表す複数の圧縮走査線データ・セットを有するグロ
ーバル・ヒット・テスト・データ構造を生成するステッ
プと、ここで前記複数の圧縮走査線データ・セットの各
圧縮走査線データ・セットが、1つまたは複数のベクト
ルと、前記表示装置の関連する走査線内の1つまたは複
数のスパンの前記ウィンドウ所有権を記述する各ベクト
ルに関連するウィンドウ識別子とを含み、ここで一つの
ベクトルが関連する走査線のスパンを識別し、そして各
ウィンドウ識別子がその関連するベクトルによって識別
される前記スパンを所有するウィンドウを識別し、及び
ここでスパンが走査線の1つまたは複数のペルである、
及び前記表示装置の選択されたペルを所有する前記ウィ
ンドウを識別するステップと、を含み、前記ウィンドウ
を識別するステップが、前記選択されたペルの前記ウィ
ンドウ所有権を定義する前記グローバル・ヒット・テス
ト・データ構造内の前記圧縮走査線データ・セットにア
クセスするステップと、前記選択されたペルを含むアク
セスされた圧縮走査線データ・セットのベクトルを判断
するステップと、前記判断されたベクトルに関連する前
記ウィンドウ識別子を検索するステップと、ここで前記
検索されたウィンドウ識別子が前記選択されたペルの機
能強化型ロケータ・ヒット・テストの結果である、を含
む、前記方法。 () データ処理システムのウィンドウ環境において
ウィンドウの機能強化型ロケータ・ヒット・テストを行
う()に記載の方法において、ここで複数のウィンド
ウがウィンドウ環境にあり、及びここでグローバル・ヒ
ット・テスト・データ構造を生成する前記ステップが、
前記データ処理システムにおけるウィンドウ環境の表示
装置のための複数の走査線を表す複数の圧縮走査線デー
タ・セットを有するグローバル・ヒット・テスト・デー
タ構造を生成するステップと、ここで前記複数の圧縮走
査線データ・セットの各圧縮走査線データ・セットが、
1つまたは複数のベクトルと、前記表示装置の関連する
走査線内の1つまたは複数のスパンの前記ウィンドウ所
有権を記述する各ベクトルに関連するウィンドウ識別子
とを含み、ここで一つのベクトルが前記関連する走査線
のスパンを識別し、そして各ウィンドウ識別子がその関
連するベクトルによって識別される前記スパンを所有す
るウィンドウを識別し、及びここでスパンが走査線の1
つまたは複数のペルである、複数のペルを有するビット
マップ・イメージを生成するステップと、ここで各ペル
が前記表示装置内のペルに対応する、ビットマップ・イ
メージの各ペルについて、その対応するペルを含むベク
トルを有する走査線データ・セットにアクセスし、そし
て対応するペルを含むそのベクトルに関連する前記ウィ
ンドウ識別子が選択されたウィンドウ識別子であるか否
かを判断するステップと、前記ウィンドウ識別子が前記
選択されたウィンドウ識別子であると判断された場合
に、前記ビットマップ・イメージの各ペルについて、
記表示装置の各対応するペルを前記ビットマップ・イメ
ージの前記ペルに設定するステップとを含む、前記方
法。 () データ処理システムのウィンドウ環境において
ウィンドウの機能強化型ロケータ・ヒット・テストを行
う()に記載の方法において、ウィンドウ環境におけ
るウィンドウが表示装置内で移動され、追加され、また
は削除されるとき、新しいグローバル・ヒット・テスト
・データ構造を生成するステップをさらに含む前記方
法。 () データ処理システムのウィンドウ環境において
ウィンドウの機能強化型ロケータ・ヒット・テストを行
う()に記載の方法において、ここで前記ウィンドウ
環境におけるウィンドウが、矩形形状ウィンドウではな
いような変則形状ウィンドウであり、及びここで前記グ
ローバル・ヒット・テスト・データ構造が、前記変則形
状ウィンドウを表示する複数の走査線を表す複数の圧縮
走査線データ・セットを有する、前記方法。 () データ処理システムのウィンドウ環境における
ウィンドウの機能強化型領域クリッピングの方法におい
て、前記データ処理システムにおけるウィンドウ環境の
表示装置のための複数の走査線を表す複数の圧縮走査線
データ・セットを有するグローバル・ヒット・テスト・
データ構造を生成するステップと、ここで前記複数の圧
縮走査線データ・セットの各圧縮走査線データ・セット
が、1つまたは複数のベクトルと、前記表示装置の関連
する走査線内の1つまたは複数のスパンの前記ウィンド
ウ所有権を記述する各ベクトルに関連するウィンドウ識
別子とを含み、ここで一つのベクトルが関連する走査線
のスパンを識別し、そして各ウィンドウ識別子がその関
連するベクトルによって識別される前記スパンを所有す
るウィンドウを識別し、及びここでスパンが走査線の1
つまたは複数のペルである、複数のペルを有するビット
マップ・イメージを生成するステップと、ここで各ペル
が前記表示装置内のペルに対応する、ビットマップ・イ
メージの各ペルについて、その対応するペルを含むベク
トルを有する走査線データ・セットにアクセスし、そし
て対応するペルを含むそのベクトルに関連するウィンド
ウ識別子が選択されたウィンドウ識別子であるか否かを
判断するステップと、及び前記ウィンドウ識別子が前記
選択されたウィンドウ識別子であると判断された場合
に、前記ビットマップ・イメージの各ペルについて、
記表示装置の各対応するペルを前記ビットマップ・イメ
ージの前記ペルに設定するステップとを含む、前記方
法。 () ()に記載のデータ処理システムのウィンド
ウ環境におけるウィンドウの機能強化型領域クリッピン
グの方法において、ここで複数のウィンドウがウィンド
ウ環境にあり、及びここでグローバル・ヒット・テスト
・データ構造を生成する前記ステップが、ウィンドウ環
境における各ウィンドウのヒット・テスト・データ構造
を生成するステップと、ここで各ヒット・テスト・デー
タ構造が前記走査線の各ペルについて関連するウィンド
ウのみのウィンドウ所有権を表す、前記ヒット・テスト
・データ構造の深度リストをz配列で編成するステップ
と、ここで各ウィンドウが前記ウィンドウ環境における
すべてのウィンドウの前記z配列に対応し、前記表示装
置上の他のウィンドウに相対的なz位置を有する、前記
深度リストのz配列の各ヒット・テスト・データ構造に
アクセスすることによって前記表示装置のすべてのペル
の前記ウィンドウ所有権を判断するステップと、ここで
ペルがそのペルの所有権を示すヒット・テスト・データ
構造を有する最高z位置を持つウィンドウによって所有
される、同じウィンドウによって所有される1つまたは
複数のペルがスパンを形成するように前記表示装置のす
べての走査線のすべてのスパンを定義するステップと、
前記ウィンドウ環境における前記表示装置の前記複数の
走査線を表す複数の圧縮走査線データ・セットに定義さ
れたスパンを圧縮するステップと、ここで前記複数の圧
縮走査線データ・セットの各圧縮走査線データ・セット
が、前記表示装置の関連する走査線内の1つまたは複数
の定義されたスパンの前記ウィンドウ所有権を記述し、
かつ1つまたは複数のベクトルと、各ベクトルに関連す
るウィンドウ識別子とを含み、ここでベクトルが前記関
連する走査線のスパンを識別し、そして各ウィンドウ識
別子がその関連するベクトルによって識別される前記ス
パンを所有するウィンドウを識別する、を含む前記方
法。 () ()に記載のデータ処理システムのウィンド
ウ環境におけるウィンドウの機能強化型ロケータ・ヒッ
ト・テストの方法において、ウィンドウ環境におけるウ
ィンドウが表示装置内で移動され、追加され、または削
除されるとき、新しいグローバル・ヒット・テスト・デ
ータ構造を生成するステップをさらに含む前記方法。 () ()に記載のデータ処理システムのウィンド
ウ環境におけるウィンドウの機能強化型ロケータ・ヒッ
ト・テストの方法において、ここで前記ウィンドウ環境
におけるウィンドウが、矩形形状ウィンドウではないよ
うな変則形状ウィンドウであり、及びここで前記グロー
バル・ヒット・テスト・データ構造が、前記変則形状ウ
ィンドウを表示する複数の走査線を表す複数の圧縮走査
線データ・セットを有する、前記方法。 () ウィンドウ環境におけるウィンドウの機能強化
型ロケータ・ヒット・テストを行うデータ処理システム
において、前記データ処理システムにおける前記ウィン
ドウ環境の表示装置のための複数の走査線を表す複数の
圧縮走査線データ・セットを有するグローバル・ヒット
・テスト・データ構造を生成する手段と、ここで前記複
数の圧縮走査線データ・セットの各圧縮走査線データ・
セットが、1つまたは複数のベクトルと、前記表示装置
の関連する走査線内の1つまたは複数のスパンの前記ウ
ィンドウ所有権を記述する各ベクトルに関連するウィン
ドウ識別子とを含み、ここで一つのベクトルが関連する
走査線のスパンを識別し、そして各ウィンドウ識別子が
その関連するベクトルによって識別される前記スパンを
所有するウィンドウを識別し、及びここでスパンが走査
線の1つまたは複数のペルである、及び前記表示装置の
選択されたペルを所有する前記ウィンドウを識別する手
段と、を含み、前記ウィンドウを識別する手段が、前記
選択されたペルの前記ウィンドウ所有権を定義するグロ
ーバル・テスト・データ構造内の前記圧縮走査線データ
・セットにアクセスする手段と、前記選択されたペルを
含むアクセスされた圧縮走査線データ・セットのベクト
ルを判断する手段と、前記判断されたベクトルに関連す
るウィンドウ識別子を検索する手段と、ここで前記検索
されたウィンドウ識別子が前記選択されたペルの機能強
化型ロケータ・ヒット・テストの結果である、を含む、
前記データ処理システム。 (10) ウィンドウ環境におけるウィンドウの機能強
化型ロケータ・ヒット・テストを行う()に記載のデ
ータ処理システムにおいて、ここで複数のウィンドウが
ウィンドウ環境にあり、及びここでグローバル・ヒット
・テスト・データ構造を生成する前記手段が、前記デー
タ処理システムにおけるウィンドウ環境の表示装置のた
めの複数の走査線を表す複数の圧縮走査線データ・セッ
トを有するグローバル・ヒット・テスト・データ構造を
生成する手段と、ここで前記複数の圧縮走査線データ・
セットの各圧縮走査線データ・セットが、1つまたは複
数のベクトルと、前記表示装置の関連する走査線内の1
つまたは複数のスパンの前記ウィンドウ所有権を記述す
る各ベクトルに関連するウィンドウ識別子とを含み、こ
こで一つのベクトルが前記関連する走査線のスパンを識
別し、そして各ウィンドウ識別子がその関連するベクト
ルによって識別される前記スパンを所有するウィンドウ
を識別し、及びここでスパンが走査線の1つまたは複数
のペルである、複数のペルを有するビットマップ・イメ
ージを生成する手段と、ここで各ペルが前記表示装置内
のペルに対応するビットマップ・イメージの各ペルにつ
いて、その対応するペルを含むベクトルを有する走査線
データ・セットにアクセスし、そして対応するペルを含
むそのベクトルに関連する前記ウィンドウ識別子が選択
されたウィンドウ識別子であるか否かを判断する手段
と、前記ウィンドウ識別子が前記選択されたウィンドウ
識別子であると判断された場合に、前記ビットマップ・
イメージの各ペルについて、前記表示装置の各対応する
ペルを前記ビットマップ・イメージの前記ペルに設定す
る手段と、を含む、前記データ処理システム。 (11) ウィンドウ環境におけるウィンドウの機能強
化型ロケータ・ヒット・テストを行う()に記載のデ
ータ処理システムにおいて、ウィンドウ環境におけるウ
ィンドウが表示装置内で移動され、追加され、または削
除されるとき、新しいグローバル・ヒット・テスト・デ
ータ構造を生成する手段をさらに含む前記データ処理シ
ステム。 (12) ウィンドウ環境におけるウィンドウの機能強
化型ロケータ・ヒット・テストを行う()に記載のデ
ータ処理システムにおいて、ここで前記ウィンドウ環境
におけるウィンドウが、矩形形状ウィンドウではないよ
うな変則形状ウィンドウであり、及びここで前記グロー
バル・ヒット・テスト・データ構造が、前記変則形状ウ
ィンドウを表示する複数の走査線を表す複数の圧縮走査
線データ・セットを有する、前記データ処理システム。 (13) ウィンドウ環境におけるウィンドウの機能強
化型領域クリッピングを行うデータ処理システムにおい
て、前記データ処理システムにおけるウィンドウ環境の
表示装置のための複数の走査線を表す複数の圧縮走査線
データ・セットを有するグローバル・ヒット・テスト・
データ構造を生成する手段と、ここで前記複数の圧縮走
査線データ・セットの各圧縮走査線データ・セットが、
1つまたは複数のベクトルと、前記表示装置の関連する
走査線内の1つまたは複数のスパンのウィンドウ所有権
を記述する各ベクトルに関連するウィンドウ識別子とを
含み、ここで一つのベクトルが関連する走査線のスパン
を識別し、そして各ウィンドウ識別子がその関連するベ
クトルによって識別される前記スパンを所有するウィン
ドウを識別し、及びここでスパンが走査線の1つまたは
複数のペルである、複数のペルを有するビットマップ・
イメージを生成する手段と、ここで各ペルが前記表示装
置内のペルに対応する、ビットマップ・イメージの各ペ
ルについて、その対応するペルを含むベクトルを有する
走査線データ・セットにアクセスし、そして対応するペ
ルを含むそのベクトルに関連するウィンドウ識別子が選
択されたウィンドウ識別子であるか否かを判断する手段
と、前記ウィンドウ識別子が前記選択されたウィンドウ
識別子であると判断された場合に、前記ビットマップ・
イメージの前記各ペルについて、前記表示装置の各対応
するペルを前記ビットマップ・イメージの前記ペルに設
定する手段と、を含む、前記データ処理システム。 (14) ウィンドウ環境におけるウィンドウの機能強
化型領域クリッピングを行う(13)に記載のデータ処
理システムにおいて、ここで複数のウィンドウがウィン
ドウ環境にあり、及びここでグローバル・ヒット・テス
ト・データ構造を生成する前記手段が、ウィンドウ環境
における各ウィンドウのヒット・テスト・データ構造を
生成する手段と、ここで各ヒット・テスト・データ構造
が前記走査線の各ペルについて関連するウィンドウのみ
の前記ウィンドウ所有権を表す、前記ヒット・テスト・
データ構造の深度リストをz配列で編成する手段と、こ
こで各ウィンドウが前記ウィンドウ環境におけるすべて
のウィンドウの前記z配列に対応し、前記表示装置上の
他のウィンドウに相対的なz位置を有する、前記深度リ
ストのz配列の各ヒット・テスト・データ構造にアクセ
スすることによって前記表示装置のすべてのペルの前記
ウィンドウ所有権を判断する手段と、ここでペルがその
ペルの所有権を示すヒット・テスト・データ構造を有す
る最高z位置を持つウィンドウによって所有される、同
じウィンドウによって所有される1つまたは複数のペル
がスパンを形成するように前記表示装置のすべての走査
線のすべてのスパンを定義する手段と、前記ウィンドウ
環境における前記表示装置の前記複数の走査線を表す複
数の圧縮走査線データ・セットに定義されたスパンを圧
縮する手段と、ここで前記複数の圧縮走査線データ・セ
ットの各圧縮走査線データ・セットが、前記表示装置の
関連する走査線内の1つまたは複数の定義されたスパン
の前記ウィンドウ所有権を記述し、かつ1つまたは複数
のベクトルと、各ベクトルに関連するウィンドウ識別子
とを含み、ここでベクトルが前記関連する走査線のスパ
ンを識別し、そして各ウィンドウ識別子がその関連する
ベクトルの前記識別されたスパンを所有するウィンドウ
を識別する、を含む、前記データ処理システム。 (15) ウィンドウ環境におけるウィンドウの機能強
化型ロケータ・ヒット・テストを行う(13)に記載の
データ処理システムにおいて、ウィンドウ環境における
ウィンドウが表示装置内で移動され、追加され、または
削除されるとき、新しいグローバル・ヒット・テスト・
データ構造を生成する手段をさらに含む前記データ処
理システム。 (16) ウィンドウ環境におけるウィンドウの機能強
化型ロケータ・ヒット・テストを行う(13)に記載の
データ処理システムにおいて、ここで前記ウィンドウ環
境におけるウィンドウが、矩形形状ウィンドウではない
ような変則形状ウィンドウであり、及びここで前記グロ
ーバル・ヒット・テスト・データ構造が、前記変則形状
ウィンドウを表示する複数の走査線を表す複数の圧縮走
査線データ・セットを有する、前記データ処理システ
ム。
【図面の簡単な説明】
【図1】本発明を実施するために使用することができる
データ処理システムの好ましい実施例を示す図である。
【図2】本発明の好ましい実施態様によるデータ処理シ
ステム内のシステム装置の主要構成要素を示すブロック
図である。
【図3】本発明の好ましい実施態様によるデータ処理シ
ステムのオペレーティング・システムが使用する標準グ
ラフィカル・ユーザ・インタフェースを示す図である。
【図4】本発明の好ましい実施例態様による、データ処
理システムのウィンドウ環境において変則形状ウィンド
ウを表示するデスクトップを示す図である。
【図5】本発明の好ましい実施態様による、ウィンドウ
環境において変則形状ウィンドウの機能強化型ロケータ
・ヒット・テストを行う方法を示す流れ図である。
【図6】本発明の好ましい実施態様による、ウィンドウ
環境において変則形状ウィンドウの機能強化型領域クリ
ッピングを行う方法を示す流れ図である。
【図7】本発明の好ましい実施態様による、グローバル
・ヒット・テスト・データ構造を生成するプロセスを示
す流れ図である。
【符号の説明】
10 データ処理システム 12 システム装置 14 表示装置 16 キーボード 18 マウス 22 ディスケット・ドライブ 23 ハード・ディスク・ドライブ 24 CD−ROMドライブ 26 中央演算処理装置 27 数値演算コプロセッサ 28 キャッシュ制御装置 30 キャッシュ 32 バッファ 38 バス制御およびタイミング・ユニット 40 ダイレクト・メモリ・アクセス・ユニット 41 DMA制御装置 48 中央アービタ 50 メモリ制御装置 52 メモリ制御ユニット 54 アドレス・マルチプレクサ 56 データ・バッファ 58 ランダム・アクセス・メモリ 70 ディスプレイ・アダプタ 72 クロック 74 不揮発性ランダム・アクセス・メモリ 76 パラレル・アダプタ 78 シリアル・アダプタ 80 タイマ 86 読取り専用メモリ 101 グラフィカル・ポインタ 102 アイコン 118 ウィンドウ 150 デスクトップ・ウィンドウ 155 標準ウィンドウ 165 オブジェクト
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ケルビン・ロデリック・ローレンス アメリカ合衆国78664 テキサス州ラウ ンド・ロック ロング・コーブ 1013 (72)発明者 マーク・エイ・セホーン アメリカ合衆国78759 テキサス州オー スチン アールゴン・フォレスト・トレ イル 11621−エイ (56)参考文献 特表 昭63−500273(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 3/14 - 3/153

Claims (16)

    (57)【特許請求の範囲】
  1. 【請求項1】データ処理システムのウィンドウ環境にお
    いてウィンドウの機能強化型ロケータ・ヒット・テスト
    を行う方法において、 前記データ処理システムにおけるウィンドウ環境の表示
    装置のための複数の走査線を表す複数の圧縮走査線デー
    タ・セットを有するグローバル・ヒット・テスト・デー
    タ構造を生成するステップと、ここで前記複数の圧縮走
    査線データ・セットの各圧縮走査線データ・セットが、
    1つまたは複数のベクトルと、前記表示装置の関連する
    走査線内の1つまたは複数のスパンの前記ウィンドウ所
    有権を記述する各ベクトルに関連するウィンドウ識別子
    とを含み、ここで一つのベクトルが関連する走査線のス
    パンを識別し、そして各ウィンドウ識別子がその関連す
    るベクトルによって識別される前記スパンを所有するウ
    ィンドウを識別し、及びここでスパンが走査線の1つま
    たは複数のペルである、及び前記表示装置の選択された
    ペルを所有する前記ウィンドウを識別するステップと、 を含み、 前記ウィンドウを識別するステップが、 前記選択されたペルの前記ウィンドウ所有権を定義する
    前記グローバル・ヒット・テスト・データ構造内の前記
    圧縮走査線データ・セットにアクセスするステップと、 前記選択されたペルを含むアクセスされた圧縮走査線デ
    ータ・セットのベクトルを判断するステップと、 前記判断されたベクトルに関連する前記ウィンドウ識別
    子を検索するステップと、ここで前記検索されたウィン
    ドウ識別子が前記選択されたペルの機能強化型ロケータ
    ・ヒット・テストの結果である、 を含む、前記方法。
  2. 【請求項2】データ処理システムのウィンドウ環境にお
    いてウィンドウの機能強化型ロケータ・ヒット・テスト
    を行う請求項に記載の方法において、 ここで複数のウィンドウがウィンドウ環境にあり、 及びここでグローバル・ヒット・テスト・データ構造を
    生成する前記ステップが、 前記データ処理システムにおけるウィンドウ環境の表示
    装置のための複数の走査線を表す複数の圧縮走査線デー
    タ・セットを有するグローバル・ヒット・テスト・デー
    タ構造を生成するステップと、ここで前記複数の圧縮走
    査線データ・セットの各圧縮走査線データ・セットが、
    1つまたは複数のベクトルと、前記表示装置の関連する
    走査線内の1つまたは複数のスパンの前記ウィンドウ所
    有権を記述する各ベクトルに関連するウィンドウ識別子
    とを含み、ここで一つのベクトルが前記関連する走査線
    のスパンを識別し、そして各ウィンドウ識別子がその関
    連するベクトルによって識別される前記スパンを所有す
    るウィンドウを識別し、及びここでスパンが走査線の1
    つまたは複数のペルである、 複数のペルを有するビットマップ・イメージを生成する
    ステップと、ここで各ペルが前記表示装置内のペルに対
    応する、 ビットマップ・イメージの各ペルについて、その対応す
    るペルを含むベクトルを有する走査線データ・セットに
    アクセスし、そして対応するペルを含むそのベクトルに
    関連する前記ウィンドウ識別子が選択されたウィンドウ
    識別子であるか否かを判断するステップと、前記 ウィンドウ識別子が前記選択されたウィンドウ識別
    子であると判断された場合に、前記ビットマップ・イメ
    ージの各ペルについて、前記表示装置の各対応するペル
    を前記ビットマップ・イメージの前記ペルに設定するス
    テップとを含む、前記方法。
  3. 【請求項3】データ処理システムのウィンドウ環境にお
    いてウィンドウの機能強化型ロケータ・ヒット・テスト
    を行う請求項に記載の方法において、 ウィンドウ環境におけるウィンドウが表示装置内で移動
    され、追加され、または削除されるとき、新しいグロー
    バル・ヒット・テスト・データ構造を生成するステップ
    をさらに含む前記方法。
  4. 【請求項4】データ処理システムのウィンドウ環境にお
    いてウィンドウの機能強化型ロケータ・ヒット・テスト
    を行う請求項に記載の方法において、 ここで前記ウィンドウ環境におけるウィンドウが、矩形
    形状ウィンドウではないような変則形状ウィンドウであ
    り、 及びここで前記グローバル・ヒット・テスト・データ構
    造が、前記変則形状ウィンドウを表示する複数の走査線
    を表す複数の圧縮走査線データ・セットを有する、前記
    方法。
  5. 【請求項5】データ処理システムのウィンドウ環境にお
    けるウィンドウの機能強化型領域クリッピングの方法に
    おいて、 前記データ処理システムにおけるウィンドウ環境の表示
    装置のための複数の走査線を表す複数の圧縮走査線デー
    タ・セットを有するグローバル・ヒット・テスト・デー
    タ構造を生成するステップと、ここで前記複数の圧縮走
    査線データ・セットの各圧縮走査線データ・セットが、
    1つまたは複数のベクトルと、前記表示装置の関連する
    走査線内の1つまたは複数のスパンの前記ウィンドウ所
    有権を記述する各ベクトルに関連するウィンドウ識別子
    とを含み、ここで一つのベクトルが関連する走査線のス
    パンを識別し、そして各ウィンドウ識別子がその関連す
    るベクトルによって識別される前記スパンを所有するウ
    ィンドウを識別し、及びここでスパンが走査線の1つま
    たは複数のペルである、 複数のペルを有するビットマップ・イメージを生成する
    ステップと、ここで各ペルが前記表示装置内のペルに対
    応する、 ビットマップ・イメージの各ペルについて、その対応す
    るペルを含むベクトルを有する走査線データ・セットに
    アクセスし、そして対応するペルを含むそのベクトルに
    関連するウィンドウ識別子が選択されたウィンドウ識別
    子であるか否かを判断するステップと、及び前記ウィン
    ドウ識別子が前記選択されたウィンドウ識別子である
    判断された場合に、前記ビットマップ・イメージの各ペ
    について、前記表示装置の各対応するペルを前記ビッ
    トマップ・イメージの前記ペルに設定するステップとを
    含む、前記方法。
  6. 【請求項6】請求項に記載のデータ処理システムのウ
    ィンドウ環境におけるウィンドウの機能強化型領域クリ
    ッピングの方法において、 ここで複数のウィンドウがウィンドウ環境にあり、及び
    ここでグローバル・ヒット・テスト・データ構造を生成
    する前記ステップが、 ウィンドウ環境における各ウィンドウのヒット・テスト
    ・データ構造を生成するステップと、ここで各ヒット・
    テスト・データ構造が前記走査線の各ペルについて関連
    するウィンドウのみのウィンドウ所有権を表す、 前記ヒット・テスト・データ構造の深度リストをz配列
    で編成するステップと、ここで各ウィンドウが前記ウィ
    ンドウ環境におけるすべてのウィンドウの前記z配列に
    対応し、前記表示装置上の他のウィンドウに相対的なz
    位置を有する、 前記深度リストのz配列の各ヒット・テスト・データ構
    造にアクセスすることによって前記表示装置のすべての
    ペルの前記ウィンドウ所有権を判断するステップと、こ
    こでペルがそのペルの所有権を示すヒット・テスト・デ
    ータ構造を有する最高z位置を持つウィンドウによって
    所有される、 同じウィンドウによって所有される1つまたは複数のペ
    ルがスパンを形成するように前記表示装置のすべての走
    査線のすべてのスパンを定義するステップと、 前記ウィンドウ環境における前記表示装置の前記複数の
    走査線を表す複数の圧縮走査線データ・セットに定義さ
    れたスパンを圧縮するステップと、ここで前記複数の圧
    縮走査線データ・セットの各圧縮走査線データ・セット
    が、前記表示装置の関連する走査線内の1つまたは複数
    の定義されたスパンの前記ウィンドウ所有権を記述し、
    かつ1つまたは複数のベクトルと、各ベクトルに関連す
    るウィンドウ識別子とを含み、ここでベクトルが前記関
    連する走査線のスパンを識別し、そして各ウィンドウ識
    別子がその関連するベクトルによって識別される前記ス
    パンを所有するウィンドウを識別する、 を含む前記方法。
  7. 【請求項7】請求項に記載のデータ処理システムのウ
    ィンドウ環境におけるウィンドウの機能強化型ロケータ
    ・ヒット・テストの方法において、 ウィンドウ環境におけるウィンドウが表示装置内で移動
    され、追加され、または削除されるとき、新しいグロー
    バル・ヒット・テスト・データ構造を生成するステップ
    をさらに含む前記方法。
  8. 【請求項8】請求項に記載のデータ処理システムのウ
    ィンドウ環境におけるウィンドウの機能強化型ロケータ
    ・ヒット・テストの方法において、 ここで前記ウィンドウ環境におけるウィンドウが、矩形
    形状ウィンドウではないような変則形状ウィンドウであ
    り、 及びここで前記グローバル・ヒット・テスト・データ構
    造が、前記変則形状ウィンドウを表示する複数の走査線
    を表す複数の圧縮走査線データ・セットを有する、前記
    方法。
  9. 【請求項9】ウィンドウ環境におけるウィンドウの機能
    強化型ロケータ・ヒット・テストを行うデータ処理シス
    テムにおいて、 前記データ処理システムにおける前記ウィンドウ環境の
    表示装置のための複数の走査線を表す複数の圧縮走査線
    データ・セットを有するグローバル・ヒット・テスト・
    データ構造を生成する手段と、ここで前記複数の圧縮走
    査線データ・セットの各圧縮走査線データ・セットが、
    1つまたは複数のベクトルと、前記表示装置の関連する
    走査線内の1つまたは複数のスパンの前記ウィンドウ所
    有権を記述する各ベクトルに関連するウィンドウ識別子
    とを含み、ここで一つのベクトルが関連する走査線のス
    パンを識別し、そして各ウィンドウ識別子がその関連す
    るベクトルによって識別される前記スパンを所有するウ
    ィンドウを識別し、及びここでスパンが走査線の1つま
    たは複数のペルである、及び前記表示装置の選択された
    ペルを所有する前記ウィンドウを識別する手段と、 を含み、 前記ウィンドウを識別する手段が、 前記選択されたペルの前記ウィンドウ所有権を定義する
    グローバル・テスト・データ構造内の前記圧縮走査線デ
    ータ・セットにアクセスする手段と、 前記選択されたペルを含むアクセスされた圧縮走査線デ
    ータ・セットのベクトルを判断する手段と、 前記判断されたベクトルに関連するウィンドウ識別子を
    検索する手段と、ここで前記検索されたウィンドウ識別
    子が前記選択されたペルの機能強化型ロケータ・ヒット
    ・テストの結果である、 を含む、前記データ処理システム。
  10. 【請求項10】ウィンドウ環境におけるウィンドウの機
    能強化型ロケータ・ヒット・テストを行う請求項に記
    載のデータ処理システムにおいて、 ここで複数のウィンドウがウィンドウ環境にあり、 及びここでグローバル・ヒット・テスト・データ構造を
    生成する前記手段が、 前記データ処理システムにおけるウィンドウ環境の表示
    装置のための複数の走査線を表す複数の圧縮走査線デー
    タ・セットを有するグローバル・ヒット・テスト・デー
    タ構造を生成する手段と、ここで前記複数の圧縮走査線
    データ・セットの各圧縮走査線データ・セットが、1つ
    または複数のベクトルと、前記表示装置の関連する走査
    線内の1つまたは複数のスパンの前記ウィンドウ所有権
    を記述する各ベクトルに関連するウィンドウ識別子とを
    含み、ここで一つのベクトルが前記関連する走査線のス
    パンを識別し、そして各ウィンドウ識別子がその関連す
    るベクトルによって識別される前記スパンを所有するウ
    ィンドウを識別し、及びここでスパンが走査線の1つま
    たは複数のペルである、 複数のペルを有するビットマップ・イメージを生成する
    手段と、ここで各ペルが前記表示装置内のペルに対応す
    るビットマップ・イメージの各ペルについて、その対応
    するペルを含むベクトルを有する走査線データ・セット
    にアクセスし、そして対応するペルを含むそのベクトル
    に関連する前記ウィンドウ識別子が選択されたウィンド
    ウ識別子であるか否かを判断する手段と、前記 ウィンドウ識別子が前記選択されたウィンドウ識別
    子であると判断された場合に、前記ビットマップ・イメ
    ージの各ペルについて、前記表示装置の各対応するペル
    を前記ビットマップ・イメージの前記ペルに設定する手
    段と、 を含む、前記データ処理システム。
  11. 【請求項11】ウィンドウ環境におけるウィンドウの機
    能強化型ロケータ・ヒット・テストを行う請求項に記
    載のデータ処理システムにおいて、 ウィンドウ環境におけるウィンドウが表示装置内で移動
    され、追加され、または削除されるとき、新しいグロー
    バル・ヒット・テスト・データ構造を生成する手段をさ
    らに含む前記データ処理システム。
  12. 【請求項12】ウィンドウ環境におけるウィンドウの機
    能強化型ロケータ・ヒット・テストを行う請求項に記
    載のデータ処理システムにおいて、 ここで前記ウィンドウ環境におけるウィンドウが、矩形
    形状ウィンドウではないような変則形状ウィンドウであ
    り、 及びここで前記グローバル・ヒット・テスト・データ構
    造が、前記変則形状ウィンドウを表示する複数の走査線
    を表す複数の圧縮走査線データ・セットを有する、前記
    データ処理システム。
  13. 【請求項13】ウィンドウ環境におけるウィンドウの機
    能強化型領域クリッピングを行うデータ処理システムに
    おいて、 前記データ処理システムにおけるウィンドウ環境の表示
    装置のための複数の走査線を表す複数の圧縮走査線デー
    タ・セットを有するグローバル・ヒット・テスト・デー
    タ構造を生成する手段と、ここで前記複数の圧縮走査線
    データ・セットの各圧縮走査線データ・セットが、1つ
    または複数のベクトルと、前記表示装置の関連する走査
    線内の1つまたは複数のスパンのウィンドウ所有権を記
    述する各ベクトルに関連するウィンドウ識別子とを含
    み、ここで一つのベクトルが関連する走査線のスパンを
    識別し、そして各ウィンドウ識別子がその関連するベク
    トルによって識別される前記スパンを所有するウィンド
    ウを識別し、及びここでスパンが走査線の1つまたは複
    数のペルである、 複数のペルを有するビットマップ・イメージを生成する
    手段と、ここで各ペルが前記表示装置内のペルに対応す
    る、 ビットマップ・イメージの各ペルについて、その対応す
    るペルを含むベクトルを有する走査線データ・セットに
    アクセスし、そして対応するペルを含むそのベクトルに
    関連するウィンドウ識別子が選択されたウィンドウ識別
    子であるか否かを判断する手段と、前記 ウィンドウ識別子が前記選択されたウィンドウ識別
    子であると判断された場合に、前記ビットマップ・イメ
    ージの前記各ペルについて、前記表示装置の各対応する
    ペルを前記ビットマップ・イメージの前記ペルに設定す
    る手段と、 を含む、前記データ処理システム。
  14. 【請求項14】ウィンドウ環境におけるウィンドウの機
    能強化型領域クリッピングを行う請求項13に記載のデ
    ータ処理システムにおいて、 ここで複数のウィンドウがウィンドウ環境にあり、 及びここでグローバル・ヒット・テスト・データ構造を
    生成する前記手段が、 ウィンドウ環境における各ウィンドウのヒット・テスト
    ・データ構造を生成する手段と、ここで各ヒット・テス
    ト・データ構造が前記走査線の各ペルについて関連する
    ウィンドウのみの前記ウィンドウ所有権を表す、 前記ヒット・テスト・データ構造の深度リストをz配列
    で編成する手段と、ここで各ウィンドウが前記ウィンド
    ウ環境におけるすべてのウィンドウの前記z配列に対応
    し、前記表示装置上の他のウィンドウに相対的なz位置
    を有する、 前記深度リストのz配列の各ヒット・テスト・データ構
    造にアクセスすることによって前記表示装置のすべての
    ペルの前記ウィンドウ所有権を判断する手段と、ここで
    ペルがそのペルの所有権を示すヒット・テスト・データ
    構造を有する最高z位置を持つウィンドウによって所有
    される、 同じウィンドウによって所有される1つまたは複数のペ
    ルがスパンを形成するように前記表示装置のすべての走
    査線のすべてのスパンを定義する手段と、 前記ウィンドウ環境における前記表示装置の前記複数の
    走査線を表す複数の圧縮走査線データ・セットに定義さ
    れたスパンを圧縮する手段と、ここで前記複数の圧縮走
    査線データ・セットの各圧縮走査線データ・セットが、
    前記表示装置の関連する走査線内の1つまたは複数の定
    義されたスパンの前記ウィンドウ所有権を記述し、かつ
    1つまたは複数のベクトルと、各ベクトルに関連するウ
    ィンドウ識別子とを含み、ここでベクトルが前記関連す
    る走査線のスパンを識別し、そして各ウィンドウ識別子
    がその関連するベクトルの前記識別されたスパンを所有
    するウィンドウを識別する、を含む、 前記データ処理システム。
  15. 【請求項15】ウィンドウ環境におけるウィンドウの機
    能強化型ロケータ・ヒット・テストを行う請求項13
    記載のデータ処理システムにおいて、 ウィンドウ環境におけるウィンドウが表示装置内で移動
    され、追加され、または削除されるとき、新しいグロー
    バル・ヒット・テスト・データ構造を生成する手段をさ
    らに含む前記データ処理システム。
  16. 【請求項16】ウィンドウ環境におけるウィンドウの機
    能強化型ロケータ・ヒット・テストを行う請求項13
    記載のデータ処理システムにおいて、 ここで前記ウィンドウ環境におけるウィンドウが、矩形
    形状ウィンドウではないような変則形状ウィンドウであ
    り、 及びここで前記グローバル・ヒット・テスト・データ構
    造が、前記変則形状ウィンドウを表示する複数の走査線
    を表す複数の圧縮走査線データ・セットを有する、前記
    データ処理システム。
JP02869997A 1996-02-20 1997-02-13 ウィンドウの機能強化型ロケータ・ヒット・テストを行う方法およびデータ処理システム Expired - Fee Related JP3417451B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/602561 1996-02-20
US08/602,561 US5764215A (en) 1996-02-20 1996-02-20 Method and system for generating a global hit test data structure using scan line compression of windows in a graphical user interface

Publications (2)

Publication Number Publication Date
JPH09269884A JPH09269884A (ja) 1997-10-14
JP3417451B2 true JP3417451B2 (ja) 2003-06-16

Family

ID=24411849

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02869997A Expired - Fee Related JP3417451B2 (ja) 1996-02-20 1997-02-13 ウィンドウの機能強化型ロケータ・ヒット・テストを行う方法およびデータ処理システム

Country Status (4)

Country Link
US (1) US5764215A (ja)
JP (1) JP3417451B2 (ja)
KR (1) KR100247720B1 (ja)
CN (1) CN1151429C (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6049325A (en) * 1997-05-27 2000-04-11 Hewlett-Packard Company System and method for efficient hit-testing in a computer-based system
US6839892B2 (en) * 2001-07-12 2005-01-04 International Business Machines Corporation Operating system debugger extensions for hypervisor debugging
US7165225B2 (en) * 2001-08-15 2007-01-16 Microsoft Corporation Cursor tracking in a multi-level GUI
US7412662B2 (en) * 2004-04-12 2008-08-12 Microsoft Corporation Method and system for redirection of transformed windows
US8279204B1 (en) * 2005-12-22 2012-10-02 The Mathworks, Inc. Viewer for multi-dimensional data from a test environment
US8108785B2 (en) * 2006-01-09 2012-01-31 Microsoft Corporation Supporting user multi-tasking with clipping lists
WO2016197247A1 (en) * 2015-06-12 2016-12-15 Nureva, Inc. Method and apparatus for managing and organizing objects in a virtual repository
US11886685B1 (en) 2022-10-20 2024-01-30 Stardock Corporation Desktop container peek interface

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4586035A (en) * 1984-02-29 1986-04-29 International Business Machines Corporation Display terminal with a cursor responsive virtual distributed menu
JPH0778823B2 (ja) * 1985-12-09 1995-08-23 株式会社応用計測研究所 画像処理方法
US5050105A (en) * 1988-01-26 1991-09-17 International Business Machines Corporation Direct cursor-controlled access to multiple application programs and data
US5001469A (en) * 1988-06-29 1991-03-19 Digital Equipment Corporation Window-dependent buffer selection
US5185597A (en) * 1988-06-29 1993-02-09 Digital Equipment Corporation Sprite cursor with edge extension and clipping
US5046001A (en) * 1988-06-30 1991-09-03 Ibm Corporation Method for accessing selected windows in a multi-tasking system
US5241656A (en) * 1989-02-06 1993-08-31 International Business Machines Corporation Depth buffer clipping for window management
US5195177A (en) * 1989-09-08 1993-03-16 Matsushita Electric Industrial Co., Ltd. Clipping processor
JPH03292524A (ja) * 1990-04-11 1991-12-24 Oki Electric Ind Co Ltd カーソル移動方式
US5226117A (en) * 1990-05-15 1993-07-06 International Business Machines Corporation Method for simultaneous update and change in parent and child windows
US5390295A (en) * 1991-12-20 1995-02-14 International Business Machines Corporation Method and apparatus for proportionally displaying windows on a computer display screen
US5377317A (en) * 1991-12-20 1994-12-27 International Business Machines Corporation Method and apparatus for distinctively displaying windows on a computer display screen
US5276437A (en) * 1992-04-22 1994-01-04 International Business Machines Corporation Multi-media window manager

Also Published As

Publication number Publication date
KR970062964A (ko) 1997-09-12
CN1151429C (zh) 2004-05-26
KR100247720B1 (ko) 2000-03-15
JPH09269884A (ja) 1997-10-14
US5764215A (en) 1998-06-09
CN1177136A (zh) 1998-03-25

Similar Documents

Publication Publication Date Title
US5917492A (en) Method and system for displaying an expandable tree structure in a data processing system graphical user interface
JP3247625B2 (ja) 動画表示オブジェクトを表示するための方法およびシステム
US6259432B1 (en) Information processing apparatus for improved intuitive scrolling utilizing an enhanced cursor
US5777616A (en) Data processing system and method for invoking a function of a multifunction icon in a graphical user interface
CN1257448C (zh) 用于更新终端的操作特性的方法
US6215490B1 (en) Task window navigation method and system
US5289574A (en) Multiple virtual screens on an "X windows" terminal
US5559948A (en) Apparatus and method for manipulating an object in a computer system graphical user interface
US5680605A (en) Method and apparatus for searching a large volume of data with a pointer-based device in a data processing system
US5835088A (en) Method and apparatus for providing programmable window-to-window focus change within a data processing system using a graphical user interface
US7453473B2 (en) Method and apparatus for high-performance rendering and hit testing of a window tree
US5710574A (en) Method and system for positioning a graphical pointer within a widget of a data processing system graphical user interface
US5345550A (en) User-modifiable popup menus for object oriented behavior
US5841420A (en) Method and system in a data processing system windowing environment for displaying previously obscured information
US6356281B1 (en) Method and apparatus for displaying translucent overlapping graphical objects on a computer monitor
US20110126139A1 (en) Apparatus and method for switching between virtual machines
US20080229046A1 (en) Unified support for solid state storage
US6141008A (en) Method and system for providing size adjustment for a maximized window in a computer system graphical user interface
KR20050111434A (ko) 디스플레이 시스템 및 그 가상 작업공간 관리방법
US6337702B1 (en) Method and system for graphically indicating a valid input within a graphical user interface
US5732228A (en) Method and system for per widget graphical pointer control within a data processing system graphical user interface
JP3417451B2 (ja) ウィンドウの機能強化型ロケータ・ヒット・テストを行う方法およびデータ処理システム
US5757381A (en) Methods for fast scrolling of images
WO1996031819A2 (en) Data processing device and scrolling method
JP2645015B2 (ja) コンピュータシステム

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees