JP4031421B2 - 画面コピー方法 - Google Patents
画面コピー方法 Download PDFInfo
- Publication number
- JP4031421B2 JP4031421B2 JP2003342545A JP2003342545A JP4031421B2 JP 4031421 B2 JP4031421 B2 JP 4031421B2 JP 2003342545 A JP2003342545 A JP 2003342545A JP 2003342545 A JP2003342545 A JP 2003342545A JP 4031421 B2 JP4031421 B2 JP 4031421B2
- Authority
- JP
- Japan
- Prior art keywords
- display
- image
- computer
- window
- pixel data
- 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
Links
Images
Landscapes
- Digital Computer Display Output (AREA)
- Controls And Circuits For Display Device (AREA)
Description
従来のウィンドウシステムでは、例えば1600×1200ドットの解像度で液晶ディスプレイ等の表示装置に複数のウィンドウを表示し、これら複数のウィンドウにそれぞれグラフィックデータを表示している。一方、最近では超高精細の表示装置が開発され、コンピュータシステムで採用されるようになってきた。この超高精細の表示装置の一例として3200×2400ドットの解像度を持つものが市販されている。
コンピュータシステムにこのような超高精細の表示装置が使用されても、グラフィックデータを表示制御するウィンドウシステムは、そのグラフィックデータを表示する解像度としては最大で1600×1200ドットであった。従って、超高精細の表示装置を用いてウィンドウシステムがGUIを構成するアイコンやウィンドウの構成要素等を表示すると、ウィンドウシステムにおけるGUIの表示ドット数が固定ドット数であることが多いため、従来の表示装置を用いた場合に比べて、アイコン等の表示サイズが小さくなり、大変見にくくなってしまっている。また、マウスを用いてアイコン等をクリックやドラッグ&ドロップ等の操作する場合、大変操作性が悪くなってしまっていた。
一方、コンピュータシステムにおいて、超高精細の表示装置を用いて例えば3200×2400ドットの解像度にてグラフィックデータを表示するアプリケーションプログラムを実行できることが要望されている。
しかし、現在使用されているほとんどのウィンドウシステムがサポートしている解像度は最大で1600×1200ドットであるため、超高精細の解像度(例えば3200×2400ドット)の表示をするためには、このような解像度をサポートするウィンドウシステムの採用が必要である。
従って、市場で多数使用されている超高精細の解像度をサポートしていないウィンドウシステムにおいて、従来の解像度のグラフィックデータを表示するウィンドウと超高精細のグラフィックデータを表示するウィンドウとをオーバーレイして表示することが要望されている。しかし、従来のウィンドウシステムでは解像度の異なるウィンドウをオーバーレイ表示する機能は実現されていないため、このような要望は実現できなかった。
本発明は、このような従来の欠点を解決するためになされたもので、解像度の異なるウィンドウをオーバーレイ表示することができるコンピュータシステムにおいて、画面コピー機能を提供することを目的とする。
コンピュータシステム10には、オペレーティングシステム(OS)13がインストールされている。OS13には、標準機能として1600×1200ドット(100dpi)の解像度でウィンドウを表示装置に表示するためのウィンドウの制御(管理)を行うウィンドウシステム18が組み込まれている。解像度3200×2400ドットの画像表示能力を持つ超高精細表示装置20にウィンドウシステム18が管理する解像度1600×1200ドットのウィンドウのイメージを表示するということは、1ドットを縦及び横にそれぞれ2倍に拡大して表示することになる。即ち、ウィンドウを表示するためのイメージの各1ドットを超高精細表示装置20では4ドットで表現して表示することになる。このイメージの拡大は、表示制御回路が行うもので、その詳細は後述する。
一般アプリケーション11は、ウィンドウシステム18の制御に基づいて超高精細表示装置20に解像度1600×1200ドットで画面表示を行う機能を持つアプリケーションプログラムである。超高精細表示アプリケーション12は、ウィンドウシステム18の制御に基づいて超高精細表示装置20に解像度3200×2400ドットで画面表示を行う機能を持つアプリケーションプログラムである。
標準表示用API(Application Program Interface)14は、グラフィックスエンジン16を用いてウィンドウシステム18の標準機能である解像度1600×1200ドットでウィンドウを超高精細表示装置20に表示させるときに、アプリケーションプログラムから呼び出されて(コールされて)動作するアプリケーション・プログラム・インタフェースである。
グラフィックスエンジン16は、標準表示用API14を介してアプリケーションプログラムからの超高精細表示装置20への画面表示の要求に基づき、ディスプレイドライバー17を介して表示制御装置19に設けられたフレームメモリに画面表示するための表示イメージを描画する機能を持つ。ディスプレイドライバー17は、超高精細表示装置20のためのデバイスドライバーである。超高精細表示用API(Application Program Interface)15は、超高精細表示アプリケーション12が解像度3200×2400ドットで超高精細表示装置20に画面表示をさせるときに、呼び出されて動作するアプリケーション・プログラム・インタフェースである。
表示制御装置19は、超高精細表示装置20にイメージを表示させるためのハードウェアであり、表示イメージを記憶するためのフレームメモリやイメージ表示を行うための制御回路が実装された基板(カード)で構成されるもので、一般的にはグラフィックカードと呼ばれている。
画面コピー処理ルーチン21は、超高精細表示装置20に表示されている画面のコピーを指示するための図示しないキーボードからのキーイン又は超高精細表示装置20に表示されているアイコンのマウスによるクリック等を常時チェックし、このチェック結果に基づいて、その時点で超高精細表示装置20に表示されている画面のイメージのコピーをとり、図示しないプリンタに印刷するためのプログラムに転送するためのプログラムである。
フレームメモリ194は、標準フレームメモリ194aと拡張フレームメモリ194bとから構成される。標準フレームメモリ194aは、超高精細表示装置20にウィンドウシステム18が管理する1600ドット×1200ドットの解像度の基本画面を表示するための表示イメージ(基本イメージ)を記憶する記憶装置である。標準フレームメモリ194aは、表示画面1画面分のビットイメージとして1600×1200ドットのビットイメージをカラー表示するのに必要な記憶容量を持つ。尚、1ドット(1画素)をカラー表示するためにRGB(赤、緑、青)を2バイトデータで表現する。図6にこの1画素をカラー表示するための2バイトデータの構成を示す。図6において、1ビット目から5ビット目までの5ビットでR(赤)の色情報を表現し、6ビット目から10ビット目までの5ビットでG(緑)の色情報を表現し、11ビット目から15ビット目までの5ビットでB(青)の色情報を表現する。また、0ビット目の1ビットは、後述するオーバーレイフラグを設定するためのビットとして定義する。
拡張フレームメモリ194bは、超高精細表示装置20にウィンドウシステム18が管理する1600ドット×1200ドットの解像度の基本画面に解像度3200×2400ドットの超高精細のイメージをオーバレイ表示させるための表示イメージ(オーバーレイイメージ)を記憶する記憶装置である。拡張フレームメモリ194bは、表示画面1画面分のビットイメージとして3200×2400ドットのビットイメージをカラー表示するのに必要な記憶容量を持つ。尚、1ドット(1画素)をカラー表示するためにRGB(赤、緑、青)を2バイトデータで表現する。
表示制御回路195は、フレームメモリ194に記憶(描画)されたイメージを超高精細表示装置20に送信して表示させるための制御回路である。表示制御回路195は、標準バッファメモリ197、拡張バッファメモリ198、表示切替制御回路199、制御回路196とから構成されている。
標準バッファメモリ197は、標準フレームメモリ194aから読み出した表示イメージを格納するバッファメモリである。拡張バッファメモリ198は、拡張フレームメモリ194bから読み出した表示イメージを格納するバッファメモリである。表示切替制御回路199は、標準バッファメモリ197及び拡張バッファメモリ198から読み出された表示イメージを切り替えて超高精細表示装置20に出力する機能を持つ。
制御回路196は、メモリ制御回路193を制御して標準フレームメモリ194a及び拡張フレームメモリ194bから表示イメージの読み出す機能、この読み出した表示イメージの標準バッファメモリ197又は拡張バッファメモリ198への書き込み機能、標準バッファメモリ197又は拡張バッファメモリ198から表示イメージの読み出す機能、及び表示切替制御回路199の制御機能とを持つ。上述したように解像度3200×2400ドットの画像表示能力を持つ超高精細表示装置20にウィンドウシステム18が管理する解像度1600×1200ドットのウィンドウのイメージを表示するために、1ドットを縦及び横にそれぞれ2倍に拡大する必要がある。
制御回路196は、このドットの拡大のために次のような動作をする。即ち、制御回路196は、標準フレームメモリ194aから横方向に表示イメージを読み出す際には、同じドット位置から2度イメージを読み出して標準バッファメモリ197へ格納することで、標準フレームメモリ194aに格納さた表示イメージを横方向に2倍に拡大する。同様に制御回路196は、標準フレームメモリ194aから縦方向に表示イメージを読み出す際には、同じドット位置から2度イメージを読み出して標準バッファメモリ197へ格納することで、標準フレームメモリ194aに格納された表示イメージを縦方向に2倍に拡大する。
つぎに、表示装置の画面に表示されるウィンドウを説明する。本発明において、超高精細表示アプリケーション12が超高精細表示装置20にウィンドウを表示する場合、ウィンドウ枠41、メニュー領域42のGUIは、解像度1600×1200ドットで管理して表示するが、クライアント領域43は解像度3200×2400ドットで表示する。これにより、超高精細表示アプリケーション12による200dpiのイメージ表示が実現できる。
図4に示すようにウィンドウ40は、ウィンドウ枠41によりその表示領域が定義される。ウィンドウ枠41で定義された領域は、そのウィンドウを表示しているアプリケーションプログラムのコマンド(ファイル、編集等のコマンド)やアイコン等のGUI(グラフィカル・ユーザー・インタフェース)を表示するためのメニュー領域42と、アプリケーションプログラムの実行に基づいて表示されるクライアント領域43とから構成される。例えば、図面作成のアプリケーションプログラムが実行されると、クライアント領域43には作成された図面が表示される。また、イメージのViewer(ビューワー)のアプリケーションプログラムが実行されるとに、クライアント領域43にはドキュメント等のイメージが表示される。
そして、ウィンドウシステム18が標準機能として持つ解像度1600×1200ドットでウィンドウ40を表示する場合、ウィンドウ枠41の表示、メニュー領域42におけるGUIの表示及びクライアント領域43におけるイメージの表示のすべてが、解像度1600×1200ドットで表示される。
また、本発明において、超高精細表示アプリケーション12が超高精細表示装置20にウィンドウ40を表示する場合、ウィンドウ枠41の表示、メニュー領域42におけるGUIの表示は、解像度1600×1200ドットで表示するが、クライアント領域43におけるイメージは解像度3200×2400ドットで表示する。これより、200dpiのイメージ表示が実現できる。
以下、一般アプリケーション11により解像度1600×1200ドットでウィンドウの全体を表示し、超高精細表示アプリケーション12によりクライアント領域43におけるイメージを解像度3200×2400ドットで表示することで、解像度の異なるウィンドウをオーバーレイ表示する実施例の詳細な動作を図1乃至図10を用いて説明する。
図3は、超高精細表示用API15の動作を説明するためのフローチャートを示す図である。図5は、標準フレームメモリ194a及び拡張フレームメモリ194bに表示イメージが記憶されている状態と、超高精細表示装置20の表示画面の表示状態とを示す図である。図6は、1ドット(1画素)をカラー表示するためにRGB(赤、緑、青)を2バイトで表現するためのデータ構造を示す図である。
図7は、標準フレームメモリ194aにウィンドウ枠のイメージが書き込まれた状態を示した図である。図8は、図7に図示したように標準フレームメモリ194aにウィンドウ枠のイメージを記憶した場合に超高精細表示装置20にウィンドウ枠が表示された表示画面の状態を示す図である。図9は、拡張フレームメモリ194bにオーバーレイ表示するための超高精細イメージを書き込んだ状態を示す図である。
一般アプリケーション11が超高精細表示装置20の表示画面にウィンドウを表示する場合には、まずウィンドウシステム18に対してウィンドウの作成要求を出力する。ウィンドウシステム18は、一般アプリケーション11からのウィンドウ作成要求を受け付けると、そのウインドウ作成要求に対してID番号(ウィンドウID)を発行して、そのウィンドウIDを一般アプリケーション11に送付して通知する。
ウィンドウシステム18は、ウィンドウIDを発行すると、このウィンドウIDに対応するウィンドウの表示画面での表示位置の情報(位置情報)と、表示するウインドウの大きさの情報(サイズ:ウィンドウを表示するための縦と横のドット数で表す)と、そのウィンドウの重ね合わせの順位(重ね合わせ順位)とを決定し、これらの情報をウィンドウIDとともにウィンドウ管理テーブルに登録保存する。これらのウィンドウの位置情報、サイズ、重ね合わせ順位とを総称してウィンドウ情報と呼ぶ。
ウィンドウの位置情報は、デフォルトとして、例えば表示画面の左上端を割り当てるものとする。ウィンドウのサイズは、デフォルトとして、例えばフルサイズ、即ち1600×1200ドットを割り当てる。ウィンドウの重ね合わせ順位とは、複数のウィンドウが重ねられた状態で画面に表示されている場合における該当ウィンドウの重ね合わせの順位であり、先頭(最前面)から何番目に表示されているかを示す情報である。この重ね合わせ順位は、デフォルトとして、例えば最前面を割り当てる。
これらのウィンドウの位置情報、サイズ、重ね合わせ順位は、表示画面上でのユーザーのマウスの操作によってウィンドウの表示位置、サイズ、重ね合わせ順位の変更が指示される都度更新され登録保存される。従って、ウィンドウ管理テーブルには、現在表示画面に表示されているすべてのウィンドウに関する最新の位置情報、サイズ及び重ね合わせ順位が登録され管理されている。
次に、一般アプリケーション11は、ウィンドウシステム18からウィンドウIDの通知を受けると、超高精細表示装置20の表示画面にウィンドウを表示するために、標準表示用API14を呼び出して(コールして)ウィンドウの表示要求をする。一般アプリケーション11は、この標準表示用API14を呼び出す際に、ウィンドウIDと標準サイズ(1600×1200ドット)でウィンドウを表示するための表示情報を転送する。
標準表示用API14は、転送を受けたウィンドウIDに基づいて、ウィンドウシステム18の管理テーブルを参照して、表示要求を受けたウィンドウの位置情報、サイズ及び重ね合わせ順位の各情報を取得する。更に標準表示用API14は、ウィンドウシステム18の管理テーブルを参照して、表示要求を受けたウィンドウについて取得した位置情報、サイズ及び重ね合わせ順位の各情報と管理テーブルに登録されている他のウィンドウの位置情報、サイズ及び重ね合わせ順位とをそれぞれ比較照合する。
標準表示用API14は、この比較照合の結果から、表示要求を受けたウィンドウにおいて、それよりも前面に表示されている他のウィンドウとの重なりが無く、実際に表示画面上でユーザーが見ることができる領域を確認する。標準表示用API14は、この確認したウィンドウの領域を表示するためのイメージをグラフィックスエンジン16、ディスプレイドライバー17を介して描画回路192により標準フレームメモリ194aに書き込む。この標準フレームメモリ194aに標準表示用API14がイメージを書き込む位置は、上記取得した表示要求を受けたウィンドウの位置情報に基づいている。
この結果、例えば図5に示すように標準フレームメモリ194aにウィンドウ401を表示するためのビットマップイメージが書き込まれる。このウィンドウ401は、メニュー領域42とクライアント領域43から構成される。標準フレームメモリ194aのメニュー領域42にはコマンド(ファイル、編集等のコマンド)やアイコン等のGUI(グラフィカル・ユーザー・インタフェース)を表示するためのイメージが記憶され、クライアント領域43にはテキスト「AAAA‥‥」と「BBBB‥‥」を表示するためのイメージが記憶される。
一方、超高精細表示アプリケーション12が超高精細表示装置20の表示画面にウィンドウを表示する場合には、まずウィンドウシステム18に対してウィンドウの作成要求を出力する。ウィンドウシステム18は、超高精細表示アプリケーション12からのウィンドウの作成要求を受け付けると、そのウインドウの作成要求に対してID番号(ウィンドウID)を発行して、そのウィンドウIDを超高精細表示アプリケーション12に送付して通知する。更にウィンドウシステム18は、ウィンドウIDを発行すると、このウィンドウIDに対応するウィンドウの位置情報とサイズと重ね合わせ順位とを決定し、これらの情報をウィンドウIDとともにウィンドウ管理テーブルに登録保存する。
次に、超高精細表示アプリケーション12は、ウィンドウシステム18からウィンドウIDの通知を受けると、超高精細表示装置20の表示画面にウィンドウ枠及びメニュー領域にGUIを表示するために、標準表示用API14を呼び出す。超高精細表示アプリケーション12は、この標準表示用API14の呼び出す際に、ウィンドウIDと標準サイズ(1600×1200ドット)のウィンドウ枠及びGUIを表示するための表示情報を転送する。
標準表示用API14は、転送を受けたウィンドウIDに基づいて、ウィンドウシステム18の管理テーブルを参照して、表示要求を受けたウィンドウの位置情報、サイズ及び重ね合わせ順位の各情報を取得する。更に標準表示用API14は、ウィンドウシステム18の管理テーブルを参照して、表示要求を受けたウィンドウについて取得したの位置情報、サイズ及び重ね合わせ順位の各情報と管理テーブルに登録されている他のウィンドウの位置情報、サイズ及び重ね合わせ順位とをそれぞれ比較照合する。
標準表示用API14は、この比較照合の結果から、表示要求を受けたウィンドウにおいて、それよりも前面に表示されている他のウィンドウとの重なりが無く、実際に表示画面上でユーザーが見るとができる領域を確認する。
標準表示用API14は、この確認したウィンドウの領域を表示するためのイメージをグラフィックスエンジン16、ディスプレイドライバー17を介して描画回路192により標準フレームメモリ194aに書き込む。この標準フレームメモリ194aに標準表示用API14がイメージを書き込む位置は、表示要求を受けたウィンドウの上記取得した位置情報に基づいている。
この結果、例えば図5に示すように標準フレームメモリ194aにウィンドウ402を表示するためのウィンドウがビットマップイメージとして書き込まれる。即ち、図5に示すように標準フレームメモリ194aに1600×1200ドットの解像度で、メニュー領域42とクライアント領域43とから構成されるウィンドウ402のウィンドウ枠41を表示するためのビットマップイメージと、メニュー領域42にGUIを表示するためのビットマップイメージとを書き込む。
次に、超高精細表示アプリケーション12は、超高精細表示装置20においてウィンドウ402のクライアント領域43に解像度3200×2400ドットのイメージを表示するために超高精細表示用API15を呼び出す。超高精細表示アプリケーション12は、この超高精細表示用API15を呼び出す際に、ウィンドウIDとウィンドウ402のクライアント領域43にイメージを表示するための表示情報を転送する。
以下、超高精細表示用API15の動作を図3に示したフローチャートを用いて詳細を説明する。
図3において、まず超高精細表示用API15は、ウィンドウ402のクライアント領域43に解像度3200×2400ドットのイメージを表示するためにウィンドウIDに基づいて、ウィンドウシステム18の管理テーブルを参照して、表示要求を受けたウィンドウの位置情報、サイズ及び重ね合わせ順位の各情報を取得する(ステップS1)。
次に超高精細表示用API15は、超高精細表示アプリケーション12から表示要求のあったウィンドウが表示画面の最前面で表示されるように設定されているか否かを判定する(ステップS2)。この判定は、超高精細表示用API15が、ウィンドウシステム18の管理テーブルを参照して、表示要求を受けたウィンドウの重ね合わせ順位と管理テーブルに登録されている他のウィンドウの重ね合わせ順位とを比較照合することで行う。もし、表示要求のあったウィンドウが表示画面の最前面で表示するように設定されていると判断した場合には、ステップS3へ進む。
ステップS3において、超高精細表示用API15は、次のように動作する。超高精細表示用API15は、表示要求を受けたウィンドウについてステップS1で取得したウィンドウの位置情報とサイズとに基づいて、グラフィックスエンジン16、ディスプレイドライバー17を介して描画回路192により拡張フレームメモリ194bに図5に示すように3200×2400ドットの解像度で表示イメージを書き込む。この表示イメージが拡張フレームメモリ194bに書き込まれる位置は、表示画面の表示位置に対応している。即ち、標準フレームメモリ194aに書き込んだウィンドウ402のクライアント領域43に対応する位置である。(ステップS3)。この拡張フレームメモリ194bに表示イメージを書き込む位置の詳細な説明は、後述する。
続いて、超高精細表示用API15は、標準フレームメモリ194aに書き込まれたウィンドウ402のウィンドウ枠41で囲まれたクライアント領域43内の各画素をカラー表示するための各2バイトデータの0ビット目にオーバーレイフラグを設定する(ステップS6)。
この結果、図5に示すように標準フレームメモリ194aに書き込まれたウィンドウ402のクライアント領域43内に表示するためのビットマップイメージが拡張標準フレームメモリ194bに書き込まれる。
以上説明したように、一般アプリケーション11及び超高精細表示アプリケーション12により表示されるウィンドウのイメージが標準フレームメモリ194aと拡張フレームメモリ194bに書き込まれたことになる。
以後図2及び図5を用いて標準フレームメモリ194aと拡張フレームメモリ194bに書き込まれた表示イメージを表示制御回路195により超高精細表示装置20で表示する動作を説明する。
まず、制御回路196がメモリ制御回路193を制御して標準フレームメモリ194a及び拡張フレームメモリ194bの互いに対応する位置からそれぞれ所定量の表示イメージを読み出し、一旦標準バッファメモリ197、拡張バッファメモリ198にそれぞれ保存する。次に制御回路196は、標準バッファメモリ197及び拡張バッファメモリ198から表示イメージを読み出して表示切替制御回路199に出力する。表示切替制御回路199は、標準バッファメモリ197から読み出された表示イメージを1ドット(画素)毎にオーバーレイビットが設定されているか否かを判定する。
表示切替制御回路199は、この判定結果に基づいて、標準バッファメモリ197から読み出した表示イメージのオーバーレイビットの判定をした1ドット(画素)か又はこの判定した1ドット(画素)に対応する拡張バッファメモリ198から読み出した表示イメージの1ドット(画素)のいずれかを切替選択して出力することにより、超高精細表示装置20で表示させる。
表示切替制御回路199は、上記判定の結果、オーバーレイビットが設定されていない場合は、標準バッファメモリ197から読み出した表示イメージのオーバーレイビットの 判定をした1ドットを選択して出力し、またオーバーレイビットが設定されている場合にはオーバーレイビット判定をした1ドットに対応する拡張バッファメモリ198から読み出した表示イメージの1ドットを選択して出力する。
表示切替制御回路199は、このように標準フレームメモリ194aから読み出したすべての表示イメージに対してオーバーレイビットの設定の有無の判定及び入力した表示イメージの切替選択をすることによって、標準フレームメモリ194a及び拡張フレームメモリ194bから読み出した表示イメージをオーバーレイして表示させる働きをする。
このような表示切替制御回路199の働きにより、図5に示した標準フレームメモリ194a及び拡張フレームメモリ194bに記憶された表示イメージは、図5の表示画面に図示したようにオーバーレイされて表示される。即ち、拡張フレームメモリに記憶された解像度3200×2400ドットの表示イメージが標準フレームメモリ194aに記憶されたウィンドウ402のクライアント領域43にオーバーレイ表示される。
このようにオーバーレイ表示されるのは、先に説明したように標準フレームメモリのクライアント領域43を構成する各ドット(画素)をカラー表示するための2バイトデータにオーバーレイフラグが設定されているからである。
次に図3に示したフローチャートにおける動作説明をステップS4から再開する。ステップS2の判定で、超高精細表示用API15がウィンドウシステム18から取得した各ウィンドウの重ね合わせ順位に基づいて、超高精細表示アプリケーション12から表示要求のあったウィンドウが最前面で表示するように設定されていないと判断された場合には、ステップS4へ進む。ステップS4へ進む場合には、超高精細表示アプリケーション12から表示要求のあったウィンドウに対して、そのウィンドウより前面に表示されている他のウィンドウが少なくとも1つ存在することである。
超高精細表示用API15がウィンドウシステム18から取得した各ウィンドウの位置情報、サイズ及び重ね合わせ順位とに基づいて、超高精細表示アプリケーション12から表示要求のあったウィンドウとそのウィンドウより前面に表示されているウィンドウとの重なり具合をチェックして、超高精細表示アプリケーション12から表示要求のあったウィンドウがそのウィンドウより前面に表示されている他のウィンドウとの重なりが無く、実際の表示画面で表示される部分が存在するか否かを判定する(ステップS4)。
もし、超高精細表示アプリケーション12から表示要求のあったウィンドウのすべての部分が、そのウィンドウより前面に表示されている他のウィンドウと重なっている場合には、実際の表示画面においては表示されず見えない状態である。従ってこの場合には、超高精細表示用API15は何もせずにその処理は終了する(ステップS4の「なし」の場合)。
もし、超高精細表示アプリケーション12から表示要求のあったウィンドウの一部にそのウィンドウより前面に表示されている他のウィンドウとの重なりが無く実際の表示画面において表示される部分が存在する場合は、ステップS5へ進む(ステップS4の「あり」の場合)。
以後、超高精細表示アプリケーション12から表示要求のあったウィンドウの一部に他のウィンドウとの重なりが無く実際の表示画面において表示される部分が存在する一例として図10に示す場合を想定する。
続くステップS5では、超高精細表示用API15は、図10において超高精細表示アプリケーション12から表示要求のあったウィンドウ402がそれよりも前面に表示されているウィンドウ403と重なっていないクライアント領域43を複数の矩形領域に分割する。この矩形領域をView片と呼ぶ。図10では、View片43aとView片43bとが存在する。
超高精細表示用API15は、このView片43aとView片43bの部分において表示される表示イメージを拡張フレームメモリ194bに書き込む(ステップS5)。この表示イメージの拡張フレームメモリ194bへの書き込み動作は、先にステップS3で説明した動作と同様に行う。
次にステップS6において、超高精細表示用API15は、標準フレームメモリ194aに書き込まれたウィンドウ402のクライアント領域43のView片43aとView片43bに対応する位置の各画素をカラー表示するための2バイトデータの0ビット目にオーバーレイフラグを設定する。
このように超高精細表示用API15がステップS4からステップS6の動作を行うことにより、超高精細表示アプリケーション12から表示要求のあったウィンドウにおいて、そのウィンドウより前面に表示されている他のウィンドウと重なっていない部分が表示画面にオーバーレイ表示されることは、先の表示切替制御回路199の動作説明から明らかであるため、ここでその詳細な説明は省略する。
以後、超高精細表示アプリケーション12から表示要求のあったウィンドウが表示画面上でその表示位置が移動させられたり、その大きさが変更されたり、他のウィンドウとの重なりの状態が変更された場合には、超高精細表示用API15が図3に示したフローチャートに示した動作をすることにより、表示画面にオーバーレイ表示される。
ここで、基本フレームメモリ194aにウィンドウのイメージが書き込まれた場合に、超高精細表示装置20の表示画面にどのような位置関係で表示されるかを説明する。
図7に示すように標準フレームメモリにウィンドウ枠が書き込まれた場合を考える。この標準フレームメモリは、ウィンドウシステムが標準で管理する1600×1200ドットの解像度に対応した記憶容量を持ち、図示したように左上を原点とする座標軸が設定されているものとする。この座標軸は、表示画面の表示位置に対応している。
図7において、ウィンドウ枠のクライアント領域は、縦100ドット、横100ドットの大きさで左上の位置が座標(100,100)、右上の位置は座標(200,100)、右下の位置は座標(200,200)、左下の位置は座標(100,200)となる。このように標準フレームメモリにウィンドウ枠が書き込まれた場合、超高精細表示装置20には、図8に示すようにウィンドウ枠が表示される。図8では説明の便宜上超高精細表示装置20の表示画面に左上を原点する座標軸を設定した。
超高精細表示装置20の表示ドット数は3200×2400ドットであり、ウィンドウシステム18が標準で管理する1600×1200ドットに対して、縦横ともに2倍のドット数である。従って、標準フレームメモリに書き込まれた表示イメージは、縦横ともに2倍して超高精細表示装置20に表示することになる。即ち、図8に示すようにウィンドウ枠のクライアント領域の左上の位置は座標(200,200)となり、同様に左下の位置は座標(200,400)、右上の位置は座標(400,200)、右下の位置は座標(400,400)となる。
次に、超高精細表示アプリケーション12がウィンドウを表示し、そのウィンドウのクライアント領域に3200×2400ドットの解像度の表示イメージをオーバーレイ表示する場合に、超高精細表示装置の表示画面にどのような位置関係でウィンドウが表示されるかを説明する。即ち、標準フレームメモリにウィンドウ枠が書き込まれ、拡張フレームメモリにオーバーレイ表示するための3200×2400ドットの解像度の表示イメージが書き込まれた場合に、超高精細表示装置の表示画面にどのような位置関係でウィンドウが表示されるかを説明する。
このとき、超高精細表示アプリケーション12はそのウィンドウの表示要求により、超高精細表示用API15を用いて図9に示すように拡張フレームメモリにウィンドウ枠のクライアント領域に表示するための表示メージが書き込まれる。即ち、図9において、表示イメージは、その左上の位置が座標(200,200)、左下の位置が座標(200,400)、右上の位置が座標(400,200)、右下の位置が座標(400,400)となる。そして、この表示イメージの拡張フレームメモリに書き込まれた位置は、図8に示したように超高精細表示装置20の表示画面に表示されるクライアント領域と位置が合致する。
そして、先に図2における表示切替制御回路199について動作説明したように、表示切替制御回路199は、標準バッファメモリ197から読み出した1ドットの表示イメージデータにおいてオーバレイフラグの設定の有無をチェックする。もし、オーバレイフラグが設定されている場合には、表示切替制御回路199は標準バッファメモリ197から読み出し上記オーバレイフラグの設定の有無をチェックした1ドットのイメージデータに対応する拡張バッファメモリ198から読み出した1ドットの表示イメージを切り替えて出力することになる。
以下に、図11に示した画面コピー処理ルーチン21の動作を示すフローチャートに基づいて、画面コピー動作について説明する。
透過処理とは、画面コピーとして印刷するための画面イメージを構成する各画素を、上記拡大した基本イメージの画素と拡張フレームメモリ194bに記録されているオーバーレイイメージの画素とのいずれかから選択して、画面コピーとして印刷するための画面イメージを生成することである。即ち、オーバーレイフラグが設定されている画素の場合には、拡張フレームメモリ194bに記録されているオーバーレイイメージの画素を選択する。一方、オーバーレイフラグが設定されていない画素の場合には、上記拡大した基本イメージの画素を選択する。
11 一般アプリケーション
12 超高精細表示アプリケーション
13 OS(オペレーティングシステム)
14 表示表示用API
15 超高精細表示用API
16 グラフィックスエンジン
17 ディスプレイドライバー
18 ウィンドウシステム
19 表示制御装置
20 超高精細表示装置
Claims (2)
- 第1の解像度を持つ第1のイメージとこの第1のイメージよりも高い第2の解像度を持つ第2のイメージとをオーバーレイ表示するのに用いられる表示装置がコンピュータと接続されたシステムにおける前記表示装置の画面コピーをするための画面コピー方法であって、
前記コンピュータが、前記第1のイメージを当該コンピュータ内の第1のフレームメモリに書き込むステップと、
前記コンピュータが、前記第2のイメージを当該コンピュータ内の第2のフレームメモリに書き込むステップと、
前記コンピュータが、前記第1のフレームメモリに書き込まれている前記第1のイメージのうち前記第2のイメージに対応する領域の各画素データの所定ビット位置に、オーバーレイ表示制御のための特定フラグを設定するステップと、
前記コンピュータが、前記第1のフレームメモリに書き込まれている前記第1のイメージを前記第2の解像度に変換して当該コンピュータ内の第1のバッファメモリに書き込むステップと、
前記コンピュータが、前記第2のフレームメモリに書き込まれている前記第2のイメージを当該コンピュータ内の第2のバッファメモリに書き込むステップと、
前記コンピュータが、前記第1及び第2のバッファメモリにそれぞれ書き込まれているイメージを当該第1及び第2のバッファメモリから順次読み出すステップと、
前記コンピュータが、前記第1のバッファメモリから順次読み出されたイメージの画素データ毎に、当該画素データの所定ビット位置に前記特定フラグが設定されているかを判定するステップと、
前記特定フラグが設定されていないと判定された場合、前記コンピュータが、その判定に用いられた、前記第1のバッファメモリから読み出された画素データを選択して前記表示装置に表示させるステップと、
前記特定フラグが設定されていると判定された場合、前記コンピュータが、その判定に用いられた画素データに対応する、前記第2のバッファメモリから読み出された画素データを選択して前記表示装置に表示させるステップと、
前記コンピュータに対して画面コピーが指示された場合、前記コンピュータが、前記第1のフレームメモリに書き込まれている前記第1のイメージを当該コンピュータ内の画面コピーメモリに書き込むステップと、
高精細モードにおいて、前記画面コピーメモリに書き込まれている前記第1のイメージを前記第2の解像度に変換して当該画面コピーメモリに再度書き込むステップと、
前記コンピュータが、前記画面コピーメモリに書き込まれているイメージの画素データ毎に、当該画素データの所定ビット位置に前記特定フラグが設定されているかを判定するステップと、
高精細モードにおいて前記特定フラグが設定されていると判定された場合、前記コンピュータが、その判定に用いられた画素データに代えて、その画素データに対応する、前記第2のフレームメモリ内の画素データを前記画面コピーメモリに書き込むステップと
を具備することを特徴とする画面コピー方法。 - 第1の解像度を持つ第1のイメージとこの第1のイメージよりも高い第2の解像度を持つ第2のイメージとをオーバーレイ表示するのに用いられる表示装置がコンピュータと接続されたシステムにおける前記表示装置の画面コピーをするための画面コピー方法であって、
前記コンピュータが、前記第1のイメージを当該コンピュータ内の第1のフレームメモリに書き込むステップと、
前記コンピュータが、前記第2のイメージを当該コンピュータ内の第2のフレームメモリに書き込むステップと、
前記コンピュータが、前記第1のフレームメモリに書き込まれている前記第1のイメージのうち前記第2のイメージに対応する領域の各画素データの所定ビット位置に、オーバーレイ表示制御のための特定フラグを設定するステップと、
前記コンピュータが、前記第1のフレームメモリに書き込まれている前記第1のイメージを前記第2の解像度に変換して当該コンピュータ内の第1のバッファメモリに書き込むステップと、
前記コンピュータが、前記第2のフレームメモリに書き込まれている前記第2のイメージを当該コンピュータ内の第2のバッファメモリに書き込むステップと、
前記コンピュータが、前記第1及び第2のバッファメモリにそれぞれ書き込まれているイメージを当該第1及び第2のバッファメモリから順次読み出すステップと、
前記コンピュータが、前記第1のバッファメモリから順次読み出されたイメージの画素データ毎に、当該画素データの所定ビット位置に前記特定フラグが設定されているかを判定するステップと、
前記特定フラグが設定されていないと判定された場合、前記コンピュータが、その判定に用いられた、前記第1のバッファメモリから読み出された画素データを選択して前記表示装置に表示させるステップと、
前記特定フラグが設定されていると判定された場合、前記コンピュータが、その判定に用いられた画素データに対応する、前記第2のバッファメモリから読み出された画素データを選択して前記表示装置に表示させるステップと、
前記コンピュータに対して画面コピーが指示された場合、前記コンピュータが、前記第1のフレームメモリに書き込まれている前記第1のイメージを当該コンピュータ内の画面コピーメモリに書き込むステップと、
前記コンピュータが、前記画面コピーメモリに書き込まれているイメージの画素データ毎に、当該画素データの所定ビット位置に前記特定フラグが設定されているかを判定するステップと、
非高精細モードにおいて、前記コンピュータが、前記第2のフレームメモリに書き込まれている前記第2のイメージを前記第1の解像度に変換するステップと、
前記非高精細モードにおいて前記特定フラグが設定されていると判定された場合、前記コンピュータが、その判定に用いられた画素データに代えて、前記第1の解像度に変換された第2のイメージのうち、その判定に用いられた画素データに対応する画素データを前記画面コピーメモリに書き込むステップと
を具備することを特徴とする画面コピー方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003342545A JP4031421B2 (ja) | 2003-09-30 | 2003-09-30 | 画面コピー方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003342545A JP4031421B2 (ja) | 2003-09-30 | 2003-09-30 | 画面コピー方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005108035A JP2005108035A (ja) | 2005-04-21 |
JP4031421B2 true JP4031421B2 (ja) | 2008-01-09 |
Family
ID=34536787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003342545A Expired - Fee Related JP4031421B2 (ja) | 2003-09-30 | 2003-09-30 | 画面コピー方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4031421B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5034174B2 (ja) * | 2005-05-19 | 2012-09-26 | カシオ計算機株式会社 | データ処理装置、及びデータ処理プログラム |
-
2003
- 2003-09-30 JP JP2003342545A patent/JP4031421B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005108035A (ja) | 2005-04-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7800636B2 (en) | Magnification engine | |
US9412329B2 (en) | Methods and apparatuses for controlling display devices | |
JP4361080B2 (ja) | 画像データを生成するための方法、プログラム、および装置 | |
US4893258A (en) | Data processing apparatus having enlargement/reduction functions capable of setting different magnification in different directions | |
EP0327781B1 (en) | Method to automatically vary displayed object size with variations in window size | |
JP5015208B2 (ja) | ディスプレイ上に分割画面を表示する方法及び電子装置 | |
JPH09245179A (ja) | コンピュータグラフィックス装置 | |
JP6402826B2 (ja) | 情報処理装置、画像表示方法、プログラム | |
US6388679B1 (en) | Multi-resolution computer display system | |
JP4571437B2 (ja) | 解像度が異なる複数のウィンドウを表示するためのシステム、方法およびプログラム | |
US5334994A (en) | Image display device having multi-window system | |
US5195174A (en) | Image data processing apparatus capable of composing one image from a plurality of images | |
US5499110A (en) | Image processing apparatus for synthesizing different input data without using hard copy | |
JP3780601B2 (ja) | 画像処理装置およびそのプログラム記録媒体 | |
JP5616039B2 (ja) | ディスプレイのスクリーンを部分的にズームする方法とその方法を適用する電子デバイス | |
JP4031421B2 (ja) | 画面コピー方法 | |
JP2004219759A (ja) | 画像表示処理方法、画像表示処理装置、画像表示装置および画像表示処理システム | |
JP3881630B2 (ja) | コンピュータシステム | |
JP4621551B2 (ja) | 画像データの取得方法、画像データ取得装置、およびプログラム | |
JP3826941B2 (ja) | 描画命令のフックを利用した画像の転送 | |
JP3797371B2 (ja) | 描画命令のフックを利用した画像の転送 | |
JPS61163383A (ja) | 情報処理装置 | |
JP2533890B2 (ja) | 画面制御方式 | |
US6421059B1 (en) | Apparatus and method for rendering characters into a memory | |
JP3755674B2 (ja) | 画像処理装置および方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20050406 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050407 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20050415 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070412 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070424 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070724 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070921 |
|
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: 20071016 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071018 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101026 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111026 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111026 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121026 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121026 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131026 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |