JPH1195970A - マルチウィンドウ表示方法および装置 - Google Patents

マルチウィンドウ表示方法および装置

Info

Publication number
JPH1195970A
JPH1195970A JP25177497A JP25177497A JPH1195970A JP H1195970 A JPH1195970 A JP H1195970A JP 25177497 A JP25177497 A JP 25177497A JP 25177497 A JP25177497 A JP 25177497A JP H1195970 A JPH1195970 A JP H1195970A
Authority
JP
Japan
Prior art keywords
window
cell
mask pattern
frame memory
size
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.)
Withdrawn
Application number
JP25177497A
Other languages
English (en)
Inventor
Shinji Egashira
伸二 江頭
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP25177497A priority Critical patent/JPH1195970A/ja
Publication of JPH1195970A publication Critical patent/JPH1195970A/ja
Withdrawn legal-status Critical Current

Links

Landscapes

  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

(57)【要約】 【課題】 ウィンドウ数に応じた描画用フレームメモリ
を予め静的に分割してから、適宜動的に分割することに
より、描画用フレームメモリの領域をウィンドウのサイ
ズに応じて適宜割り当てることができるようにして、描
画用フレームメモリの利用効率の向上をはかり、より多
くのウィンドウの表示を実現する。 【解決手段】 表示部1に表示すべき複数のウィンドウ
の画像を描画用フレームメモリ2上にそれぞれ描画して
から、描画用フレームメモリ2上の各ウィンドウの画像
を表示用フレームメモリ4上に転送して表示画像を作成
し、表示用フレームメモリ4上の画像を表示部2で表示
する際に、描画用フレームメモリ2の領域を複数のセル
に予め等分割しておき、適宜、予め等分割されたセルを
規則的に再分割し、再分割されたセルをウィンドウのサ
イズに応じてウィンドウの描画領域として割り当てる。

Description

【発明の詳細な説明】
【0001】(目次) 発明の属する技術分野 従来の技術(図30〜図34) 発明が解決しようとする課題 課題を解決するための手段(図1) 発明の実施の形態(図2〜図29) 発明の効果
【0002】
【発明の属する技術分野】本発明は、例えばワークステ
ーション等の表示画面上に複数のウィンドウを表示する
ためのマルチウィンドウ表示方法および装置に関する。
【0003】
【従来の技術】図30は一般的なマルチウィンドウ表示
装置の構成を示すブロック図であり、この図30に示す
ように、マルチウィンドウ表示装置100は、CRT
(表示部)200に複数のウィンドウを表示するもの
で、描画部110,描画用フレームメモリ120,画像
転送部130,表示用フレームメモリ140およびウィ
ンドウ管理部150から構成されている。
【0004】ここで、描画部110は、CRT200に
表示すべき各ウィンドウの全体画像を描画用フレームメ
モリ120上に描画するものであり、画像転送部130
は、描画用フレームメモリ120における各ウィンドウ
の画像を表示用フレームメモリ140に転送し、この表
示用フレームメモリ140上に、CRT200で実際に
表示されるべき画像(複数のウィンドウ画像を画面上の
所定位置に配置して重ね合わせた画像)を作成するもの
である。
【0005】ウィンドウ管理部150は、アプリケーシ
ョンからのウィンドウ獲得要求やリサイズ要求や解放要
求を受け、描画部110および画像転送部130を制御
することにより、CRT200でのウィンドウの表示状
態を制御するものである。また、このウィンドウ管理部
150は、図32〜図34にそれぞれ示す分割テーブル
151,状態テーブル152およびセルテーブル153
を有しており、これらのテーブル151〜153を用い
て、描画部110による描画用フレームメモリ120へ
の描画動作を制御している。なお、ウィンドウ管理部1
50による従来のウィンドウ管理手法の詳細について
は、図31〜図34を参照しながら後述する。
【0006】このような構成のマルチウィンドウ表示装
置100によりCRT200にウィンドウを表示する際
には、まず、アプリケーションは、ウィンドウ管理部1
50に対してウィンドウ獲得要求を出力する。このと
き、表示すべきウィンドウの幅(横)および高さ(縦)
が指定される。ウィンドウ管理部150は、指定された
幅および高さに応じ、後述するごとくテーブル151〜
153を用いて、描画用フレームメモリ120上にその
ウィンドウ用の領域を獲得し、そのウィンドウについて
の識別子をアプリケーションに通知する。
【0007】ついで、アプリケーションは、ウィンドウ
の識別子を含む図形データを描画部110に転送する。
描画部110は、指定された識別子に対応する描画用フ
レームメモリ120上の領域に、図形を描画する。そし
て、画像転送部130は、任意のタイミングで描画用フ
レームメモリ120上のウィンドウ描画領域を、表示用
フレームメモリ140上の所定領域(ウィンドウを表示
すべき位置)に転送・複写する。表示用フレームメモリ
140上の画像データはそのままCRT200で表示さ
れる。
【0008】次に、ウィンドウ管理部150による従来
のウィンドウ管理手法について説明する。従来、ウィン
ドウ管理部150は、アプリケーションからのウィンド
ウ獲得要求を受けたタイミングで、描画用フレームメモ
リ120の領域を、必要に応じて規則的に複数のセルに
分割し、そのセルのうちの1つを、新たなウィンドウを
描画するための領域として割り当てている。
【0009】図31〜図34を参照しながら、より具体
的に説明する。なお、描画用フレームメモリ120は、
図31(a)〜図31(d)に示すごとく、例えば横2
048×縦1024の画素(描画点)で構成されている
ものとする。この描画用フレームメモリ120の左上角
部の画素を原点(0,0)、左右方向をx方向、上下方
向をy方向とし、描画用フレームメモリ120上の二次
元位置は、原点位置から右方向への画素数をx座標、原
点位置から下方向への画素数をy座標として表現され
る。例えば、描画用フレームメモリ120の右上角部の
画素の座標は(2047,0)、左下角部の画素の座標
は(0,1023)、右下角部の画素の座標は(204
7,1023)となる。
【0010】アプリケーションから最初のウィンドウの
獲得要求があった場合には、図25(a)に示すよう
に、描画用フレームメモリ120の領域は分割されるこ
となく(分割数=1)、その全領域を使用することがで
きる。2つ目のウィンドウの獲得要求があった場合に
は、描画用フレームメモリ120の領域は、例えば図3
1(b)に示すように、座標(1024,0)を通る縦
方向のラインにより左右の2つの領域(セル)に等分割
され、各セルに対してウィンドウの描画が行なわれる。
このとき、2つのウィンドウのサイズがいずれも各セル
のサイズ1024×1024以下であることが、分割・
割当を許可するための条件となる。
【0011】3つ目のウィンドウの獲得要求があった場
合には、描画用フレームメモリ120の領域は、例えば
図31(c)に示すように、座標(0,512)を通る
横方向のラインにより上下の領域に等分割され、4つの
同一サイズのセルに分割される。そして、新たに増えた
2つのセルのうちの一方が3つ目のウィンドウのための
描画領域として割り当てられる。このとき、3つのウィ
ンドウのサイズがいずれも各セルのサイズ1024×5
12以下であることが、分割を許可するための条件とな
る。
【0012】4つ目のウィンドウの獲得要求があった場
合には、そのサイズが1024×512以下であれば、
新たに増えた2つのセルのうちの残りの一つが4つ目の
ウィンドウのために割り当てられる。さらに、5つ目の
ウィンドウの獲得要求があった場合には、描画用フレー
ムメモリ120の領域は8つのセルに等分割され、以
下、同様に、9つ目のウィンドウの獲得要求があった場
合には、描画用フレームメモリ120の領域は16のセ
ルに等分割され、描画用フレームメモリ120の領域
は、図31(d)に示すように、最大32のセルに等分
割される。
【0013】ただし、いずれの場合も、既に描画用フレ
ームメモリ120の各セル内に描画されているウィンド
ウのサイズと新たに獲得要求のあったウィンドウのサイ
ズとの全てが分割後のセルサイズ以下であることが、新
たな分割を許可する条件である。なお、図31(a)〜
図31(d)において、描画用フレームメモリ120を
分割して得られた各セル内に記載された数字(0〜3
1)は、そのセルを割り当てられたウィンドウに付与さ
れる識別子を示している。
【0014】ウィンドウ管理部150は、上述のような
描画用フレームメモリ120の領域の分割処理および割
当処理を行なうべく、分割テーブル151,状態テーブ
ル152およびセルテーブル153を有している。分割
テーブル151には、図32に示すように、分割数とセ
ルサイズとの対応関係が保持され、状態テーブル152
には、図33に示すように、現在の分割数と使用されて
いるセルの数とが保持されている。この図33では、分
割数が1で且つ使用セル数が0の状態(即ち未だウィン
ドウ表示を行なっていない状態)が示されている。
【0015】また、セルテーブル153には、図34に
示すように、セルの識別子と、その識別子をもつセルに
割り当てられたウィンドウの実際のサイズ(アプリケー
ションから指定されたサイズ)と、その識別子をもつセ
ルの描画用フレームメモリ120上での位置(セルの右
上角部の画素の座標)とが対応付けられて保持されてい
る。
【0016】ウィンドウ管理部150は、これらのテー
ブル151〜153を用いて、次のように動作する。ま
ず、アプリケーションからウィンドウの獲得要求がある
と、ウィンドウ管理部150は、状態テーブル152を
参照して現在の分割数と使用セル数とを比較する。分割
数の方が大きい場合には、未だ使用されていないセルが
存在するので、そのセルを割り当てる。分割数と使用セ
ル数とが等しい場合には、次の分割を行なって未使用セ
ルを作成し、そのうちの一つを割り当てる。
【0017】このとき、前述した通り、新たなのウィン
ドウの指定サイズとともに現存する全てのウィンドウの
実サイズが次の分割で得られるセルのサイズ以下である
ことが、次の分割を許可する条件となる。そこで、ウィ
ンドウ管理部150は、次の分割数でのセルサイズを分
割テーブル151から得るとともに、セルテーブル15
3を参照して現存する全てのウィンドウの実サイズを得
て、これらの比較を行ない、前記条件を満たすか否かを
判断している。
【0018】一方、アプリケーションからウィンドウの
リサイズ要求(描画領域割当済のウィンドウのサイズを
変更する要求)があった場合、ウィンドウ管理部150
は、分割テーブル151から現在の分割数でのセルサイ
ズを参照し、そのセルサイズとアプリケーションの要求
サイズとを比較して、要求サイズがセルサイズ以下であ
ればリサイズを実行し、セルテーブル153において、
そのウィンドウ(セル)の識別子に対応するサイズをリ
サイズ後の新たなサイズに更新する。
【0019】
【発明が解決しようとする課題】しかしながら、上述し
た従来の従来のウィンドウ管理手法では、以下のような
課題があった。 〔1〕アプリケーションから最初に大きなサイズのウィ
ンドウの獲得要求があり、そのウィンドウに対して描画
用フレームメモリ120の領域を割り当ててしまうと、
それ以後の分割が制限され、どんなに小さなサイズのウ
ィンドウに対しても描画用フレームメモリ120の領域
を割り当てることができなくなる。例えば、図31
(a)に示す状態で、横のサイズが1024を超えるウ
ィンドウの獲得要求があり、そのウィンドウに描画用フ
レームメモリ120の領域を割り当ててしまうと、次の
分割(2分割)を行なえなくなる。従って、次にどんな
サイズのウィンドウの獲得要求があっても、描画用フレ
ームメモリ120の領域を割り当てることができず、2
つ目以降のウィンドウの表示を一切行なえず、描画用フ
レームメモリ120の利用効率が極めて悪い。
【0020】〔2〕描画用フレームメモリ120におい
て等分割されたセルのサイズよりも大きな領域を獲得す
ることができず、等分割されたセルのサイズよりも大き
なウィンドウを表示できない。例えば、実際には各セル
にそのセルサイズよりも小さなウィンドウが描画されて
おり、セル区画を無視すればセルサイズよりも大きな領
域を獲得できる場合であっても、セル区画を無視した領
域の獲得・割当を行なえないので、やはり描画用フレー
ムメモリ120の利用効率が極めて悪い。
【0021】〔3〕リサイズを行なう際も、その時点で
描画用フレームメモリ120において等分割されている
セルのサイズ以下のリサイズしか行なえず、そのセルサ
イズを超えるリサイズは一切行なうことができず、描画
用フレームメモリ120の利用効率が極めて悪い。本発
明は、このような課題に鑑み創案されたもので、ウィン
ドウ数に応じた描画用フレームメモリの動的等分割を行
なうことなく、描画用フレームメモリの領域をウィンド
ウのサイズに応じて適宜割り当てることができるように
して、描画用フレームメモリの利用効率の向上をはか
り、より多くのウィンドウの表示を実現した、マルチウ
ィンドウ表示方法および装置を提供することを目的とす
る。
【0022】
【課題を解決するための手段】上記目的を達成するため
に、本発明のマルチウィンドウ表示方法(請求項1)
は、表示部に表示すべき複数のウィンドウの画像を描画
用フレームメモリ上にそれぞれ描画してから、描画用フ
レームメモリ上の各ウィンドウの画像を表示用フレーム
メモリ上に転送して表示画像を作成し、表示用フレーム
メモリ上の画像を表示部で表示する際に、描画用フレー
ムメモリの領域を、複数のセルに予め等分割しておき、
ウィンドウのサイズに応じて、該複数のセルの中から予
め等分割されたセルを当該ウィンドウの描画領域として
割り当て、複数のセルの割当状況を管理し、ウィンドウ
の獲得要求を受けると、当該ウィンドウのサイズに応じ
マスクパターンを生成し、割当状況を参照しながら、未
割当の予め等分割されたセルのパターンと該マスクパタ
ーンとのマッチングを行ない、マスクパターンとマッチ
する未割当の予め等分割されたセルのパターンが存在
し、マスクパターンが予め等分割されたセル以下のサイ
ズの場合、予め等分割されたセルを規則的に再分割し、
再分割されたセルを当該ウィンドウの描画領域として割
り当てることを特徴としている。
【0023】また、複数のセルの割当状況を管理し、描
画領域割当済のウィンドウに対するリサイズ要求を受け
ると、リサイズ後のウィンドウのサイズに応じてマスク
パターンを生成し、リサイズ後のマスクパターンがリサ
イズ前よりも大きい場合、リサイズ前の該複数のセルの
割当状況を一時的に待避させておいてから、リサイズ前
の当該ウィンドウに割り当てられたセルを未割当に書き
換えた割当状況を参照しながら、未割当のセルのパター
ンとリサイズ後のマスクパターンとのマッチングを行な
い、リサイズ後のマスクパターンとマッチする未割当の
セルのパターンが存在する場合、その未割当のセルを当
該ウィンドウのリサイズ後の描画領域として割り当てる
一方、リサイズ後のマスクパターンとマッチする未割当
のセルのパターンが存在しない場合、一時的に待避させ
ておいたリサイズ前の割当状況に戻す(請求項2)。
【0024】一方、図1は本発明の原理ブロック図であ
り、この図1に示すように、本発明のマルチウィンドウ
表示装置は、表示部1,描画用フレームメモリ2,描画
部3,表示用フレームメモリ4,画像転送部5およびウ
ィンドウ管理部6から構成されている。ここで、表示部
1は、複数のウィンドウを表示するものであり、描画用
フレームメモリ2は、表示部1に表示すべき複数のウィ
ンドウの画像をそれぞれ描画されるもので、この描画用
フレームメモリ2には、描画部3により各ウィンドウの
全体画像が描画される。
【0025】また、表示用フレームメモリ4は、描画用
フレームメモリ2上の各ウィンドウの画像を転送されて
表示部1で実際に表示される表示画像を複写されるもの
で、この表示用フレームメモリ4には、画像転送部5に
より描画用フレームメモリ2上の各ウィンドウの画像が
所定位置に転送される。そして、ウィンドウ管理部6
は、描画部3および画像転送部5を制御することにより
表示部1での複数のウィンドウの表示状態を制御するも
ので、特に、本発明のウィンドウ管理部6は、描画用フ
レームメモリ2の領域を、複数のセルに予め等分割した
状態で管理し、ウィンドウのサイズに応じて、複数のセ
ルの中から予め等分割したセルをそのウィンドウの描画
領域として割り当てるものである。
【0026】このとき、ウィンドウ管理部6を、複数の
セルの割当状況を登録されて保持する状態レジスタと、
ウィンドウのサイズに応じたマスクパターン保持するパ
ターンテーブルと、ウィンドウの獲得要求を受けるとそ
のウィンドウのサイズに応じたマスクパターンをパター
ンテーブルから読み出し状態レジスタにおける前記割当
状況を参照しながら未割当のセルのパターンとマスクパ
ターンとのマッチングを行なうマッチング処理部と、こ
のマッチング処理部によるマッチングの結果、マスクパ
ターンとマッチする未割当のセルのパターンが存在し、
該マスクパターンが予め等分割されたセル以下のサイズ
の場合、予め等分割されたセルを規則的に再分割し、再
分割されたセルを当該ウィンドウの描画領域として割り
当て、該状態レジスタの割当状況を更新するセル割当部
とから構成してもよい(請求項3)。
【0027】また、ウィンドウ管理部6を、前述と同様
の状態レジスタおよびパターンテーブルのほか、以下の
ような待避用レジスタ,判定部,待避動作部,書換え
部,マッチング処理部,セル割当部および復元動作部を
そなえて構成してもよい(請求項4)。ここで、待避用
レジスタは、状態レジスタにおける前記割当状況を一時
的に保持するものである。
【0028】判定部は、描画領域割当済のウィンドウに
対するリサイズ要求を受けると、リサイズ後のサイズに
応じたマスクパターンをパターンテーブルから読み出
し、リサイズ後のマスクパターンがリサイズ前よりも大
きいか否かを判定するものである。待避動作部は、判定
部によりリサイズ後のマスクパターンがリサイズ前より
も大きいと判定された場合、状態レジスタに登録されて
いるリサイズ前の割当状況を待避用レジスタに一時的に
待避させるものである。
【0029】書換え部は、待避動作部による待避動作後
に、状態レジスタにおいて、リサイズ前のウィンドウに
割り当てられたセルを未割当に書き換えるものである。
マッチング処理部は、書換え部により書き換えられた状
態レジスタの割当状況を参照しながら、未割当のセルの
パターンとパターンテーブルから読み出されたリサイズ
後のマスクパターンとのマッチングを行なうものであ
る。
【0030】セル割当部は、マッチング処理部によるマ
ッチングの結果、リサイズ後のマスクパターンとマッチ
する未割当のセルのパターンが存在する場合、その未割
当のセルをウィンドウのリサイズ後の描画領域として割
り当て状態レジスタの割当状況を更新するものである。
復元動作部は、マッチング処理部によるマッチングの結
果、リサイズ後のマスクパターンとマッチする未割当の
セルのパターンが存在しない場合、待避用レジスタに一
時的に待避させておいたリサイズ前の割当状況を状態レ
ジスタに戻すものである。
【0031】上述した本発明のマルチウィンドウ表示方
法(請求項1)やマルチウィンドウ表示装置(請求項
3)では、描画用フレームメモリ2の領域を複数のセル
に静的に予め等分割しておき、ウィンドウの獲得要求が
あり、マスクパターンによる検索(マッチング処理)の
結果、描画用フレームメモリ2上に、ウィンドウのサイ
ズに応じた未割当のセル(空き領域)が存在し、マスク
パターンが予め等分割されたセル以下のサイズの場合、
適宜セルを動的再分割し、割り当てられるようになる。
【0032】特に、ウィンドウの大小や獲得順序に関係
なく常にウィンドウの描画領域を獲得することができ
る。また、ウィンドウのサイズが大きくなるリサイズ要
求があった場合でも、本発明では従来のごとくリサイズ
要求時点での分割セルサイズによる制限を受けることが
なくなるので、描画用フレームメモリ2上に、リサイズ
後のウィンドウのサイズに応じた未割当のセル(空き領
域)が存在すれば、常にリサイズ後の描画領域を獲得で
き、リサイズを行なうことができる。なお、リサイズ後
のウィンドウのサイズに応じた未割当のセル(空き領
域)が存在しない場合には、マスクパターンによる検索
時(マッチング処理時)に書き換えられた割当状況から
元の割当状況に戻すことができる(請求項2,4)。
【0033】
【発明の実施の形態】以下、図面を参照して本発明の実
施の形態を説明する。図2は本発明の一実施形態として
のマルチウィンドウ表示装置の構成を示すブロック図で
あり、この図2に示すように、本実施形態のマルチウィ
ンドウ表示装置10は、CRT(表示部)20に複数の
ウィンドウを表示するもので、従来とほぼ同様の描画部
11,描画用フレームメモリ12,画像転送部13,表
示用フレームメモリ14およびウィンドウ管理部15か
ら構成されている。
【0034】ここで、描画部11は、アプリケーション
からの図形データに基づいてCRT20に表示すべき各
ウィンドウの全体画像を描画用フレームメモリ12上に
描画するものであり、画像転送部13は、描画用フレー
ムメモリ12における各ウィンドウの画像を表示用フレ
ームメモリ14に転送し、この表示用フレームメモリ1
4上に、CRT20で実際に表示されるべき画像(複数
のウィンドウ画像を画面上の所定位置に重ね合わせて配
置した画像)を複写・生成するものである。
【0035】ウィンドウ管理部15は、アプリケーショ
ンからのウィンドウ獲得要求やリサイズ要求や解放要求
を受け、描画部11および画像転送部13を制御するこ
とにより、CRT20でのウィンドウの表示状態を制御
するもので、特に、本実施形態では、描画用フレームメ
モリ12の領域を、複数のセルに予め等分割した状態で
管理し、ウィンドウのサイズに応じて、複数のセルの中
から予め等分割されたセルをそのウィンドウの描画領域
として割り当てる。また、予め等分割されたセルは、必
要に応じて規則的に再分割されるものである。
【0036】本実施形態の描画用フレームメモリ12
は、従来と同様、例えば横2048×縦1024の画素
(描画点)で構成され、その描画領域は、図4に示すよ
うに、横8×縦4の32個のセル(セルサイズは横25
6×縦256)に予め静的に等分割されている。図4に
おいて、描画用フレームメモリ12を分割して得られた
各セル内に記載された数字(0〜31)は、そのセルの
指標を示すもので、後述するごとく、描画用フレームメ
モリ12上の領域を割り当てられたウィンドウの識別子
として用いられる。
【0037】なお、図4に示すように、最上段の8個の
セルには左方から順に“0”〜“7”のセル指標が付与
され、上から2段目の8個のセルには左方から順に
“8”〜“15”のセル指標が付与され、上から3段目
の8個のセルには左方から順に“16”〜“23”のセ
ル指標が付与され、最下段の8個のセルには左方から順
に“24”〜“31”のセル指標が付与されている。
【0038】また、本実施形態の描画用フレームメモリ
12の描画領域は、図4のような予め静的に等分割され
ている状態から、図5に示すように、横16×縦8の1
28個のセル(セルサイズは横128×縦128)に必
要に応じて規則的に複数のセルに再分割される。図5に
おいて、描画用フレームメモリ12を再分割して得られ
た各セル内に記載された数字(0−a〜31−d)は、
そのセルの指標を示すもので、後述するごとく、描画用
フレームメモリ12上の領域を割り当てられたウィンド
ウの識別子として用いられる。
【0039】なお、図5に示すように、最上段の16個
のセルには左方から順に“0−a”〜“7−b”のセル
指標が付与され、上から2段目の16個のセルには左方
から順に“0−c”〜“7−d”のセル指標が付与さ
れ、上から3段目の16個のセルには左方から順に“8
−a”〜“15−b”のセル指標が付与され、最下段の
下から2段目の16個のセルには左方から順に“24−
a”〜“31−b”のセル指標が付与され、最下段の1
6個のセルには左方から順に“24−c”〜“31−
d”のセル指標が付与されている。
【0040】次に、図3を参照しながら、本実施形態の
ウィンドウ管理部15の詳細な構成について説明する。
本実施形態のウィンドウ管理部15は、図3に示すよう
に、状態レジスタ群15a,パターンテーブル群15
b,セルテーブル15群c,マッチング処理部15d,
セル割当部15e,待避用レジスタ15f,判定部15
g,待避動作部15h,書換え部15i,復元動作部1
5jおよびエラー通知部15kから構成されている。
【0041】状態レジスタ群15aは、状態レジスタ1
5a−1および状態レジスタ15a−2を有している。
状態レジスタ15a−1は、複数のセルの割当状況を登
録されて保持するもので、本実施形態では、図6に示す
ごとく、ビット番号0〜31を付与された32ビットの
レジスタとして構成されている。この状態レジスタ15
aにおいて、ビット番号0〜31を付与された各ビット
には、セル指標0〜31を付与された各セル(図4参
照)の使用/未使用が0/1情報で設定されている。こ
の状態レジスタ15a−1により、描画用フレームメモ
リ12における各セルの割当状況(使用中か否か)が管
理されるようになっている。
【0042】つまり、指標iを付与されたセルが使用状
態(描画領域として割り当てられている状態)であれ
ば、状態レジスタ15a−1のビット番号iのビットに
は“0”が設定される一方、指標jを付与されたセルが
未使用状態〔描画領域として未割当状態(空きの状
態)〕であれば、状態レジスタ15a−1のビット番号
jのビットには“1”が設定される。
【0043】状態レジスタ15a−2は、状態レジスタ
15a−1に対応した複数のセルの割当状況を登録され
て保持するもので、本実施形態では、図6に示すごと
く、ビット番号32〜127を付与された96ビットの
レジスタとして構成されている。この状態レジスタ15
a−2において、ビット番号32〜127を付与された
各ビットには、セル指標0−a〜31−dを付与された
各セル(図5参照)の使用/未使用が0/1情報で設定
されている。この状態レジスタ15a−2により、描画
用フレームメモリ12が再分割された際の割当状況(使
用中か否か)が管理されるようになっている。
【0044】つまり、指標iを付与されたセルが使用状
態(描画領域として割り当てられている状態)であれ
ば、状態レジスタ15a−2のビット番号iのビットに
は“0”が設定される一方、指標jを付与されたセルが
未使用状態〔描画領域として未割当状態(空きの状
態)〕であれば、状態レジスタ15a−2のビット番号
jのビットには“1”が設定される。
【0045】パターンテーブル群15bは、パターンテ
ーブル15b−1,パターンテーブル15b−2を有し
ている。パターンテーブル15b−1は、ウィンドウの
サイズに応じたマスクパターンを保持するもので、本実
施形態では、図7に示すごとく、指定された横サイズお
よび縦サイズに応じた32種類の矩形のマスクパターン
MP0〜MP31が、パターンテーブル15b−1に保
持されている。つまり、ウィンドウの横サイズおよび縦
サイズを指定することにより、このパターンテーブル1
5bからは、そのウィンドウのサイズに応じたマスクパ
ターンが読み出されるようになっている。なお、本実施
形態において、実際の各マスクパターンは、図17を参
照しながら後述するごとく、1〜32ビットの2進数の
値で表現される。
【0046】図7に示すように、例えばウィンドウの横
サイズが描画用フレームメモリ12の横サイズの1/8
以下(256画素以下のサイズ)で且つウィンドウの縦
サイズが描画用フレームメモリ12の縦サイズの1/4
以下(256画素以下のサイズ)である場合には、1×
1のセルパターン(256画素×256画素)が、マス
クパターンMP0としてパターンテーブル15b−1か
ら読み出される。
【0047】一般化して記述すると、ウィンドウの横サ
イズが描画用フレームメモリ12の横サイズのi/8以
下(256×i画素以下のサイズ)で且つウィンドウの
縦サイズが描画用フレームメモリ12の縦サイズのj/
4以下(256×j画素以下のサイズ)である場合に
は、i×jのセルパターン〔(256×i)画素×(2
56×j)画素〕が、マスクパターンMP〔(i−1)
+(j−1)・8〕=MP(i+8j−9)としてパタ
ーンテーブル15b−1から読み出される。ただし、i
は1〜8の自然数であり、jは1〜4の自然数である。
【0048】パターンテーブル15b−2は、マスクパ
ターンMP0以下のウィンドウのサイズに応じたマスク
パターンを保持するもので、本実施形態では、図7に示
すごとく、指定された横サイズおよび縦サイズに応じた
3種類の矩形のマスクパターンMP0〜MP0−2に再
分割可能なようパターンテーブル15b−2に保持され
ている。つまり、マスクパターンMP0以下のウィンド
ウの横サイズおよび縦サイズを指定することにより、こ
のパターンテーブルB15b−2からは、そのウィンド
ウのサイズに応じたマスクパターンが読み出されるよう
になっている。
【0049】図7に示すように、例えばウィンドウの横
サイズが描画用フレームメモリ12の横サイズの1/1
6以下(128画素以下のサイズ)で且つウィンドウの
縦サイズが描画用フレームメモリ12の縦サイズの1/
8以下(128画素以下のサイズ)である場合には、
(1/2)×(1/2)のセルパターン(128画素×
128画素)が、マスクパターンMP0−1としてパタ
ーンテーブル15b−2から読み出される。
【0050】ウィンドウの横サイズが描画用フレームメ
モリ12の横サイズの1/16以下(128画素以下の
サイズ)で且つウィンドウの縦サイズが描画用フレーム
メモリ12の縦サイズの1/8以上(128画素以上の
サイズ)で1/4以下(256画素以下のサイズ)であ
る場合には、(1/2)×1のセルパターン(128画
素×256画素)が、マスクパターンMP0−2として
パターンテーブル15b−2から読み出される。
【0051】ウィンドウの横サイズが描画用フレームメ
モリ12の横サイズの1/16以上(128画素以上の
サイズ)で1/8以上(256画素以下のサイズ)で且
つウィンドウの縦サイズが描画用フレームメモリ12の
縦サイズの1/8以上(128画素以上のサイズ)で1
/4以下(256画素以下のサイズ)である場合には、
1×1のセルパターン(256画素×256画素)が、
マスクパターンMP0としてパターンテーブル15b−
2から読み出される。
【0052】セルテーブル群15cは、セルテーブル1
5c−1,分割テーブル15c−2,状態テーブル15
c−3およびセルテーブル15c−4を有している。セ
ルテーブル15c−1には、描画用フレームメモリ12
上でウィンドウの描画領域が獲得された場合に、そのウ
ィンドウに割り当てられた描画領域に関する情報、即
ち、セル指標(アプリケーションにウィンドウ識別子と
して通知される指標)とマスクパターンとを対にして保
持するもので、図8に示すように、予め等分割された分
割数n(本実施形態ではn=32)分のセル指標とマス
クパターンとの対が保持されるようになっている。
【0053】分割テーブル15c−2には、図9に示す
ように、予め等分割された分割数n(本実施形態ではn
=32)分を再分割する際のセル指標1つ当たりの分割
数とセルサイズとの対応関係が保持されている。状態テ
ーブル15c−3には、図10に示すように、静的に予
め等分割されているセル指標各々に対応し、動的に再分
割されているセル指標の分割数と使用されているセルの
数とが保持されている。この図10では、動的に再分割
されているセル指標の分割数が1で且つ使用セル数が1
の状態が示されている。
【0054】また、セルテーブル15c−4には、図1
1に示すように、セルの識別子と、その識別子をもつセ
ルに割り当てられたウィンドウの実際のサイズ(アプリ
ケーションから指定されたサイズ)と、その識別子をも
つセルの描画用フレームメモリ12上での位置(セルの
右上角部の画素の座標)とが対応付けられて保持されて
いる。
【0055】ここで、より具体的に、描画用フレームメ
モリ12上に、例えば図12に示すような5種類のウィ
ンドウ(Win)A〜Eのための描画領域が獲得された場合
について説明する。図12に示す状態では、状態レジス
タ15a−1において、ビット番号0〜19・20およ
び24〜27のビットには“0”が設定され、その他の
ビットには“1”が設定される。また、ウィンドウA〜
EのマスクパターンはそれぞれMP10,MP10,M
P11,MP9,MP0であり、ウィンドウA〜Eの識
別子としては各ウィンドウA〜Eを割り当てられたセル
パターンにおける左上セルの指標0,3,16,6,2
0が用いられる。さらに、セルテーブル15c−1に
は、ウィンドウA〜Eについて、それぞれ、セル指標0
とマスクパターンMP10;セル指標3とマスクパター
ンMP10;セル指標16とマスクパターンMP11;
セル指標6とマスクパターンMP9;セル指標20とマ
スクパターンMP0の各対が保持されることになる。
【0056】ここで、ウィンドウEは、予め等分割され
た分割状態のセルの描画領域よりも描画領域が小さいた
め、分割テーブル15c−3には、図10に示すよう
に、セル指標20−aの分割数が1で且つ使用セル数が
1の状態が示されている。また、ウィンドウEは、図1
1に示すように、セルテーブル15c−4にセルの識別
子(20−a)と、その識別子をもつセルに割り当てら
れたウィンドウの実際のサイズ(100×100)と、
その識別子をもつセルの描画用フレームメモリ12上で
の位置(1024,512)とが対応付けられて保持さ
れている。
【0057】さて、マッチング処理部15dは、アプリ
ケーションからウィンドウの獲得要求を受けるとそのウ
ィンドウのサイズに応じたマスクパターンをパターンテ
ーブル15bから読み出し、状態レジスタ群15aにお
ける割当状況を参照しながら未割当のセルのパターンと
マスクパターンとのマッチングを行なうものである。セ
ル割当部15eは、マッチング処理部15dによるマッ
チングの結果、マスクパターンとマッチする未割当のセ
ルのパターンが存在する場合、その未割当のセルをウィ
ンドウの描画領域として割り当て、その描画領域の左上
セルの指標をそのウィンドウの識別子としてアプリケー
ションに通知し、状態レジスタ群15aの割当状況を更
新するとともに、新たに割り当てられた描画領域の情報
〔セル指標(ウィンドウ識別子)およびマスクパター
ン〕をセルテーブル群15cに登録するものである。
【0058】待避用レジスタ15fは、リサイズ時に用
いられるもので、状態レジスタ15aにおける割当状況
を一時的に保持するものである。判定部15gは、描画
領域割当済のウィンドウに対するリサイズ要求を受ける
と、リサイズ後のサイズに応じたマスクパターンをパタ
ーンテーブル群15bから読み出し、リサイズ後のマス
クパターンがリサイズ前(元のマスクパターン)と等し
いかを判定するとともに、リサイズ後のマスクパターン
がリサイズ前よりも大きいか否かを判定するものであ
る。
【0059】待避動作部15hは、判定部15gにより
リサイズ後のマスクパターンがリサイズ前よりも大きい
と判定された場合、状態レジスタ群15aに登録されて
いるリサイズ前の割当状況を待避用レジスタ15fに一
時的に待避させるものである。 書換え部15iは、待
避動作部15hによる待避動作後に、状態レジスタ群1
5aにおいて、リサイズ前のウィンドウに割り当てられ
たセルに対応するビットを未割当(“1”)に書き換え
るものである。
【0060】そして、前述したマッチング処理部15d
は、リサイズ時には、書換え部15iにより書き換えら
れた状態レジスタ15群aの割当状況を参照しながら、
未割当のセルのパターンとパターンテーブル群15bか
ら読み出されたリサイズ後のマスクパターンとのマッチ
ングを行なうように機能する。また、前述したセル割当
部15eは、リサイズ時には、マッチング処理部15d
によるマッチングの結果、リサイズ後のマスクパターン
とマッチする未割当のセルのパターンが存在する場合、
その未割当のセルをウィンドウのリサイズ後の描画領域
として割り当て、その描画領域の左上セルの指標をその
ウィンドウの新たな識別子としてアプリケーションに通
知し、状態レジスタ群15aの割当状況を更新するとと
もに、リサイズ処理により割り当てられた描画領域の情
報〔セル指標(ウィンドウ識別子)およびマスクパター
ン〕をセルテーブル群15cに登録するように機能す
る。
【0061】復元動作部15jは、リサイズ時のマッチ
ング処理部15dによるマッチングの結果、リサイズ後
のマスクパターンとマッチする未割当のセルのパターン
が存在しない場合、待避用レジスタ15fに一時的に待
避させておいたリサイズ前の割当状況を状態レジスタ群
15aに戻すものである。エラー通知部15kは、ウィ
ンドウの獲得時やリサイズ時のマッチング処理部15d
によるマッチングの結果、リサイズ後のマスクパターン
とマッチする未割当のセルのパターンが存在しなかった
場合つまり獲得やリサイズに失敗した場合に、アプリケ
ーションに対して失敗した旨(エラー)を通知するもの
である。
【0062】判定部15gによる判定の結果、リサイズ
後のマスクパターンと元のマスクパターンとが等しい場
合には、ウィンドウ管理部15は特に動作を行なうこと
なくリサイズを許可する。また、判定部15gによる判
定の結果、リサイズ後のマスクパターンが元のマスクパ
ターンよりも小さい場合には、セル割当部15eが、リ
サイズ対象のウィンドウの描画領域の左上セルの位置を
変えることなく、新たなマスクパターンに従って状態レ
ジスタ群15aの割当状況を更新するとともに、セルテ
ーブル群15cにおいて、元のセル指標に対応するマス
クパターンを新たなものに書き換えるように機能する。
【0063】なお、ウィンドウ管理部15は、ウィンド
ウの解放要求を受けると、そのウィンドウに割り当てら
れた描画領域に相当する状態レジスタ群15aのビット
を“1”(未使用)に初期化するとともに、セルテーブ
ル群15cからそのウィンドウについての情報フィール
ドを削除する機能も有している。この機能による動作に
ついては、図16を参照しながら後述する。
【0064】また、図12に示すごとく描画用フレーム
メモリ12上に割り当てられた描画領域に全体画像を描
画されたウィンドウA〜Eは、画像転送部13により表
示用フレームメモリ14へ転送され、図13に示すごと
く、表示用フレームメモリ14上で、CRT20での実
際の表示画像(ウィンドウA〜Eの画像を画面上の所定
位置に重ね合わて配置した画像)が複写・生成される。
【0065】次に、上述のごとく構成された本実施形態
のマルチウィンドウ表示装置10の動作について、図1
4〜図16に示すフローチャートに従って説明する。ま
ず、図14に示すフローチャート(ステップS11〜S
22)を参照しながら、本実施形態でのウィンドウ獲得
処理手順について説明する。ウィンドウ管理部15にお
いてアプリケーションからウィンドウの獲得要求を受け
ると、マッチング処理部15dにより、その要求と同時
に指定されるウィンドウのサイズ(幅×高さ)に応じた
マスクパターンをパターンテーブル15b−1若しくは
パターンテーブル15b−2から選択する(ステップS
11)。
【0066】選択は、指定されたウィンドウのサイズが
256×256以上ならばパターンテーブル15b−1
から、指定されたウィンドウのサイズが256×256
以下ならばパターンテーブル15b−2から選択する。
状態レジスタ群15a上に、そのマスクパターンとマッ
チするパターン〔即ち未割当(未使用)のセルパター
ン〕が存在するか否かを検索・確認する(ステップS1
2)。
【0067】マスクパターンとマッチする未割当のセル
パターン(“1”のパターン)が存在する場合(ステッ
プS12からYESルート)、指定されたウィンドウの
サイズが256×256以上か以下か調べる(ステップ
S13)。指定されたウィンドウのサイズが256×2
56以上の場合(ステップS13から以上のルート)、
ステップS19に進む。
【0068】指定されたウィンドウのサイズが256×
256以下の場合(ステップS13から以下のルー
ト)、予め等分割されたセル毎に対応した状態テーブル
15c−3を参照して使用セル数<分割数か否かを調べ
る(ステップS14)。使用セル数が分割数より小さい
場合(ステップS14からYESルート)、アプリケー
ションからの獲得依頼に付加されている指定ウィンドウ
サイズが現在の分割数の最大ウィンドウサイズ以下か否
かを調べる(ステップS15)。
【0069】現在の分割数の最大ウィンドウサイズ以上
の場合(ステップS15からNOルート)、別の状態テ
ーブル15c−3を検索する。現在の分割数の最大ウィ
ンドウサイズ以上の場合(ステップS15からYESル
ート)、ステップS19に進む。使用セル数が分割数と
同じ場合(ステップS14からNOルート)、分割テー
ブル15c−2を参照して、指定ウィンドウサイズが次
の分割数の最大ウィンドウサイズ以下か否かを調べる
(ステップS16)。
【0070】最大ウィンドウサイズ以上の場合(ステッ
プS16からNOルート)、別の状態テーブル15c−
3を検索する。最大ウィンドウサイズ以下の場合(ステ
ップS16からYESルート)、既に獲得されているウ
ィンドウサイズが、次の分割数の最大ウィンドウサイズ
か否かを調べる(ステップS17)。
【0071】最大ウィンドウサイズ以上の場合(ステッ
プS17からNOルート)、別の状態テーブル15c−
3を検索する。最大ウィンドウサイズ以下の場合(ステ
ップS16からYESルート)、状態テーブル15c−
3の分割数を分割テーブル15c−2の次行の分割数に
更新する(ステップS18)。
【0072】セル割当部15eにより、未割当のセルを
ウィンドウの描画領域として割り当て、そのセルに対応
する状態レジスタ群15aのビットを“0”として割当
状況を更新し、そのセルが使用中であることを示すよう
にする(ステップS19)。そして、新たに割り当てら
れた描画領域の情報〔セル指標(ウィンドウ識別子)と
マスクパターンとの対〕をセルテーブル15群cに登録
し(ステップS20)、さらに、その描画領域の左上セ
ルの指標(マスクパターンと一致した状態レジスタ15
aのビットグループ中の最下位ビットの番号)をそのウ
ィンドウの識別子としてアプリケーションに通知する
(ステップS21)。
【0073】なお、上述したステップS19〜S21の
実行順序は、この順序に限定されるものではなく、同時
に実行されてもよい。また、マスクパターンとマッチす
る未割当のセルパターン(“1”のパターン)が存在し
ない場合(ステップS12からNOルート)、ウィンド
ウの獲得に失敗したことになり、エラー通知部15kに
より、アプリケーションに対してウィンドウ獲得に失敗
した旨のエラー情報を通知する(ステップS22)。
【0074】ついで、図15に示すフローチャート(ス
テップS31〜S39)を参照しながら、本実施形態で
のウィンドウリサイズ処理手順について説明する。ウィ
ンドウ管理部15においてアプリケーションから描画領
域割当済のウィンドウに対するリサイズ要求を受ける
と、判定部15gにより、その要求と同時に指定される
リサイズ後のサイズに応じたマスクパターンをパターン
テーブル群15bから読み出し、そのマスクパターンが
リサイズ前(元のマスクパターン)と等しいか否かを判
定する(ステップS31)。
【0075】判定部15gにより、リサイズ後のマスク
パターンと元のマスクパターンとが等しいと判定された
場合(ステップS31からYESルート)、リサイズ後
のウィンドウを、描画用フレームメモリ12上でリサイ
ズ前のウィンドウに現在割り当てられているセル内に描
画することができるので、ウィンドウ管理部15は、特
に動作を行なうことなくリサイズを許可し、リサイズ処
理を終了する。
【0076】リサイズ後のマスクパターンと元のマスク
パターンとが等しくない場合(ステップS31からNO
ルート)、判定部15gにより、リサイズ後のマスクパ
ターンが元のマスクパターンよりも大きいか否かを判定
する(ステップS32)。なお、マスクパターンの大き
さの判定は、図17または図18に示すようなマスクパ
ターンの値を比較することにより行なわれる。マスクパ
ターンの値の大小関係は、そのままマスクパターン自体
の大小関係に対応している。
【0077】判定部15gにより、リサイズ後のマスク
パターンが元のマスクパターンよりも小さいと判定され
た場合(ステップS32からNOルート)、セル割当部
15eにより、リサイズ対象のウィンドウの描画領域の
左上セルの位置を変えることなく、新たなマスクパター
ンに従って状態レジスタ群15aの割当状況を更新する
(ステップS33)。つまり、状態レジスタ15aにお
いて、リサイズ対象のウィンドウの識別子番目に相当す
るビット番号のビットを先頭にして、元のマスクパター
ンに相当するビットを一旦“1”(未使用)に書き換え
た後、同じビットを先頭にしてリサイズ後のマスクパタ
ーンに相当するビットを“0”(使用中)に書き換え
る。さらに、セルテーブル群15cにおいて、元のセル
指標に対応するマスクパターンを、新たなマスクパター
ンつまりリサイズ後のマスクパターンに書き換えて更新
する(ステップS34)。
【0078】一方、判定部15gにより、リサイズ後の
マスクパターンが元のマスクパターンよりも大きいと判
定された場合(ステップS32からYESルート)、ま
ず、待避動作部15hにより、状態レジスタ群15aの
内容(リサイズ前の割当状況)を待避用レジスタ15f
に一時的に待避させる(ステップS35)。状態レジス
タ群15aの内容の待避後、書換え部15iにより、状
態レジスタ群15aにおいて、リサイズ前のウィンドウ
に割り当てられたセルに対応するビットを未割当状態に
書き換える。つまり、状態レジスタ群15aにおいて、
リサイズ対象のウィンドウの識別子番目に相当するビッ
ト番号のビットを先頭にして、元のマスクパターンに相
当するビットを“1”(未使用)に書き換える初期化処
理を行なう(ステップS36)。
【0079】この後、ウィンドウ獲得時と同様、マッチ
ング処理部15dにより、書換え部15iにて書き換え
られた状態レジスタ群15a上に、リサイズ後のマスク
パターンとマッチするセルパターンが存在するか否かを
検索・確認する(ステップS37)。マスクパターンと
マッチする未割当のセルパターン(“1”のパターン)
が存在する場合(ステップS37からYESルート)、
セル割当部15eにより、その未割当のセルをリサイズ
後のウィンドウの描画領域として割り当て、そのセルに
対応する状態レジスタ群15aのビットを“0”として
割当状況を更新して新たな使用中セルを示すとともに、
セルテーブル群15cにおいて、元のウィンドウについ
ての描画領域の情報を、リサイズ後のウィンドウに割り
当てられた描画領域の情報に更新する(ステップS3
8)。また、その描画領域の左上セルの指標(マスクパ
ターンと一致した状態レジスタ群15aのビットグルー
プ中の最下位ビットの番号)をそのウィンドウのリサイ
ズ後の識別子としてアプリケーションに通知する。
【0080】これに対し、マスクパターンとマッチする
未割当のセルパターン(“1”のパターン)が存在しな
い場合(ステップS37からNOルート)、ウィンドウ
のリサイズに失敗したことになり、復元動作部15jに
より、待避用レジスタ15fに一時的に待避させておい
た内容(リサイズ前の割当状況)を状態レジスタ群15
aに戻し、エラー通知部15kにより、アプリケーショ
ンに対してリサイズに失敗した旨のエラー情報を通知す
る(ステップS39)。
【0081】次に、図16に示すフローチャート(ステ
ップS41〜S43)を参照しながら、本実施形態での
ウィンドウ解放処理手順について説明する。ウィンドウ
管理部15においてアプリケーションからウィンドウの
解放要求を受けると、まず、そのウィンドウの識別子
(セル指標)に基づいてセルテーブル群15cを検索
し、そのウィンドウに割り当てられた描画領域のマスク
パターンを読み出す(ステップS41)。
【0082】そして、状態レジスタ群15aにおいて、
解放対象のウィンドウの識別子番目に相当するビット番
号のビットを先頭にして、セルテーブル群15cから読
み出したマスクパターンに相当するビットを“1”(未
使用)に書き換える初期化処理を行なってから(ステッ
プS36)、セルテーブル群15cから、そのウィンド
ウについての情報フィールド(セル指標とマスクパター
ンとの対)を削除する(ステップS43)。
【0083】さらに、図17〜図29を参照しながら、
本実施形態のマルチウィンドウ表示装置10の、より具
体的なウィンドウ管理動作について説明する。ここで
は、図4または図5を参照しながら前述したように、描
画用フレームメモリ12を横2048×縦1024の画
素(描画点)で構成し、その描画領域を、横方向に8個
で縦方向に4個の合計32個のセル(セルサイズ横25
6×縦256)に予め等分割し、横方向に16個で縦方
向に8個の合計128個のセル(セルサイズ横128×
縦128)に再分割できる場合の具体例について説明す
る。
【0084】このとき、パターンテーブル15b−1
は、図17に示すようなものに、パターンテーブル15
b−2は、図18に示すようなものとなる。図17は図
7により説明したパターンテーブル15b−1をより具
体的に示したもので、この図17に示すように、ウィン
ドウのサイズに応じた各マスクパターンは、1〜32ビ
ットの2進数の値で表現される。なお、図13では、マ
スクパターンの値は16進数で示されている。また、図
中、“0x”は、それ以降の記述が16進数表記であるこ
とを示すC言語である。
【0085】例えば、横サイズおよび縦サイズがいずれ
も256画素以下のウィンドウにはマスクパターン値と
して“0x1”〔=(1)2 ;1×1のセルパターン)
が与えられ、横サイズが257画素以上512画素以下
で且つ縦サイズが256画素以下のウィンドウにはマス
クパターン値として“0x3”〔=(11)2 ;2×1
のセルパターン〕が与えられ、横サイズが513画素以
上768画素以下で且つ縦サイズが256画素以下のウ
ィンドウにはマスクパターン値として“0x7”〔=
(111)2 ;3×1のセルパターン〕が与えられ、横
サイズが1793画素以上2048画素以下で且つ縦サ
イズが256画素以下のウィンドウにはマスクパターン
値として“0xff”〔=(11111111)2 ;8
×1のセルパターン〕が与えられる。
【0086】同様に、例えば、横サイズが256画素以
下で且つ縦サイズが257画素以上512画素以下のウ
ィンドウにはマスクパターン値として“0x101”
〔=(100000001)2 ;1×2のセルパター
ン〕が与えられ、横サイズが513画素以上768画素
以下で且つ縦サイズが257画素以上512画素以下の
ウィンドウにはマスクパターン値として“0x707”
〔=(11100000111)2 ;3×2のセルパタ
ーン〕が与えられ、横サイズが1537画素以上179
2画素以下で且つ縦サイズが769画素以上1024画
素以下のウィンドウにはマスクパターン値として“0x
7f7f7f7f”〔=(1111111011111
110111111101111111)2 ;7×4の
セルパターン〕が与えられる。
【0087】つまり、本実施形態のマスクパターン値
は、描画用フレームメモリ12上で指定サイズのウィン
ドウを覆いうるセルパターンの形状そのものを、2進数
(使用するセルを“1”として表記)で表現したものと
なっている。全ての横サイズと縦サイズとの組み合わせ
についてのマスクパターンについては説明しないが、図
17に示すごとく、パターンテーブル15b−1には、
横サイズおよび縦サイズに応じた32種類の矩形のマス
クパターンを示す2進数値が予め設定されている。
【0088】パターンテーブル15b−2は、図18に
示すようなものとなる。図18は図7により説明したパ
ターンテーブル15bb−2をより具体的に示したもの
で、この図18に示すように、ウィンドウのサイズに応
じた各マスクパターンは、例えばウィンドウの横サイズ
および縦サイズがいづれも128画素以下ウィンドウに
はマスクパターン値として“1”[(1/2)×(1/
2)のセルパターン]が与えられ、横サイズが128画
素以下のサイズで且つ縦サイズが128画素以上256
画素以下のウィンドウにはマスクパターン値として
“0”[(1/2)×1のセルパターン]が与えられ、
横サイズが128画素以上で256画素以下ので且つ縦
サイズが128画素以上で256画素以下のウィンドウ
には、マスクパターン値として“0x1”〔=
(1)2 ;1×1のセルパターン)が与えられる。
【0089】さて、まだウィンドウを1つも表示してい
ない状態(初期状態)では、図19(a)に示すよう
に、描画用フレームメモリ13には何の描画領域も設定
されておらず、図19(b)に示すように、状態レジス
タ15a−1には、“0xffffffff”、即ち3
2ビット全てに“1”が設定され、図19(c)に示す
ように、セルテーブル15c−1には何の情報も登録さ
れていない。
【0090】このような初期状態から、サイズ600×
400,400×300,200×100,700×6
00,100×100の4つのウィンドウA〜Eを順に
獲得する際の状況について、それぞれ図20〜図24を
参照しながら説明する。 ウィンドウA(サイズ600×400)の獲得 ウィンドウAのサイズ600×400に相当するマスク
パターンを、パターンテーブル15bから読み出す。そ
のマスクパターンは、図20(b)に示すように、“0
x707”〔=(11100000111)2 〕であ
る。
【0091】そして、状態レジスタ15a−1上にこの
マスクパターンが存在するか否かの判定は、状態レジス
タ15a−1のビット番号0のビットから、マスクパタ
ーンを順次シフトさせながら論理積をとり、マスクパタ
ーンの全ての“1”について“1”の論理積結果が得ら
れるか否かを判定することによって行なうことができ
る。
【0092】このような判定により、マスクパターンの
全ての“1”について“1”の論理積が得られれば、状
態レジスタ15−1a(つまりは描画用フレームメモリ
12)上にこのマスクパターンに対応する未使用(未割
当,空き状態)の領域(セルパターン)が存在すること
になる。初期状態では、図19(b)に示すように、状
態レジスタ15a−1の各ビットは全て“1”であるの
で、ビット番号0のビットから、図20(b)に示すマ
スクパターンが有効となる。アプリケーションには、ビ
ット番号0に相当するセル指標0をウィンドウ識別子と
して通知する。
【0093】そして、図20(c)に示すように、状態
レジスタ15a−1において、そのマスクパターンに相
当するビットを“0”にする。つまり、状態レジスタ1
5a−1には“0xfffff8f8”〔=(1111
1111111111111111100011111
000)2 〕が設定されて、“0”のビットに対応する
セルは使用中(割当済)であることが分かる。
【0094】これによって、図20(a)に示すよう
に、描画用フレームメモリ12にウィンドウAのための
描画領域が獲得される。また、図20(d)に示すよう
に、セルテーブル15c−1には、アプリケーションに
通知したセル指標0と使用したマスクパターン値“0x
707”を登録する。 ウィンドウB(400×300)の獲得 ウィンドウBのサイズ400×300に相当するマスク
パターンを、パターンテーブル15b−1から読み出す
と、そのマスクパターンは、図21(b)に示すよう
に、“0x303”〔=(1100000011)2
である。図20(c)に示す状態レジスタ15a−1の
内容に対して、このマスクパターンをシフトさせながら
論理積をとっていくと、ビット番号3のビットから、そ
のマスクパターンが有効になることが分かる。よって、
アプリケーションには、ビット番号3に相当するセル指
標3をウィンドウ識別子として通知する。
【0095】そして、図21(c)に示すように、状態
レジスタ15a−1において、そのマスクパターンに相
当するビットを“0”にする。つまり、状態レジスタ1
5a−1には“0xffffe0e0”〔=(1111
1111111111111110000011100
000)2 〕が設定される。これによって、図21
(a)に示すように、描画用フレームメモリ12にウィ
ンドウAおよびBのための描画領域が獲得される。ま
た、図21(d)に示すように、セルテーブル15c−
1には、アプリケーションに通知したセル指標3と使用
したマスクパターン値“0x303”を追加・登録す
る。
【0096】ウィンドウC(256×256)の獲得 ウィンドウCのサイズ256×256に相当するマスク
パターンを、パターンテーブル15b−1から読み出す
と、そのマスクパターンは、図22(b)に示すよう
に、“0x1”〔=(1)2 〕である。図21(c)に
示す状態レジスタ15a−1の内容に対して、このマス
クパターンをシフトさせながら論理積をとっていくと、
ビット番号5のビットから、そのマスクパターンが有効
になることが分かる。よって、アプリケーションには、
ビット番号5に相当するセル指標5をウィンドウ識別子
として通知する。
【0097】そして、図22(c)に示すように、状態
レジスタ15a−1において、そのマスクパターンに相
当するビットを“0”にする。つまり、状態レジスタ1
5aには“0xffffe0c0”〔=(111111
1111111111111000001100000
0)2 〕が設定される。これによって、図22(a)に
示すように、描画用フレームメモリ12にウィンドウA
〜Cのための描画領域が獲得される。また、図22
(d)に示すように、セルテーブル15c−1には、ア
プリケーションに通知したセル指標5と使用したマスク
パターン値“0x1”を追加・登録する。
【0098】ウィンドウD(700×600)の獲得 ウィンドウDのサイズ700×600に相当するマスク
パターンを、パターンテーブル15b−1から読み出す
と、そのマスクパターンは、図23(b)に示すよう
に、“0x70707”〔=(11100000111
00000111)2 〕である。図23(c)に示す状
態レジスタ15a−1の内容に対して、このマスクパタ
ーンをシフトさせながら論理積をとっていくと、ビット
番号13のビットから、そのマスクパターンが有効にな
ることが分かる。よって、アプリケーションには、ビッ
ト番号13に相当するセル指標13をウィンドウ識別子
として通知する。
【0099】そして、図23(c)に示すように、状態
レジスタ15a−1において、そのマスクパターンに相
当するビットを“0”にする。つまり、状態レジスタ1
5a−1には“0x1f1f00c0”〔=(0001
1111000111110000000011000
000)2 〕が設定される。これによって、図23
(a)に示すように、描画用フレームメモリ12にウィ
ンドウA〜Dのための描画領域が獲得される。また、図
23(d)に示すように、セルテーブル15c−1に
は、アプリケーションに通知したセル指標13と使用し
たマスクパターン値“0x70707”を追加・登録す
る。
【0100】ウィンドウE(100×100)の獲得 ウィンドウEのサイズ100×100に相当するマスク
パターンを、パターンテーブル15b−1から読み出す
と、そのマスクパターンは、図24(b)に示すよう
に、“0x1”〔=(1)2 〕であり、また、ウィンド
ウEは、ウィンドウのサイズが256×256以下のた
め、ウィンドウEのサイズに相当するマスクパターン
を、パターンテーブル15b−2から読み出すと、その
マスクパターンは、図24(b)に示すように、“0”
である。図23(c)に示す状態レジスタ15a−1の
内容に対して、このマスクパターンをシフトさせながら
論理積をとっていくと、ビット番号20のビットから、
そのマスクパターンが有効になることが分かる。よっ
て、アプリケーションには、ビット番号20に相当する
セル指標20をウィンドウ識別子として通知する。
【0101】また、セル指標20に対応する20−aも
ウィンドウ識別子として通知する。そして、図24
(c)に示すように、状態レジスタ15a−1および1
5a−2において、そのマスクパターンに相当するビッ
トを“0”にする。つまり、状態レジスタ15a−1に
は“0x1f1700c0”〔=(000111110
0010111000000001100000
0)2 〕が、状態レジスタ15a−2には“0111”
が設定される。
【0102】これによって、図24(a)に示すよう
に、描画用フレームメモリ12にウィンドウA〜Eのた
めの描画領域が獲得される。また、図24(d)に示す
ように、セルテーブル15c−1には、アプリケーショ
ンに通知したセル指標20と使用したマスクパターン値
“0x1”を追加・登録し、セルテーブル15c−2に
は、アプリケーションに通知したセル指標20−aと使
用したマスクパターン値“0”を追加・登録する。
【0103】尚、サイズが256×256以下のウィン
ドウを獲得する際には描画用フレームメモリ12を適宜
再分割するが、公知技術を適用しているため、ここでは
詳細な動作説明は省略する。次に、上述のようにしてウ
ィンドウA〜Eを獲得した状態で、サイズ400×30
0のウィンドウBをサイズ600×400にリサイズす
る場合について、図25〜図29を参照しながら説明す
る。
【0104】この場合、リサイズ後のウィンドウBのサ
イズ600×400に相当するマスクパターンを、パタ
ーンテーブル15b−1から読み出すと、そのマスクパ
ターンは、図28(b)に示すように、“0x707”
〔=(11100000111)2 〕であり、このマス
クパターンは明らかに元のパターン“0x303”より
も大きい。
【0105】そこで、まず、図25に示すように、図2
4(c)に示す状態レジスタ15a−1の内容を待避用
レジスタ15fに待避させてから、図26に示すよう
に、状態レジスタ15a−1において、ウィンドウBの
元のマスクパターンに相当するビットを“1”に初期化
する。これにより、状態レジスタ15a−1には“0x
1f1718d8”〔=(0001111100010
1110001100011011000)2 〕が設定
され、図26に示すように、描画用フレームメモリ12
は、ウィンドウBに対して割り当てられていた描画領域
が、一旦、使用可能な状態になる。このとき、セルテー
ブル15c−1からウィンドウBについての情報フィー
ルドも削除しておく。
【0106】このような状態で、前述と同様にして、サ
イズ600×400のウィンドウBの獲得処理を行な
う。即ち、リサイズ後のマスクパターンは、図28
(b)に示すように、“0x707”〔=(11100
000111)2 〕であり、図26の下側に示す状態レ
ジスタ15a−1の内容に対して、このマスクパターン
をシフトさせながら論理積をとっていくと、ビット番号
16のビットから、そのマスクパターンが有効になるこ
とが分かる。よって、アプリケーションには、ビット番
号16に相当するセル指標16をウィンドウ識別子とし
て通知する。
【0107】そして、図28(c)および図28(a)
に示すように、状態レジスタ15a−1において、その
マスクパターンに相当するビットを“0”にする。つま
り、状態レジスタ15a−1には“0x181018d
8”〔=(00011000000100000001
100011011000)2 〕が設定される。これに
よって、図28(a)に示すように、描画用フレームメ
モリ12には、ウィンドウA,C,D,Eおよびリサイ
ズされたウィンドウBのための描画領域が獲得される。
また、図28(d)および図29(b)に示すように、
セルテーブル15c−1には、アプリケーションに通知
したセル指標16と使用したマスクパターン値“0x7
07”を新たに追加・登録する。このように、本発明の
一実施形態としてのマルチウィンドウ表示装置10によ
れば、描画用フレームメモリ12の領域を複数のセルに
静的に予め等分割しておき、予め等分割されたセルのサ
イズ以下の要求があった場合にのみ、従来のようなウィ
ンドウ数に応じた描画用フレームメモリの動的等分割を
行なうため、描画用フレームメモリ12の領域を、ウィ
ンドウのサイズに応じて、適宜、セル単位で割り当てる
ことができる。
【0108】また、ウィンドウの獲得要求があった場
合、従来のような分割許可条件による制限が無くなるの
で、マッチング処理の結果、描画用フレームメモリ12
上に、ウィンドウのサイズに応じた未割当のセル(空き
領域)が存在すれば、ウィンドウの大小や獲得順序に関
係なく常にウィンドウの描画領域を獲得できる。さら
に、ウィンドウのサイズが大きくなるリサイズ要求があ
った場合でも、従来のごとくリサイズ要求時点での分割
セルサイズによる制限を受けることがなくなるので、描
画用フレームメモリ12上に、リサイズ後のウィンドウ
のサイズに応じた未割当のセル(空き領域)が存在すれ
ば、常にリサイズ後の描画領域を獲得でき、リサイズを
行なうことができる。このとき、状態レジスタ15a−
1に保持されていた元の割当状況が待避用レジスタ15
fに保持されているので、リサイズに失敗しても、状態
レジスタ15a−1を元の割当状況に戻すことができ、
リサイズ要求時の表示状態を直ちに復元できる。
【0109】従って、大小様々なサイズのウィンドウの
ための描画領域を描画用フレームメモリ12上で効率よ
く獲得でき、描画用フレームメモリ12の利用効率が大
幅に向上し、CRT20でより多くのウィンドウを表示
することができる。なお、上述した実施形態では、描画
用フレームメモリ12を予め32個のセルに等分割し、
再分割後128個のセル等分割した場合について説明し
たが、本発明は、これに限定されるものではなく、より
少ない数あるいはより多くの数のセルに分割してもよ
い。分割数をより多くすれば、描画用フレームメモリ1
2をより効率よく使用できるようになる。
【0110】また、描画用フレームメモリ12を獲得要
求のあったウィンドウを割り当てる際に、獲得要求のあ
ったウィンドウのサイズが予め等分割されたセルよりも
大きい場合には、描画用フレームメモリ12のセル指標
の小さいセルを割り当て、獲得要求のあったウィンドウ
のサイズが予め等分割されたセルよりも小さい場合に
は、描画用フレームメモリ12のセル指標の大きいセル
を割り当てると、描画用フレームメモリ12をより効率
よく使用できるようになる。
【0111】また、本発明は上述した実施形態に限定さ
れるものではなく、本発明の趣旨を逸脱しない範囲で種
々変形して実施することができる。
【0112】
【発明の効果】以上詳述したように、本発明のマルチウ
ィンドウ表示方法(請求項1,2)およびマルチウィン
ドウ表示装置(請求項3,4)によれば、以下のような
効果ないし利点を得ることができる。 〔1〕描画用フレームメモリの領域を複数のセルに静的
に予め等分割しておき、予め等分割されたセルのサイズ
以下の要求があった場合にのみ、従来のようなウィンド
ウ数に応じた描画用フレームメモリの動的等分割を行な
うため、描画用フレームメモリ12の領域を、ウィンド
ウのサイズに応じて、適宜、セル単位で割り当てること
ができる。従って、大小様々なサイズのウィンドウのた
めの描画領域を描画用フレームメモリ上で効率よく獲得
でき、描画用フレームメモリの利用効率が大幅に向上
し、表示部でより多くのウィンドウを表示することがで
きる(請求項1,3)。
【0113】〔2〕ウィンドウの獲得要求があった場
合、描画用フレームメモリ上に、ウィンドウのサイズに
応じた未割当のセルが存在すれば、ウィンドウの大小や
獲得順序に関係なく常にウィンドウの描画領域を獲得で
きるので、描画用フレームメモリの利用効率の向上に寄
与する(請求項1,3)。 〔3〕ウィンドウのサイズが大きくなるリサイズ要求が
あった場合でも、描画用フレームメモリ上に、リサイズ
後のウィンドウのサイズに応じた未割当のセルが存在す
れば、常にリサイズ後の描画領域を獲得できリサイズを
行なえるので、描画用フレームメモリの利用効率の向上
に寄与する。
【0114】このとき、元の割当状況を待避させている
ので、リサイズ後のウィンドウのサイズに応じた未割当
のセルが存在しなければ、マスクパターンによる検索時
に書き換えられた割当状況から元の割当状況に戻すこと
ができ、リサイズ要求時の表示状態を直ちに復元できる
(請求項2,4)。
【図面の簡単な説明】
【図1】本発明の原理ブロック図である。
【図2】本発明の一実施形態としてのマルチウィンドウ
表示装置の構成を示すブロック図である。
【図3】本実施形態のウィンドウ管理部の詳細構成を示
す機能ブロック図である。
【図4】本実施形態の描画用フレームメモリの静的な分
割状態およびセル指標(識別子)を示す図である。
【図5】本実施形態の描画用フレームメモリを動的に分
割した際の最大分割状態およびセル指標(識別子)を示
す図である。
【図6】本実施形態の状態レジスタを示す図である。本
実施形態のパターンテーブルを示す図である。
【図7】本実施形態のパターンテーブルを示す図であ
る。
【図8】本実施形態のセルテーブルを示す図である。
【図9】本実施形態の静的に予め等分割されたセル毎の
分割テーブルを示す図である。
【図10】本実施形態の静的に予め等分割されたセル毎
の状態テーブルを示す図である。
【図11】本実施形態の静的に予め等分割されたセル毎
に対応するセルテーブルを示す図である。
【図12】本実施形態の描画用フレームメモリ上でのウ
ィンドウ描画領域の獲得例を示す図である。
【図13】本実施形態の表示用フレームメモリ上での表
示画像の複写例を示す図である。
【図14】本実施形態のウィンドウ獲得処理手順を説明
するためのフローチャートである。
【図15】本実施形態のウィンドウリサイズ処理手順を
説明するためのフローチャートである。
【図16】本実施形態のウィンドウ解放処理手順を説明
するためのフローチャートである。
【図17】本実施形態のパターンテーブルの具体例を示
す図である。
【図18】本実施形態のパターンテーブルの具体例を示
す図である。
【図19】(a)〜(c)はいずれも本実施形態の具体
的な動作(初期状態)を説明するための図である。
【図20】(a)〜(d)はいずれも本実施形態の具体
的な動作(ウィンドウ獲得動作)を説明するための図で
ある。
【図21】(a)〜(d)はいずれも本実施形態の具体
的な動作(ウィンドウ獲得動作)を説明するための図で
ある。
【図22】(a)〜(d)はいずれも本実施形態の具体
的な動作(ウィンドウ獲得動作)を説明するための図で
ある。
【図23】(a)〜(d)はいずれも本実施形態の具体
的な動作(ウィンドウ獲得動作)を説明するための図で
ある。
【図24】(a)〜(d)はいずれも本実施形態の具体
的な動作(ウィンドウ獲得動作)を説明するための図で
ある。
【図25】本実施形態の具体的な動作(リサイズ動作)
を説明するための図である。
【図26】本実施形態の具体的な動作(リサイズ動作)
を説明するための図である。
【図27】本実施形態の具体的な動作(リサイズ動作)
を説明するための図である。
【図28】(a)〜(d)はいずれも本実施形態の具体
的な動作(リサイズ動作)を説明するための図である。
【図29】(a),(b)はそれぞれ本実施形態の具体
的な動作(状態レジスタおよびセルテーブルの最終的な
状態)を説明するための図である。
【図30】一般的なマルチウィンドウ表示装置の構成を
示すブロック図である。
【図31】(a)〜(d)はウィンドウ数に応じた描画
用フレームメモリの動的等分割を説明するための図であ
る。
【図32】分割テーブルを示す図である。
【図33】状態テーブルを示す図である。
【図34】セルテーブルを示す図である。
【符号の説明】
1 表示部 2 描画用フレームメモリ 3 描画部 4 表示用フレームメモリ 5 画像転送部 6 ウィンドウ管理部 10 マルチウィンドウ表示装置 11 描画部 12 描画用フレームメモリ 13 画像転送部 14 表示用フレームメモリ 15 ウィンドウ管理部 15a 状態レジスタ群 15b パターンテーブル群 15c セルテーブル群 15d マッチング処理部 15e セル割当部 15f 待避用レジスタ 15g 判定部 15h 待避動作部 15i 書換え部 15j 復元動作部 15k エラー通知部 20 CRT(表示部)

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 表示部に表示すべき複数のウィンドウの
    画像を描画用フレームメモリ上にそれぞれ描画してか
    ら、該描画用フレームメモリ上の各ウィンドウの画像を
    表示用フレームメモリ上に転送して表示画像を作成し、
    該表示用フレームメモリ上の画像を該表示部で表示する
    マルチウィンドウ表示方法であって、 該描画用フレームメモリの領域を、複数のセルに予め等
    分割しておき、 ウィンドウのサイズに応じて、該複数のセルの中から予
    め等分割されたセルを当該ウィンドウの描画領域として
    割り当てる際、 該複数のセルの割当状況を管理し、 ウィンドウの獲得要求を受けると、当該ウィンドウのサ
    イズに応じマスクパターンを生成し、 前記割当状況を参照しながら、未割当の予め等分割され
    たセルのパターンと該マスクパターンとのマッチングを
    行ない、 該マスクパターンとマッチする未割当の予め等分割され
    たセルのパターンが存在し、該マスクパターンが予め等
    分割されたセル以下のサイズの場合、予め等分割された
    セルを規則的に再分割し、再分割されたセルを当該ウィ
    ンドウの描画領域として割り当てることを特徴とする、
    マルチウィンドウ表示方法。
  2. 【請求項2】 該複数のセルの割当状況を管理し、 描画領域割当済のウィンドウに対するリサイズ要求を受
    けると、リサイズ後の当該ウィンドウのサイズに応じて
    マスクパターンを生成し、 リサイズ後のマスクパターンがリサイズ前よりも大きい
    場合、リサイズ前の該複数のセルの割当状況を一時的に
    待避させておいてから、リサイズ前の当該ウィンドウに
    割り当てられたセルを未割当に書き換えた割当状況を参
    照しながら、未割当のセルのパターンとリサイズ後のマ
    スクパターンとのマッチングを行ない、 リサイズ後のマスクパターンとマッチする未割当のセル
    のパターンが存在する場合、その未割当のセルを当該ウ
    ィンドウのリサイズ後の描画領域として割り当てる一
    方、 リサイズ後のマスクパターンとマッチする未割当のセル
    のパターンが存在しない場合、一時的に待避させておい
    たリサイズ前の割当状況に戻すことを特徴とする、請求
    項1記載のマルチウィンドウ表示方法。
  3. 【請求項3】 複数のウィンドウを表示する表示部と、 該表示部に表示すべき該複数のウィンドウの画像をそれ
    ぞれ描画される描画用フレームメモリと、 該描画用フレームメモリに各ウィンドウの全体画像を描
    画する描画部と、 該描画用フレームメモリ上の各ウィンドウの画像を転送
    されて、該表示部で実際に表示される表示画像を複写さ
    れる表示用フレームメモリと、 該描画用フレームメモリ上の各ウィンドウの画像を該表
    示用フレームメモリ上の所定位置に転送する画像転送部
    と、 該描画部および該画像転送部を制御することにより、該
    表示部での該複数のウィンドウの表示状態を制御するウ
    ィンドウ管理部が該描画用フレームメモリの領域を、複
    数のセルに予め等分割した状態で管理し、ウィンドウの
    サイズに応じて、該複数のセルの中から予め等分割した
    セルを当該ウィンドウの描画領域として割り当てるマル
    チウィンドウ表示装置であって、 該ウィンドウ管理部が、 該複数のセルの割当状況を登録されて保持する状態レジ
    スタと、 ウィンドウのサイズに応じてマスクパターンを保持する
    パターンテーブルと、 ウィンドウの獲得要求を受けると、当該ウィンドウのサ
    イズに応じたマスクパターンを該パターンテーブルから
    読み出し、該状態レジスタにおける前記割当状況を参照
    しながら、未割当のセルのパターンと当該マスクパター
    ンとのマッチングを行なうマッチング処理部と、 該マッチング処理部によるマッチングの結果、該マスク
    パターンとマッチする未割当のセルのパターンが存在
    し、該マスクパターンが予め等分割されたセル以下のサ
    イズの場合、予め等分割されたセルを規則的に再分割
    し、再分割されたセルを当該ウィンドウの描画領域とし
    て割り当て、該状態レジスタの割当状況を更新するセル
    割当部とから構成されていることを特徴とする、マルチ
    ウィンドウ表示装置。
  4. 【請求項4】 該ウィンドウ管理部が、 該複数のセルの割当状況を登録されて保持する状態レジ
    スタと、 ウィンドウのサイズに応じた、前記セルのサイズを保持
    するパターンテーブルと、 該状態レジスタにおける前記割当状況を一時的に保持す
    る待避用レジスタと、 描画領域割当済のウィンドウに対するリサイズ要求を受
    けると、リサイズ後の当該ウィンドウのサイズに応じた
    マスクパターンを該パターンテーブルから読み出し、リ
    サイズ後のマスクパターンがリサイズ前よりも大きいか
    否かを判定する判定部と、 該判定部によりリサイズ後のマスクパターンがリサイズ
    前よりも大きいと判定された場合、該状態レジスタに登
    録されているリサイズ前の割当状況を該待避用レジスタ
    に一時的に待避させる待避動作部と、 該待避動作部による待避動作後に、該状態レジスタにお
    いて、リサイズ前の当該ウィンドウに割り当てられたセ
    ルを未割当に書き換える書換え部と、 該書換え部により書き換えられた該状態レジスタの割当
    状況を参照しながら、未割当のセルのパターンと該パタ
    ーンテーブルから読み出されたリサイズ後のマスクパタ
    ーンとのマッチングを行なうマッチング処理部と、 該マッチング処理部によるマッチングの結果、リサイズ
    後のマスクパターンとマッチする未割当のセルのパター
    ンが存在する場合、その未割当のセルを当該ウィンドウ
    のリサイズ後の描画領域として割り当て、該状態レジス
    タの割当状況を更新するセル割当部と、 該マッチング処理部によるマッチングの結果、リサイズ
    後のマスクパターンとマッチする未割当のセルのパター
    ンが存在しない場合、該待避用レジスタに一時的に待避
    させておいたリサイズ前の割当状況を該状態レジスタに
    戻す復元動作部とから構成されていることを特徴とす
    る、請求項3記載のマルチウィンドウ表示装置。
JP25177497A 1997-09-17 1997-09-17 マルチウィンドウ表示方法および装置 Withdrawn JPH1195970A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25177497A JPH1195970A (ja) 1997-09-17 1997-09-17 マルチウィンドウ表示方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25177497A JPH1195970A (ja) 1997-09-17 1997-09-17 マルチウィンドウ表示方法および装置

Publications (1)

Publication Number Publication Date
JPH1195970A true JPH1195970A (ja) 1999-04-09

Family

ID=17227730

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25177497A Withdrawn JPH1195970A (ja) 1997-09-17 1997-09-17 マルチウィンドウ表示方法および装置

Country Status (1)

Country Link
JP (1) JPH1195970A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006236205A (ja) * 2005-02-28 2006-09-07 Ntt Data Corp ページ閲覧装置およびプログラム
KR101049813B1 (ko) * 2008-12-31 2011-07-15 엔에이치엔(주) 이미지를 자동으로 배치하는 방법 및 장치

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006236205A (ja) * 2005-02-28 2006-09-07 Ntt Data Corp ページ閲覧装置およびプログラム
JP4672395B2 (ja) * 2005-02-28 2011-04-20 株式会社エヌ・ティ・ティ・データ ページ閲覧装置およびプログラム
KR101049813B1 (ko) * 2008-12-31 2011-07-15 엔에이치엔(주) 이미지를 자동으로 배치하는 방법 및 장치

Similar Documents

Publication Publication Date Title
US6911983B2 (en) Double-buffering of pixel data using copy-on-write semantics
US6911984B2 (en) Desktop compositor using copy-on-write semantics
US5652873A (en) System and method for simulating a contiguous addressable data space
CN107003892B (zh) Gpu虚拟化方法、装置、系统及电子设备、计算机程序产品
EP3992790A1 (en) Information processing method, physical machine and pcie device
US5640496A (en) Method and apparatus for management of image data by linked lists of pixel values
JPS59184935A (ja) 対話式デイスプレイシステム
US20170236244A1 (en) Graphics processing systems
KR100404555B1 (ko) 데이터 프로세서 제어형 데이터 저장 시스템, 동적 재동기화 방법, 및 컴퓨터 프로그램을 포함하는 컴퓨터 판독 가능한 기록 매체
JPS6088996A (ja) 多重デ−タウインドウ表示システム
JPH11505653A (ja) 単一アドレス空間で保護ドメインと共に用いるためのオペレーティングシステム
JP4156033B2 (ja) 連続するメモリのバッファを獲得し、ページテーブルを構築する方法
JPS62298882A (ja) マルチ・ウィンドウ表示システム
JPH11167378A (ja) 画像をスケーリングする方法
JPH10134201A (ja) 共用型タイル画像表示
CN107077376B (zh) 帧缓存实现方法、装置、电子设备和计算机程序产品
US7038692B1 (en) Method and apparatus for providing a vertex cache
JPH1195970A (ja) マルチウィンドウ表示方法および装置
EP1909258A2 (en) Off-screen buffering management device and method
JPH1139130A (ja) マルチウィンドウ表示方法および装置
US20190317905A1 (en) Electronic apparatus and method of extending peripheral device
CN111897612A (zh) 页面更新方法、装置、电子设备及存储介质
KR101359692B1 (ko) 입력되는 서명 문자열 부분 정보를 저장하는 메모리 공간을 이용한 서명 탐지 시스템
JP4288281B2 (ja) アプリケーション環境に基づいて、ウィンドウidを動的にプログラミングするための装置及び方法
JP2941810B2 (ja) 画像処理方法及びその装置

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20041207