JP3892900B2 - 複数の任意解像度のデバイスに表示を行うための任意解像度の個別ウインドウを備えたウインドウ・システム - Google Patents
複数の任意解像度のデバイスに表示を行うための任意解像度の個別ウインドウを備えたウインドウ・システム Download PDFInfo
- Publication number
- JP3892900B2 JP3892900B2 JP52554594A JP52554594A JP3892900B2 JP 3892900 B2 JP3892900 B2 JP 3892900B2 JP 52554594 A JP52554594 A JP 52554594A JP 52554594 A JP52554594 A JP 52554594A JP 3892900 B2 JP3892900 B2 JP 3892900B2
- Authority
- JP
- Japan
- Prior art keywords
- window
- space
- coordinates
- contents
- resolution
- 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 - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Controls And Circuits For Display Device (AREA)
Description
本発明は一般に表示デバイスにグラフィック・イメージを表示するための方法に関する。特に、本発明はそれ自身の解像度の補完を行う表示デバイスに対してグラフィック・イメージをレンダリングするための方法を実行するコンピュータに関し、より詳しくは、表示デバイスの解像度に依存しない、表示デバイス上の重複した複数のウインドウをレンダリングする方法に関する。
2.関連技術の説明
現在のグラフィック・システムは通常、イメージを定義するソース解像度を指す「ソース・スペース」を提供する。イメージはソース・スペースの汎用座標及び/または局所座標に関して定義される。イメージを定義する座標システムは局所または汎用のどちらでもよい。「汎用スペース」は、多くの他の座標スペースを包含する、ソース解像度において提供される汎用座標スペースを指す。「局所スペース」は、やはりソース解像度において提供される汎用スペースに含まれる座標スペースである。その座標スペースは汎用スペース内の参照ポイントに対して局所的関係にある。ユーザの指示の元にコンピュータは局所座標及び/または汎用座標におけるイメージの様々なパラメータを変更することによってイメージを操作し、編集する。コンピュータがグラフィック・イメージに関する所望の操作全てを実行した後、そのイメージはソース・スペースからのイメージ定義を「デバイス・スペース」に変換することによって表示デバイス上にレンダリングされる。「デバイス・スペース」はイメージがレンダリングされるデバイスのピクセル解像度を指す。デバイス・スペースとソース・スペースの間には1対1の対応が存在しうる(即ち、デバイス・スペース内で用いられるのと同じ解像度がソース・スペース内で用いられる)。しかし、ソース・スペースとデバイス・スペースの間の解像度の違いを考慮してマッピング機能を使用し、ソース・スペースをデバイス・スペースにマッピングしなければならない場合もある。
表示デバイスにグラフィック・イメージをレンダリングする場合の1つの問題はグリッディング(gridding)である。グリッディングは1つの解像度で定義されたイメージを第2の異なる解像度にマッピングする際に生じる。イメージは通常、局所または汎用座標システムのソース・スペース単位に定義されたイメージの範囲及び境界を指定することによって定義される。イメージが表示デバイス上にレンダリングされた時に、そのイメージを含む領域が局所または汎用座標システムのソース単位から、表示デバイスのデバイス単位またはピクセルに変換される。図1に示された図は、インチあたり72ドット(72DPI)のソース・スペースから、128DPIのデバイス・スペースへの変換が例示されている。四捨五入または切り捨て機能が、どのようにしてグリッディングが発生するかを判定する。図1に示すように、1つのソース単位は1つのデバイス・ピクセル又は2つのデバイス・ピクセルのどちらかにマッピングされる。例えば、ソース・ピクセル3は単一のデバイス・ピクセル、ピクセルeにマッピングされ、隣のピクセル4は2つのピクセルfとgにマッピングされる。このソース単位は、ソース・スペースとデバイス・スペースの間の解像度の違いによってより多くのピクセルにマッピングされることすらある。このグリッディングという有害な結果は、6つのソース単位の長さの線をレンダリングする場合を考えると、より明らかになる。図に示すように、この線をソース・スペースのピクセル1からピクセル6にわたって描画する場合、その線はデバイス・スペース内にレンダリングされたピクセルaからピクセルkまでの11個のピクセルの長さを有する。同じ長さの線がソース・スペースのピクセル4から10まで描画された場合、そのデバイス・ピクセルにおける線の長さはピクセルfからピクセルqまでの12個のピクセル分である。従って、ソース・スペースにおいて同じ長さの線は、その線が配置された場合によって、デバイス・スペース内で異なる長さを有する可能性がある。こうしたグリッディングは、ウインドウのサイズ及び表示デバイス上の他のイメージのサイズがそれらの表示デバイス上の位置に応じて変化するという問題を引き起こす。
従来のグラフィック・システムにおける別の問題は、デバイス・ピクセルの所有者が、ソース・スペースが局所座標又は汎用座標を使用するかどうかに依存することである。図2A、及び図2Bに示すように、特定のソース・ピクセルに対応するデバイス・ピクセル(1つ又は複数)が、汎用グリッディングか局所グリッディングが使用されているかどうかに依存して変化する。図2A、及び図2Bは共に、ソース・スペースの10個のピクセルを17個のデバイス・ピクセルに、解像度をソース・ピクセルにおける72DPIからデバイス・ソースにおける128DPIに変更してマッピングするところを示している。図2Aの汎用スペースにおいて、ピクセル2は2つのデバイス・ピクセルc及びdによって表されている。しかし、図2Bの局所スペースにおいて示されているように、同じピクセル2は1つのデバイス・ピクセルcによって表されている。デバイス・ピクセルの所有者の違いは、スクリーンの外からスクリーン上にイメージを高速に転送する妨げとなるため、問題となる。この違いのために、汎用座標において定義された多くのイメージはスクリーン上に表示される前に変換され、処理されなければならない。この、デバイス・ピクセルの所有者が局所座標、または汎用座標の使用に依存するという問題は特にウインドウ・システムにとって問題となる。ウインドウは表示デバイスのスクリーンの一部を覆うだけであることが多く、従ってその内容は局所座標において定義される。ウインドウの境界は汎用座標において定義されるが、スクリーンの背景は局所座標において定義される。従って、デバイス・ピクセルの所有者に関して競合が存在する。この競合は表示デバイスが互いに重複した多くのウインドウを表現可能でかつ極めて頻繁に表現しているという事実によってその程度を増す。ウインドウの重複は汎用スペースとは異なるオフセットを有する2つの局所スペースの近くのピクセルの所有者をめぐる競争をより激化させる。従って、複数の重複したウインドウ及びその局所スペースに伴う問題を排除するためのシステム、及び方法が必要とされている。
従来のウインドウ・システムに伴う別の問題は、ウインドウの移動の度にウインドウとその内容の再描画が必要となることである。従来技術では、ウインドウが移動する度にウインドウの境界と内容の両方を再描画しなければならない。ウインドウは一般的に局所座標で定義されているために、ウインドウが移動する度に表示デバイスの座標グリッドに対して再描画されなければならない。この再描画処理がコンピュータ資源の多くを消費し、コンピュータの処理速度を低下させる可能性がある。更に、一定間隔の表示内容更新はユーザにとって好ましいものではない。従って、ウインドウの移動に関するオーバヘッドを排除するウインドウ・システムの必要性がある。
グラフィック表示方法の中には、表示デバイス上のウインドウの起点を、描画操作を実行するための参照ポイントとして使用するものがある。そのウインドウは、表示デバイスのスクリーン上に、ウインドウの位置に依存しない同じデバイス・グリッドを保持する。こうした環境においてウインドウの内容をスクロールすると、ウインドウの起点がスクロールの操作につれて移動することが必要になる。ウインドウの起点はグラフィック・システムによって定義された座標スペースの境界に制限されているので、通常はより小さい局所スペースであり、ウインドウ内でスクロール可能なデータのサイズはグラフィック・座標を境界として制限される。従って、完全なデバイス・グリッドを維持し、境界としてのグラフィック・座標を除去する方法が必要とされる。更に、個別のウインドウが汎用グリッドに依存しないウインドウ自身のグリッディングを有する場合、ウインドウが互いに重複する時の境界上のピクセルの間の所有者の問題があるので、ウインドウの間で相互作用が生じる。
従って、複数の起点及び多様な解像度によって引き起こされる上述のグリッディングの問題を解決する方法が必要とされる。
発明の概要
本発明は、従来技術の制約及び欠点を、解像度に依存しないウインドウ・システムを用いて克服する。この解像度に依存しないウインドウ・システムは、ソース・スペース内に描画されたもの全てを指定するグラフィック・システムのデバイス・スペース内で、直接ウインドウ操作を実施する方法を含む。座標グリッド上の異なる場所でオブジェクトをレンダリングによって生じるサイズの変更は、ウィンドウの境界に吸収され、それによってウインドウの内容を再描画なしに移動できる。このウインドウの境界は再描画されなければならないが、その内容は単にコピーされるだけでよい。本発明によって、ウインドウがレンダリング・システムのソース解像度と異なる解像度で表示された場合でも、ウインドウを再描画なしに移動可能である。更に、ウインドウの内容がウインドウの左上の座標に関連して描画され、デバイスのウインドウ位置に依存しない、ウインドウ自身のデバイス・グリッドを有する各ウインドウが提供される。本発明は、表示デバイスの解像度に依存しないウインドウを表示する方法、1つまたは複数の任意の解像度のデバイス上で、異なるソース解像度を有する複数の重複したウインドウをレンダリングする方法、及び表示デバイスの解像度に依存しない有限の座標グリッドをスクロールする方法を含む。これらの方法を単独、又は組み合わせて用い、表示デバイス上に表示されるグラフィック・イメージを飛躍的に拡張することができる。
表示デバイスの解像度に依存しないウインドウを表示する方法は、汎用座標内にウインドウの境界を定義するステップ、ソース・スペースの局所座標内にウインドウの内容を定義するステップ、汎用座標内に可視領域を定義するステップ、汎用座標からデバイス・グリッドにウインドウの境界をマッピングするステップ、スクリーン上にウインドウの境界を描画するステップ、ソース・スペースの汎用座標からデバイス・グリッドに可視領域をマッピングするステップ、ソース・スペースの局所座標からデバイス・グリッドにウインドウの内容をマッピングするステップ、デバイス・スペース内のウインドウの内容のマップ情報を調整して、デバイス・スペース内の可視領域に当てはめるステップ、次に調整されたウインドウの内容を描画するステップを含む。
【図面の簡単な説明】
図1は、ソース・スペースからデバイス・スペースにイメージをマッピングする従来技術のグラフィック表現を示す図である。
図2Aは、汎用ソース・スペースからデバイス・スペースにイメージをマッピングする従来技術のグラフィック表現を示す図である。
図2Bは、局所ソース・スペースからデバイス・スペースにイメージをマッピングする従来技術のグラフィック表現を示す図である。
図3A、及び3Bは、ソース・ピクセルをデバイス・ピクセルにマッピングする、及びソース・ピクセル内のウインドウをデバイス・ピクセルにマッピングするグラフィック表現をそれぞれ示す図である。
図4は、第1のウインドウに重複する第2のウインドウを有するスクリーン・ディスプレイのグラフィック表現を示す図である。
図5は、ソース・ピクセル及びデバイス・ピクセルにマッピングされた第1及び第2の重複するウインドウのグラフィック表現をそれぞれ示す図である。
図6A、及び6Bは、ソース・ピクセル及びデバイス・ピクセルにマッピングされた第2のウインドウのグラフィック表現をそれぞれ示す図である。
図7は、本発明に従う、解像度に依存しないウインドウをレンダリングする好適な方法のフローチャートである。
図8A、及び8Bは、本発明に従う、解像度に依存しない複数の重複したウインドウをレンダリングする好適な方法のフローチャートである。
図9は、有限の座標グリッド上でスクロールを行う好適な方法のフローチャートである。
好適実施例の詳細な説明
ここで図3Aと3Bを参照すると、本発明がウインドウ・システムにおいてグリッディングの影響を克服する方法が示されている。本発明の好適実施例を説明するために、汎用座標はソース・スペースと同じ解像度存在するものとして定義される。図3Aはソース・ピクセルのグリッド12の一部がデバイス・ピクセル14のグリッドに対し、水平ピクセルに関するマッピングが行われている例が示されている。この例では、ソース・スペースは72DPIであり、デバイス・スペースは128DPIである。このマッピングは垂直のピクセルに関しても同様に行われる。これは図1に示したものと同様である。図から分かるように、ソース・ピクセルのほとんどは2つのデバイス・ピクセルにマッピングされる。しかし、第3のソース・ピクセル16は1つのデバイス・ピクセル18にしかマッピングされない。図3Bは、本発明によるウインドウ20がソース・ピクセルのグリッド内に定義され、そのウインドウがどのようにデバイス・ピクセルのグリッド14上のスクリーンにレンダリングされるかを例示している。ウインドウ20はソース・スペース・ピクセルのグリッド12上に、境界22及び内容24を含むことが好ましい。図で示すように、ウインドウ20は、境界28及び内容30を同様に含むデバイス・スペース・ウインドウ26にマッピングされる。このデバイス・ピクセルのグリッド14に対するマッピングは、ウインドウの位置がその出現にどのように影響するかを例示している。ウインドウ26が図3Bに示すように配置される場合、その境界、特に左側の境界は通常2つのデバイス・ピクセルを占める幅である。しかし、汎用座標内を各ウインドウが移動するにつれて、そのウインドウの枠のグリッディングがデバイス・スペース内で変化する。ウインドウ26が3つの汎用ピクセル分だけ右に移動すると、ウインドウ26の左の境界は半分に減少する。図3Bに示すように、このグリッディング現象は上部境界と下部境界の間の違いによって示される。ウインドウ26の位置のために、上部境界は2ピクセルの高さであるのに対して、下部境界は1ピクセルの高さである。従って、ウインドウの内容に関するグリッディングの影響は、本発明で境界のグリッディングの影響を吸収することによって、また、それによって内容のサイズ及び相対的なグリッディングをウインドウの位置に関係なく同じに保ち、ウインドウの内容を再描画する必要をなくすことによって排除される。
次に図4を参照すると、本発明によるウインドウの定義が記述されている。図4は第1及び第2のウインドウ34、36を示す表示デバイスのスクリーン32を例示している。本発明が有益であるのは、個別のウインドウ及び互いに重複している複数のウインドウの両方に関して、ウインドウ・システム上のグリッディングの影響を低減させる点である。本発明は、各ウインドウ34、36をウインドウの境界38、ウインドウの内容40、可視領域42、及びクリップ領域44を含むものとして定義することによって、この結果を達成する。ウインドウの境界38はウインドウの内容40を取り囲み、ウインドウ34、36のサイズを確定する矩形の枠を含むことが望ましい。この境界38は汎用デバイス・グリッドの汎用座標内に定義されることが好ましい。例えば、境界38は72DPIの汎用座標内に指定されうる。ウインドウの境界38は図4に示すようにタイトルも含むことができる。ウインドウの内容40は表示されるべきイメージである。ウインドウの内容40は、境界38の汎用座標に関連する局所デバイス・グリッドの局所座標内に定義されることが望ましい。例えば、内容40はポート解像度の局所座標に指定されうる。ウインドウの境界38は汎用デバイス・グリッドにマッピングされるが、ウインドウの内容40は局所デバイス・グリッドにマッピングされる。このことは2つのグリッドの間に重複があり得ることを意味している(例えば、内容の局所デバイス・グリッド及びウインドウの境界38の汎用グリッドの間にデバイス・ピクセルに関する競合が存在する可能性がある)。本発明は可視領域42と呼ばれる領域にわたってこの競合を排除する。可視領域42は汎用座標内に定義され、見ることができるウインドウ34、36の内容ピクセルを表す。任意のウインドウの内容の描画は、デバイス・レベルでこの可視領域42にクリップすることができる。これは、ウインドウ34、36への描画が、ソース・スペース汎用グリッドを用いてデバイス・スペース内のウインドウの可視ピクセルにクリップされることを意味している。ウインドウ34、36への描画は応用プログラムでクリップ領域44を使用することによって達成される。クリップ領域44は、内容と同様に局所座標内で指定され、例えばポート解像度の局所座標内で指定される。ウインドウの内容40がポートに関連して描画されるために、その内容はウインドウ34、36がどこに配置されようと同じ場所に留まる。以前のウインドウの位置と新しいウインドウの位置のグリッディングの違いはウインドウの境界38内で発生する。従って、ウインドウ(このウインドウの境界は汎用スペース内に72DPIで指定される)が128DPIのモニタ上で移動した場合、そのウインドウの境界38は1つまたは複数のデバイス・ピクセル(位置に依存する)によって、今まで表現されていたものから変化するが、内容40はそのまま変わらない。
図7をここで参照すると、本発明のシステムを用いてウインドウを表示するための好適な方法が記述されている。この好適な方法はステップ50のウインドウの境界38を汎用座標内に定義することによって開始される。次にこの方法はステップ51でウインドウの内容40をソース・スペースの局所座標内に任意のウインドウ解像度で定義する。ステップ52でこの方法は、汎用座標内に可視領域42を定義する。次にステップ53で、ウインドウの境界38が汎用座標からデバイス・グリッドにマッピングされ、ウインドウの境界38がスクリーン32上に描画される。次にステップ54で、可視領域42が汎用座標からデバイス・グリッドにマッピングされる。次にこの方法はウインドウの内容40をウインドウ・ソース・スペースの局所座標からデバイス・グリッドにステップ55でマッピングする。ステップ56で、この方法はデバイス・スペース内のウインドウの内容40のマップを調整し、デバイス・スペース内の可視領域42に当てはめる。ウインドウの内容40は、可視領域42の境界の外側のこれらのデバイス・ピクセルを識別することによって調整される。こうした任意のピクセルは排除され、調整されたウインドウの内容が生成される。この調整されたウインドウの内容は次に、ステップ57でスクリーン上に描画され、可視領域42と境界38の両方が汎用座標内に定義されているために、デバイス・ピクセルに関する競合が発生しないよう保証される。
ここで図5A、及び5Bを参照すると、複数の層を成したウインドウとともにグリッディングの問題が示されている。図5Aはソース汎用スペース内の第1及び第2のウインドウ80、82を示している。第2のウインドウB82は第1のウインドウA80を、図5Aに示すように覆う可能性がある。しかし、ウインドウ80、82のそれぞれが通常局所座標内に定義されているので、グリッディングのためにデバイス・ピクセルの競合が発生する可能性がある。図5Bは第1及び第2のデバイス・スペース・ウインドウ84、86をもたらす第1及び第2のウインドウ80、82の汎用スペースへのマッピングを示している。各ウインドウの内容がそれ自身の座標グリッドを有しているので、ウインドウB86の左端が以前にウインドウAの内容84によって所有されていたピクセル88を分割する。このデバイス・ピクセルの競合はウインドウのイメージに関する問題を発生させる。
本発明のシステムは複数の重複したウインドウをレンダリングする方法も含む。1つのウインドウが他のウインドウによって覆われている場合、本発明は下にあるウインドウの可視領域から上で覆っているウインドウの領域を除去することが望ましい。このことは、覆われた方のウインドウに、上にあるウインドウが所有する任意のピクセルを重ねて描画することを抑止し、デバイス・ピクセルの競合によって発生する問題を排除する。
ここで図8A、及び8Bを参照すると、本発明による、複数の、重複した、解像度に依存しないウインドウをレンダリングする方法の好適実施例が記述されている。この方法は、単一ウインドウに関する方法と同様、ソース・スペース内に第1及び第2のウインドウを定義することから始まる。ステップ60では、第1のウインドウに関する境界及び可視領域が汎用スペース内に定義される。ステップ61では、この方法が第1のウインドウの内容を局所スペース内に定義する。次のステップ62では、この処理が第2のウインドウに関する境界及び可視領域を汎用スペース内に定義する。第2のウインドウの内容がステップ63で局所スペース内に定義される。次にこの方法はステップ64で、どのウインドウがそれらの中で上部にあるかを判定する。その上部にあるウインドウが、図7に関して前述したのと同様のステップを用いていつも通りに描画されうる。この好適な方法はステップ65で上部ウインドウの境界をソース・スペースの汎用座標からデバイス・グリッドにマッピングし、スクリーン上にその境界を描画する。次にステップ66で、上部ウインドウの可視領域が、汎用座標からデバイス・グリッドにマッピングされる。この方法は次に、上部ウインドウの内容を局所座標からデバイス・グリッドにステップ67でマッピングする。ステップ68でこの方法は、デバイス・スペース内でステップ67の結果を調整し、デバイス・スペース内の可視領域に当てはめる。上部ウインドウに関する、調整されたウインドウの内容は次にスクリーン上に描画される。
しかし、下部ウインドウが描画される前に、上部ウインドウによって覆われたウインドウの一部がディスプレイ上で描画されないように、下方のウインドウは修正されるか又は調節されなければならない。ステップ70で、この方法は下部ウインドウの境界をデバイス・グリッドにマッピングする。次にステップ71で、境界が削減されるか又は調節されて、上部ウインドウに覆われたこれらのピクセルを除去する。両方のウインドウに関する境界が汎用座標内に定義されているため、2つの境界がスクリーン上に描画された時に、ピクセルのいかなる競合も発生しない。次にステップ72で、下部ウインドウの可視領域90が、上部ウインドウによって覆われていないピクセルのみを含むように調節される。図6Aの例で示すように、ウインドウBがウインドウAの上に動かされた時、ウインドウAの可視領域90は、ウインドウBがウインドウAと重複する場所の6つのソース・ピクセルだけ削減される。この削減されたエリアは調節された可視領域90である。次にステップ73で、下部ウインドウのその調節された可視領域90が、調節された可視デバイス・スペース領域92にマッピングされる。図6Bで最も良く分かるように、このマッピングはウインドウA内の任意の描画ソースを正しいデバイス・ピクセルにクリップする、デバイス・スペース可視領域92を生成する。調節された可視領域90もまた、汎用座標内に定義され、従って下部ウインドウの内容と上部ウインドウの境界の間のピクセルの全ての競合が排除される。次に、この方法はステップ74で、下部ウインドウの内容をデバイス・グリッドにマッピングする。ステップ75で、デバイス・グリッド単位内の下部ウインドウの内容が調整され、調節された可視領域92を形成するデバイス・スペース単位に当てはめる。最後にステップ76で、調節された下部ウインドウのウインドウの内容がスクリーン上に描画される。ウインドウBがウインドウA上に動かされた時に、問題となるピクセルはウインドウAの内容によって所有される。従って、ウインドウBの境界が再描画され、これらのピクセルに所有者が与えられる。ウインドウAの可視領域は次に、ウインドウA内の後続の任意の描画が正しいピクセルにクリップされるように調整される。
ここで図9を参照すると、ウインドウ・システムを改良する別の方法が記述されている。図9は有限の座標グリッド上の解像度スクロールに関する好適な方法を例示している。上述の通り、描画処理はウインドウの起点の関連して行われる。ウインドウは、そのウインドウのデバイス上の位置に関係なく同じデバイス・グリッドを維持する。本発明のシステムにおいてスクロール・ウインドウの内容をスクロールするために、その起点はスクロール操作に応じて動かされなければならない。この起点が、グラフィック・システムによって定義された座標スペースの境界に制限されるため、ウインドウ内でスクロール可能なデータのサイズは制限される。本発明はこの問題を排除し、ウインドウのデバイス・グリッドの完全性を維持する。このことは、たとえ付属デバイスが異なる解像度を有していても、全ての付属デバイスに関して正しいグリッディングが提供される処理を備えた本発明において達成される。
図9に示すように、この方法はステップ100で、ウインドウのイメージ又は内容が定義されているソース解像度を検索することによって開始される。次にステップ101においてこの方法は、システムに接続された各デバイスの解像度を検索する。次にステップ102でスクロールされるべき表示の量が入力される。次にステップ103で、この方法はデバイスの解像度が繰り返される周期を判定する。言い換えると、全てのデバイス・グリッド内の同じポイントが繰り返される前の、ソース・ピクセルの数である。この周期は以下の式を用いて判定することができる。
周期=ソース解像度/GCD(ソース解像度,デバイス1の解像度,デバイス2の解像度...デバイスnの解像度)
この式において、GCDは最大公約数を見つけだす関数である。ステップ103において一旦周期が判定されると、この方法はオブジェクトを2ステップでスクロールすることによってオブジェクトを同じグリッド上に配置させるように、そのオブジェクトをスクロールさせる。最初にそのオブジェクトがその周期の倍数の量を移動して、次に起点が、周期より少ない、オブジェクトがスクロールされるべき任意の残りの量だけオフセットされる。この2つの部分処理によって、オブジェクトのグリッディングが維持される。ステップ104で、この方法はオブジェクトがシフトされるべき量を判定し、次にそのオブジェクトをシフトするのが望ましい。この処理はオブジェクトを、上または下(スクロールと反対方向)に移動させる。オブジェクトがシフトされるべき量はスクロール量/周期といった整数除算と周期の乗算を用いて判定することができる。即ち以下の式によって判定可能である。
シフト単位=周期×切り捨て(スクロール量/周期)
シフト量が計算されると、オブジェクトがその値だけシフトされる。次にステップ105で、この方法がスクロール量の入力を得るために起点を調整する量を判定する。起点が調整されるべき量は以下の式によって判定される。
起点調整量=スクロール量 MOD周期
ここでMODはモジューロ関数を表し、代替実施例においては、起点が調整されるべき量は、スクロール量からシフト単位を減算することによっても計算可能である。この方法は次に、その起点を、その起点が調整されるべき量だけ、オブジェクトがシフトされた方向とは逆の方向に移動させることによって調整する。従って、このオブジェクトは同じグリッドを維持しながら効果的にスクロール量だけ移動できる。ここでは垂直方向のスクロールのみが説明されているが、当業者には、水平方向のスクロールにもこの方法が適用可能であることが理解される。
例えば、72DPIのソース・スペースを有するシステムにおいて、155ピクセルだけ下にオブジェクトをスクロールすることを考えてみる。このシステムは128DPIのデバイス・スペースで第1のモニタと接続されており、108DPIの解像度で第2のモニタと接続されている。デバイスグリッドの繰り返しがある周期は以下の通りである。
オブジェクトが次に以下の量だけ下にシフトされる。
そして最後に起点が上に以下の量だけ調整される。
起点調整量=155 MOD 18=11ピクセル
本発明は特定の好適実施例に関連して記述を行ってきたが、本発明には様々な修正が提供されうることが当業者には理解される。例えば、図7及び図8に関連して記述した方法に加えて、解像度に依存しないウインドウをレンダリングする方法に関する他の実施例が存在しうる。好適実施例に対する、これら及び他の変更及び修正が、本発明によって提供され、その範囲は請求の範囲によってのみ制限される。
Claims (21)
- 表示デバイスの解像度に依存することなく、表示デバイスのスクリーン上にウインドウを表示する方法であって、前記スクリーンが表示デバイスの解像度によって設定されたデバイス・グリッドを有し、前記方法が
ウインドウを、境界、ウインドウの内容、及び可視領域を有するものとして定義するステップ、
ウインドウの境界、及び可視領域をデバイス・グリッドにマッピングするステップ、
ウインドウの境界をスクリーン上に描画するステップ、
ウインドウの内容をデバイス・グリッドにマッピングするステップ、
デバイス・スペース内のウインドウの内容のデバイス・グリッド・マップを調整し、デバイス・スペース内の可視領域に当てはめるステップ、及び
調整されたウインドウの内容を描画するステップを含むことを特徴とする、前記方法。 - ウインドウを定義するステップが更に、
ソース・スペースの汎用座標内にウインドウの境界を定義するステップ、及び
ソース・スペースの汎用座標内に可視領域を定義するステップを含むことを特徴とする、請求項1に記載の方法。 - ウインドウを定義するステップが更に、
ソース・スペースの局所座標内にウインドウの内容を定義するステップを含むことを特徴とする、請求項1に記載の方法。 - ウインドウの境界をマッピングするステップが、
ウインドウの境界と可視領域を、ソース・スペースの汎用座標からデバイス・グリッド・ピクセルに変換することを特徴とする、請求項1に記載の方法。 - ウインドウの内容をマッピングするステップが、
ウインドウの内容を、ソース・スペースの局所座標からデバイス・グリッド・ピクセルに変換することを特徴とする、請求項1に記載の方法。 - デバイス・グリッド・マップを調整するステップが更に、
可視領域の外側のデバイス・ピクセルを識別するステップ、及び前記識別されたデバイス・ピクセルをデバイス・ピクセルに対するウインドウの内容のマップから削減し、調整されたウインドウのインドウの内容を生成するステップを有することを特徴とする、請求項1に記載の方法。 - 表示デバイスの解像度及び個々のウインドウの解像度に依存することなく、表示デバイスのスクリーン上に複数のウインドウを表示する方法であって、前記スクリーンが表示デバイスの解像度によって設定されたデバイス・グリッドを有し、前記方法が、
第1のウインドウを定義するステップ、
第2のウインドウを定義するステップ、
第1及び第2のウインドウのうち一方を上部ウインドウとして、他方を下部ウインドウとして識別するステップ、
上部ウインドウをデバイス・グリッドに対してマッピングするステップ、
表示デバイスのスクリーン上に上部ウインドウを描画するステップ、
上部ウインドウと同じ座標スペースに下部ウインドウの内容に関する可視領域を定義するステップ、
下部ウインドウ上の上部ウインドウの重複により、可視領域のサイズを調整するステップ、
可視領域及び下部ウインドウをデバイス・スペースに対してマッピングするステップ、
下部ウインドウを調節して、可視領域のサイズに当てはめるステップ、及び
表示デバイスのスクリーン上に、調節された下部ウインドウを描画するステップを含むことを特徴とする、前記方法。 - 第1のウインドウを定義するステップが、
第1のウインドウの境界をソース・スペースの汎用座標内に定義するステップ、
第1の可視領域をソース・スペースの汎用座標内に定義するステップ、及び
第1のウインドウの内容を任意の解像度のソース・スペースの局所座標内に定義するステップを含むことを特徴とする、請求項7に記載の方法。 - 第2のウインドウを定義するステップが、
第2のウインドウの境界をソース・スペースの汎用座標内に定義するステップ、
第2の可視領域をソース・スペースの汎用座標内に定義するステップ、及び
第2のウインドウの内容を任意の解像度のソース・スペースの局所座標内に定義するステップを含むことを特徴とする、請求項7に記載の方法。 - 上部ウインドウをデバイス・グリッドにマッピングするステップが、
上部ウインドウの境界をソース・スペースの汎用座標からデバイス・グリッドに対してマッピングするステップ、
上部ウインドウの可視領域を汎用座標からデバイス・グリッドに対してマッピングするステップ、
上部ウインドウの内容を局所座標からデバイス・グリッドに対してマッピングするステップ、及び
上部ウインドウの内容のデバイス・グリッド・マップをデバイス・スペース内で調整し、可視領域のデバイス・グリッド・マップに当てはめるステップを含むことを特徴とする、請求項8に記載の方法。 - スクリーン上に上部ウインドウを描画するステップが、
境界のデバイス・グリッド・マップを描画するステップ、
調整された上部ウインドウの内容のデバイス・グリッド・マップを描画するステップを含むことを特徴とする、請求項10に記載の方法。 - 下部ウインドウの内容に関する可視領域を定義するステップが、
下部ウインドウの境界をソース・スペースの汎用座標内に定義するステップ、
下部ウインドウの可視領域をソース・スペースの汎用座標内に定義するステップ、及び
下部ウインドウの内容をソース・スペースの局所座標内に定義するステップを含むことを特徴とする、請求項10に記載の方法。 - 下部ウインドウ及び上部ウインドウの内容に関する可視領域が両方ともソース・スペースの汎用座標内に定義されることを特徴とする、請求項7に記載の方法。
- 可視領域のサイズを調節するステップが、
上部ウインドウが覆うデバイス・スペースの汎用座標内のピクセルを識別するステップ、
下部ウインドウが覆うデバイス・スペースの汎用座標内のピクセルを判定するステップ、及び
上部ウインドウ及び下部ウインドウ両方に覆われたデバイス・スペースの汎用座標内のピクセルを可視領域から除去するステップを含むことを特徴とする、請求項7に記載の方法。 - 可視領域のサイズを調節するステップが、
上部ウインドウが覆うデバイス・スペースの汎用座標内のピクセルを識別するステップ、
下部ウインドウの可視領域が覆うデバイス・スペースの汎用座標内のピクセルを判定するステップ、
上部ウインドウ及び下部ウインドウ両方に覆われたデバイス・スペースの汎用座標内のピクセルを可視領域から除去するステップ、
下部ウインドウの境界が覆うデバイス・スペースの汎用座標内のピクセルを判定するステップ、及び
上部ウインドウに覆われたデバイス・スペースの汎用座標内のピクセルを下部ウインドウの境界から除去するステップを含むことを特徴とする、請求項12に記載の方法。 - 可視領域及び下部ウインドウをデバイス・スペースにマッピングするステップが、
下部ウインドウの境界をソース・スペースの汎用座標からデバイス・グリッドに対してマッピングするステップ、
下部ウインドウの可視領域を汎用座標からデバイス・グリッドに対してマッピングするステップ、
下部ウインドウの内容を局所座標からデバイス・グリッドに対してマッピングするステップを含むことを特徴とする、請求項12に記載の方法。 - 下部ウインドウを調節して可視領域のサイズに当てはめるステップが、
下部ウインドウを形成するデバイス・ピクセルを識別するステップ、
下部ウインドウの可視領域を形成するデバイス・ピクセルを判定するステップ、及び
可視領域の外側のデバイス・ピクセルを除去するステップを含むことを特徴とする、請求項12に記載の方法。 - 複数の表示デバイスの有限の座標グリッド上で、解像度に依存しないスクロールを実現する方法であって、前記方法が、
ウインドウの内容のソース解像度を検索するステップ、
各表示デバイス解像度を検索するステップ、
ウインドウのスクロール量を入力するステップ、
デバイスの解像度が繰り返される周期を判定するステップ、
オブジェクトがシフトされる量を判定し、そのオブジェクトをシフトするステップ、及び
起点を調節する量を判定し、その起点を調節するステップを含むことを特徴とする前記方法。 - デバイスの解像度が繰り返される周期を判定するステップが、計算式:周期=ソース解像度/GCD(ソース解像度,デバイス1の解像度,デバイス2の解像度...デバイスnの解像度)で計算し、ここでGCDは最大公約数であるステップを含むことを特徴とする、請求項18に記載の方法。
- オブジェクトがシフトされる量を判定するステップが、計算式:シフト単位=周期×切り捨て(スクロール量/周期)で計算するステップを含むことを特徴とする、請求項18に記載の方法。
- 起点を調節する量を判定するステップが、計算式:起点調節量=スクロール量MOD周期で計算し、ここでMODがモジューロ関数であるステップを含むことを特徴とする、請求項18に記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US5963593A | 1993-05-10 | 1993-05-10 | |
US08/059,635 | 1993-05-10 | ||
PCT/US1994/004988 WO1994027278A1 (en) | 1993-05-10 | 1994-05-05 | A windowing system with independent windows of arbitrary resolution for display on multiple devices of arbitrary resolution |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08510074A JPH08510074A (ja) | 1996-10-22 |
JP3892900B2 true JP3892900B2 (ja) | 2007-03-14 |
Family
ID=22024249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP52554594A Expired - Lifetime JP3892900B2 (ja) | 1993-05-10 | 1994-05-05 | 複数の任意解像度のデバイスに表示を行うための任意解像度の個別ウインドウを備えたウインドウ・システム |
Country Status (7)
Country | Link |
---|---|
US (1) | US5517209A (ja) |
EP (1) | EP0698266B1 (ja) |
JP (1) | JP3892900B2 (ja) |
AU (1) | AU6826094A (ja) |
CA (1) | CA2162560A1 (ja) |
DE (1) | DE69412479T2 (ja) |
WO (1) | WO1994027278A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05181443A (ja) * | 1991-07-01 | 1993-07-23 | Seiko Epson Corp | コンピュータ |
US6397262B1 (en) | 1994-10-14 | 2002-05-28 | Qnx Software Systems, Ltd. | Window kernel |
CA2118201C (en) * | 1994-10-14 | 2003-02-04 | Patrick M. Hayden | Photon windowing kernel |
TW316965B (ja) * | 1995-10-31 | 1997-10-01 | Cirrus Logic Inc | |
US6275266B1 (en) | 1997-11-12 | 2001-08-14 | Philips Electronics North America Corporation | Apparatus and method for automatically detecting and configuring a television display for a personal computer |
JP3164070B2 (ja) | 1998-07-24 | 2001-05-08 | 日本電気株式会社 | オブジェクト配置制御装置、方法及び記録媒体 |
JP2000172243A (ja) * | 1998-12-09 | 2000-06-23 | Sharp Corp | 表示装置及び表示方法並びに表示制御プログラムを記憶した記憶媒体 |
US7475356B2 (en) * | 2001-05-11 | 2009-01-06 | Xerox Corporation | System utilizing mixed resolution displays |
US7333071B2 (en) * | 2001-05-11 | 2008-02-19 | Xerox Corporation | Methods of using mixed resolution displays |
US7629945B2 (en) | 2001-05-11 | 2009-12-08 | Xerox Corporation | Mixed resolution displays |
US7546540B2 (en) * | 2001-05-11 | 2009-06-09 | Xerox Corporation | Methods of using mixed resolution displays |
JP2003108283A (ja) * | 2001-09-18 | 2003-04-11 | Internatl Business Mach Corp <Ibm> | コンピュータ装置、表示デバイス、表示制御装置、イメージの処理方法、表示解像度の変更処理方法、コンピュータプログラム |
FR2833131B1 (fr) * | 2001-11-30 | 2004-02-13 | Eastman Kodak Co | Procede et systeme pour obtimiser l'affichage d'un sujet d'interet dans une image numerique |
FR2833132B1 (fr) * | 2001-11-30 | 2004-02-13 | Eastman Kodak Co | Procede pour selectionner et enregistrer un sujet d'interet dans une image numerique fixe |
JP4513592B2 (ja) * | 2005-02-09 | 2010-07-28 | 日本電気株式会社 | コンピュータ切替装置及びそれに用いるコンピュータ切替方法並びにそのプログラム |
US7890881B1 (en) * | 2005-07-29 | 2011-02-15 | Adobe Systems Incorporated | Systems and methods for a fold preview |
US20140075377A1 (en) * | 2012-09-10 | 2014-03-13 | Samsung Electronics Co. Ltd. | Method for connecting mobile terminal and external display and apparatus implementing the same |
CN102945144B (zh) * | 2012-10-08 | 2016-05-18 | 广东威创视讯科技股份有限公司 | 窗口布局的方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4528693A (en) * | 1982-09-30 | 1985-07-09 | International Business Machines Corporation | Apparatus and method for scaling facsimile image data |
US4567515A (en) * | 1983-04-20 | 1986-01-28 | Measuronics Corporation | Multiple image generation and analysis system |
US4559533A (en) * | 1983-11-03 | 1985-12-17 | Burroughs Corporation | Method of electronically moving portions of several different images on a CRT screen |
US4712185A (en) * | 1984-04-28 | 1987-12-08 | Kabushiki Kaisha Toshiba | Dot interpolation control system |
US4823108A (en) * | 1984-05-02 | 1989-04-18 | Quarterdeck Office Systems | Display system and memory architecture and method for displaying images in windows on a video display |
JPH0766317B2 (ja) * | 1986-04-09 | 1995-07-19 | 株式会社日立製作所 | 表示制御方法 |
US4814884A (en) * | 1987-10-21 | 1989-03-21 | The United States Of America As Represented By The Secretary Of The Air Force | Window generator |
-
1994
- 1994-05-05 WO PCT/US1994/004988 patent/WO1994027278A1/en active IP Right Grant
- 1994-05-05 JP JP52554594A patent/JP3892900B2/ja not_active Expired - Lifetime
- 1994-05-05 DE DE69412479T patent/DE69412479T2/de not_active Expired - Lifetime
- 1994-05-05 EP EP94916667A patent/EP0698266B1/en not_active Expired - Lifetime
- 1994-05-05 CA CA002162560A patent/CA2162560A1/en not_active Abandoned
- 1994-05-05 AU AU68260/94A patent/AU6826094A/en not_active Abandoned
-
1995
- 1995-05-09 US US08/437,051 patent/US5517209A/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0698266A1 (en) | 1996-02-28 |
EP0698266B1 (en) | 1998-08-12 |
DE69412479D1 (de) | 1998-09-17 |
WO1994027278A1 (en) | 1994-11-24 |
DE69412479T2 (de) | 1999-04-22 |
AU6826094A (en) | 1994-12-12 |
US5517209A (en) | 1996-05-14 |
CA2162560A1 (en) | 1994-11-24 |
JPH08510074A (ja) | 1996-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3892900B2 (ja) | 複数の任意解像度のデバイスに表示を行うための任意解像度の個別ウインドウを備えたウインドウ・システム | |
US5577187A (en) | Method and system for tiling windows based on previous position and size | |
JPS62191918A (ja) | デ−タ表示方法及びデ−タ表示制御装置 | |
US6360029B1 (en) | Method and apparatus for variable magnification of an image | |
JPH08179743A (ja) | ウインドウ表示処理装置 | |
KR100770622B1 (ko) | 중첩 표시 가능한 디스플레이 컨트롤러 | |
JP3316593B2 (ja) | メモリ・スペース割当方法及び装置 | |
JPH0660173A (ja) | 画像を縮小する方法および装置 | |
US5701138A (en) | Resolution independent methods for rendering a graphic image on a display device | |
JPH09259290A (ja) | 描画方法 | |
JPH0516039B2 (ja) | ||
US4710764A (en) | Device for obtaining continuous plots on the screen of a display console controlled by a graphic processor | |
JP2642374B2 (ja) | 図形クリツピング方法 | |
JP3094624B2 (ja) | 画像表示装置 | |
JP2002258827A (ja) | 画像表示装置 | |
JP2768370B2 (ja) | 図形描画方法 | |
JPH09231045A (ja) | 図面処理のスクロール方法 | |
JPH10187124A (ja) | 描画装置および描画方法 | |
JP3517982B2 (ja) | 図形描画装置 | |
JP2667187B2 (ja) | マルチウインドウにおける線分クリップ方法 | |
JPH0869368A (ja) | 画像出力装置 | |
JP2714114B2 (ja) | グラフィック処理方法及びグラフィックシステム | |
JP2721661B2 (ja) | 表示方法 | |
JPH09326920A (ja) | サブピクセル単位でのデジタル画像処理方法 | |
JPH10222695A (ja) | 描画装置および描画方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20041012 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20041228 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20050214 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061010 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20061013 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061208 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091215 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101215 Year of fee payment: 4 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: R3D02 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101215 Year of fee payment: 4 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101215 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101215 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111215 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111215 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121215 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121215 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131215 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |