(57)【特許請求の範囲】
【請求項１】
表示装置に表示されるウィンドウの状態を、ユーザが位置及びサイズの少なくとも一方を変更可能である開いた状態から、当該開いた状態よりも小さいサイズを有する画像で表される最小化状態へ遷移させる際の、ウィンドウ画像の表示方法であって、
入力装置を介して入力された、前記ウィンドウの状態を前記開いた状態から前記最小化状態へ切替えるコマンドに応答して、前記ウィンドウの現在の位置と、前記最小化状態の前記ウィンドウを表す画像を表示するための位置であって前記現在の位置と異なる位置とにおける、前記ウィンドウを表す画像の対応する点を接続する一組の線をパスとして規定する、パスを規定するステップと、
前記ウィンドウの前記開いた状態を表す画像が前記パスに沿って移動するにつれて、前記ウィンドウの前記開いた状態を表す画像の対向する外縁が前記一組の線に沿うものとなるよう前記ウィンドウの前記開いた状態を表す画像の前記対向する外縁を変形し、前記ウィンドウの前記開いた状態を表す画像を前記対向する外縁の変形に対応して縮尺して、前記ウィンドウの前記開いた状態を表す画像を前記開いた状態の大きさから前記ウィンドウの前記最小化状態を表す画像の大きさへ変化させる縮小ステップと、
前記ウィンドウの前記開いた状態を表す画像が前記パスに沿って移動しているような効果を表すために、前記縮小ステップにて縮尺された前記ウィンドウの前記開いた状態を表す画像を前記パスに沿った連続的な位置で前記表示装置に表示させるステップとを有することを特徴とする方法。
【請求項２】
前記コマンドが、前記ウィンドウの制御要素の操作を含むことを特徴とする請求項１記載の方法。
【請求項３】
前記一組の線が直線であることを特徴とする請求項１記載の方法。
【請求項４】
前記一組の線が、関数で規定される曲率を有することを特徴とする請求項１記載の方法。
【請求項５】
前記関数が正弦関数であることを特徴とする請求項４記載の方法。
【請求項６】
前記縮小ステップが、前記ウィンドウの前記開いた状態を表す画像の各スキャンラインをフィルタリングするステップを有することを特徴とする請求項１記載の方法。
【請求項７】
前記フィルタリングのステップがピクセル平均化手法を用いることを特徴とする請求項６記載の方法。
【請求項８】
前記フィルタリングのステップがピクセル除去手法を用いることを特徴とする請求項６記載の方法。
【請求項９】
前記ウィンドウの前記開いた状態を表す画像の各スキャンラインを、前記ウィンドウの開いた状態を表す画像とは異なる、前記最小化状態を表すための画像のスキャンラインと置換するステップを更に有することを特徴とする請求項１記載の方法。
【請求項１０】
前記パスを規定するステップが、前記規定したパスに関する情報を記憶装置に記憶するとともに、入力装置を介して入力された、前記ウィンドウの状態を前記最小化状態から前記開いた状態に切替えるコマンドに応答して、前記最小化状態の前記ウィンドウを表す画像を表示するための位置と前記開いた状態のウィンドウを表示する位置の間のパスを前記記憶したパスに関する情報を用いて規定し、
さらに、前記方法が、前記開いた状態の前記ウィンドウを表す画像が前記パスに沿って移動するにつれて、前記開いた状態の前記ウィンドウを表す画像のサイズを前記最小化状態の前記ウィンドウを表す画像の大きさから前記開いた状態の大きさへ変化させる拡大ステップをさらに有することを特徴とする請求項１記載の方法。
【請求項１１】
表示装置とユーザの指示を受け付ける入力装置とを有するコンピュータシステムであって、
前記表示装置に表示されるウィンドウであって、ユーザが位置及びサイズの少なくとも一方を変更可能である開いた状態のウィンドウを、当該開いた状態よりも小さいサイズを有する画像で表される最小化状態へ切替えるコマンドが前記入力装置を介して入力されると、前記ウィンドウの現在の位置と、前記最小化状態の前記ウィンドウを表す画像を表示するための位置であって前記現在の位置と異なる位置とにおける、前記ウィンドウを表す画像の対応する点を接続する一組の線をパスとして規定する、パスを規定する手段と、
前記ウィンドウの前記開いた状態を表す画像が前記パスに沿って移動するにつれて、前記ウィンドウの前記開いた状態を表す画像の対向する外縁が前記一組の線に沿うものとなるよう前記ウィンドウの前記開いた状態を表す画像の前記対向する外縁を変形し、前記ウィンドウの前記開いた状態を表す画像を該対向する外縁の変形に対応して縮尺して、前記ウィンドウの前記開いた状態を表す画像を前記開いた状態の大きさから前記ウィンドウの前記最小化状態を表す画像の大きさへ変化させる縮小手段と、
前記ウィンドウの前記開いた状態を表す画像が前記パスに沿って移動しているような効果を表すために、前記縮小手段にて縮尺された前記ウィンドウの前記開いた状態を表す画像を前記パスに沿った連続的な位置で前記表示装置に表示させる手段とを有することを特徴とするコンピュータシステム。
【請求項１２】
前記パスを規定する手段が、前記規定したパスに関する情報を記憶装置に記憶するとともに、入力装置を介して入力された、前記ウィンドウの状態を前記最小化状態から前記開いた状態に切替えるコマンドに応答して、前記最小化状態の前記ウィンドウを表す画像を表示するための位置と前記開いた状態のウィンドウを表示する位置の間のパスを前記記憶したパスに関する情報を用いて規定し、
さらに、前記コンピュータシステムが、前記開いた状態の前記ウィンドウを表す画像が前記パスに沿って移動するにつれて、前記開いた状態の前記ウィンドウを表す画像のサイズを前記最小化状態の前記ウィンドウを表す画像の大きさから前記開いた状態の大きさへ変化させる拡大手段をさらに有することを特徴とする請求項１１記載のコンピュータシステム。
【発明の詳細な説明】
【０００１】
（発明が属する技術分野）
本発明は全体としてコンピュータシステム用のグラフィカルユーザインタフェースに関する。特に、本発明はコンピュータオペレーティングシステムのグラフィカルユーザインタフェース内のウィンドウのサイズ変更(resizing)及び形状変更(reshaping)に関する。
【０００２】
（背景技術）
実質上全てのパーソナル及びビジネスコンピュータの最も重要なアスペクトはグラフィカルユーザインタフェース（ＧＵＩ）である。ユーザがコンピュータとインタラクトするために用いるのは主にＧＵＩである。一般に、ＧＵＩはデスクトップ、ウィンドウ、アイコン及び、プルダウン及びポップアップメニューから構成される。
【０００３】
上述のように、ＧＵＩは一般にウィンドウを用いる。ウィンドウはコンピュータディスプレイの一部である。最も一般的には、ウィンドウはユーザが例えばフォルダ及びファイルに関する情報を見たり、ソフトウェアアプリケーションとインタラクトしたり、プログラムを実行したりすることのできる矩形状の領域である。もちろん、ウィンドウはコンピュータディスプレイ内で開いたり、閉じたり、物理的に移動したりすることが可能である。
【０００４】
さらに、ユーザは多数のウィンドウを同時に開いた状態にすることが可能である。しかし、ユーザがいくつかのウィンドウを開くと、各ウィンドウの全体を表すにはコンピュータディスプレイの空間が不十分となるかもしれない。従って、コンピュータディスプレイは散らかった状態になりうる。ディスプレイ画面を整理された状態に保つことを助けるため、ウィンドウが互いに重なっても見えるようにする方法が開発され、ユーザにウィンドウのサイズ変更、形状変更及び／又は位置変更を許すこともまたディスプレイ画面を整理された状態に保つことを助ける。ウィンドウのサイズ変更のための代表的な方法は、Cline等に対する米国特許第5,546,520号に示されている。情報のスクロールに伴ってウィンドウを変更又はサイズ変更するための他の代表的な方法が米国特許第号に記載されている。
【０００５】
ウィンドウに基づくＧＵＩとともに用いられる他の一般的な方法は、ウィンドウの”最小化”及び”最大化”を含む。ウィンドウの最小化及び最大化の方法はウィンドウのサイズ変更及び位置変更を含む。ウィンドウを最小化する際、ウィンドウは大きな、又はフルサイズのウィンドウの縮小表示、又はアイコン表示へ大きさが縮小される。ウィンドウを最大化する際、ウィンドウはウィンドウの縮小表示、又はアイコン表示から、より大きな、又はフルサイズのウィンドウへ拡大される。本技術分野の当業者が容易に理解するであろうように、ユーザはウィンドウの最小化又は最大化処理を一般にはウィンドウ自体に付随するオンスクリーンボタンの選択、又はキーボードの１つ以上のキーを押下することによって開始することができる。
【０００６】
ウィンドウの操作（例えば、開く、閉じる、サイズ変更、位置変更）に関し、従来のオペレーティングシステムは主に効率に焦点を合わせていた。しかし、オペレーティングシステムはこれら動作、特に最小化、最大化及び復元処理に関する美しさについては着目していなかった。従って、従来方法に関する全ての機能を提供しつつ、より美しく心地よい操作を提供することが望ましいであろう。
【０００７】
（発明の概要）
以上の検討に基づく本発明の主な目的は、表示されたウィンドウの位置変更、サイズ変更又は一般的な操作の際の美しく心地よい視覚効果を提供することにある。
【０００８】
本発明の別の目的は、拡大又は縮小されたウィンドウの最小化又は最大化に関わるユーザを支援する、美しく心地よい方法を提供することにある。
【０００９】
本発明の別の目的は、ユーザの注意を最小化又は最大化されたウィンドウの最終的な位置に導くことにある。
【００１０】
上述の目的及び他の目的は、第１及び第２ウィンドウのオンスクリーン位置に関する情報を取得し、第１及び第２ウィンドウ位置を接続する曲線の組を定義し、この曲線を経由して第１ウィンドウ位置から第２ウィンドウ位置へ滑るように動いているように見えるように第１ウィンドウを繰り返し縮尺することによって達成される。さらに、本発明の視覚効果はウィンドウの最大化及び最小化、又はウィンドウの隠蔽及び復元処理の間、滑らかで、美しく心地よい効果を提供するとともに、ユーザが最大化又は最小化ウィンドウの一方から他方への遷移を視覚的に追うことが可能であるため、ユーザが最大化されたウィンドウと最小化されたウィンドウと結びつけることを支援する。
【００１１】
本発明の他の特徴及びそれによる利点は、添付図面に図示された具体的な実施形態に関して以下より詳細に説明される。
【００１２】
（発明の詳細な説明）
以下の説明においては、本発明を完全な理解を提供するため、限定ではなく説明を目的として、特定の手法、段階及びシステム構成部品等の詳細がが説明される。しかし、本発明がこれらの詳細とは別の他の実施形態においても実施可能であることは本技術分野に属する当業者には理解されるところであろう。いくつかの事例において、周知の概念及び方法についての詳細な説明は、本発明の説明が曖昧にならないよう省略されている。
【００１３】
本発明の代表的な実施形態は、例えばアップル社のMacintosh（登録商標）コンピュータシステムに実施可能である。特に、ウィンドウの管理は１９９９年１２月２０日に出願された米国特許出願第09/467,074号、「統合とアクセスを提供するためのユーザインタフェース(User Interface for Providing Consolidation and Access)」において説明されるツールと共に用いることが可能である。しかし、ここで説明される手法が多くのコンピュータシステムのいずれにも実施可能であることは本技術分野に属する当業者には容易に理解されるところであろう。一般に、そのようなコンピュータシステムは、図１に示すように、情報を通信するためのバス１００と、バスに接続され、情報及び命令を処理するためのプロセッサ１０１と、バス１００に接続され、プロセッサ１０１用の情報及び命令を格納するためのランダムアクセスメモリ１０２と、バス１００に接続され、プロセッサ１０１用の静的な情報及び命令を格納するための読み出し専用メモリ１０３と、バス１００に接続され、情報及び命令を格納するための、磁気ディスク及びディスクドライブ又はＣＤＲＯＭドライブ等のデータ記憶装置１０４と、バス１００に接続され、コンピュータのユーザに対して情報を表示するためのディスプレイ１０５と、バス１００に接続され、情報及びコマンド選択をプロセッサ１０１へ通信するための、英数及びファンクションキーを含む英数入力装置１０６と、バスに接続され、情報及びコマンド選択をプロセッサ１０１へ通信するためのカーソル制御装置１０７及び、バス１００に接続され、コマンド選択をプロセッサ１０１へ通信するための信号生成装置１０８を有する。
【００１４】
図２Ａ〜図２Ｆは本発明の代表的な実施形態に係るウィンドウ最小化及び最大化手法を説明する図である。より具体的には、図２Ａ〜図２Ｆは、ウィンドウ２００を、第１ウィンドウ位置２１０から、最小化、すなわち縮小表示２５０に縮小された第２ウィンドウ位置２２０へ、最小化及び位置変更する過程で起こる視覚効果を表している。縮小されたウィンドウ表示２５０は、例えばアイコン表示であっても、元のウィンドウ２００の小型版であってもよいことは理解されるであろう。図２Ａ〜図２Ｆに示された視覚効果の説明を容易にするため、手法を第１フェーズＡと第２フェーズＢに分割する。図２Ａ〜図２ＣはフェーズＡに関するイベントを示し、図２Ｄ〜図２ＦはフェーズＢに関するイベントを示す。
【００１５】
図２Ａに示されるように、最初のイベントの間、第１ウィンドウ位置２１０及び第２ウィンドウ位置を定義する位置情報が取得される。最初０に設定される振幅(amplitude)を有する２つの曲線２３０、２４０が、図示のように、２つの曲線２３０、２４０が点Ｑ及びＲからそれぞれ始まり、点Ｓ及びＴでそれぞれ終了するように形成される。曲線２３０、２４０はユーザに見えないことが好ましい。図２Ａ〜図２Ｆに示される実施形態において、２つの曲線２３０、２４０が始まる点Ｑ及びＲは、それらが第２ウィンドウ位置２２０から最も離れた、第１ウィンドウ位置２１０の角の点であり、ウィンドウ２００が第１ウィンドウ位置２１０から第２ウィンドウ位置２２０へ縮尺及び移動される際によりドラマチックな効果を生成するので選択されている。しかし、２つの曲線２３０、２４０が始まる点Ｑ及びＲは、第２ウィンドウ位置２２０に最も近い第１ウィンドウ位置２１０の角の点として選択することも可能である。この場合、曲線２３０、２４０の組は短くなり、図２Ｂ〜図２Ｃに示される縮尺段階は不要になるであろう。
【００１６】
図２Ｂ〜図２Ｃに示される第２及び第３イベントの間、曲線２３０、２４０の大きさはこれら曲線２３０、２４０が第１ウィンドウ位置２１０に関連する点Ｑ及びＲから、第２ウィンドウ位置２２０に関連する点Ｓ’及びＴ’へ達するまで調整される。本技術分野に属する当業者が理解するであろうように、曲線２３０、２４０は任意の様々な異なる関数によって定義することが可能であ。図２Ａ〜図２Ｆに示した例では、曲線２３０又は２４０は正弦関数によって表現される。従って、曲線２３０、２４０を定義する基本的な式は以下の式（１）によって与えられる。
ｙ＝Ａｓｉｎ（ｘ）    （１）
ここで、ｘは図２Ａに示されるセグメントＱＳ及びＲＴで表される初期曲線２３０、２４０に沿った長さを表し、ｙは点Ｓ及びＴからＳ’及びＴ’方向における、ｘが−π／２と＋π／２ラジアンの範囲でのこれらセグメントに垂直な大きさ(dimension)を表す。Ａは曲線２３０についての振幅であり、０から以下の式（２）で与えられる値まで増加する。
Ａ＝０．５＊ＳＳ’
ここでＳＳ’は点ＳからＳ’を結ぶ線に沿った長さを表す。曲線２４０についての振幅Ａは０から以下の式（３）で与えられる値まで増加する。
Ａ＝０．５＊ＴＴ’
ここでＴＴ’は点ＴからＴ’を結ぶ線に沿った長さを表す。曲線２３０、２４０の振幅Ａが調整されるに伴い、図２Ｂ及び図２Ｃに示すように、ウィンドウ２００はその外縁を曲線２３０、２４０の調整された位置に従うよう変形され、また画像の残りは外縁の変形に対応して縮尺されるようにして、曲線内部に適合するように縮尺される。
【００１７】
図２Ｂ及び図２Ｃに示されるようなウィンドウ２００に関する画像縮尺は、画像の各スキャンラインを様々な方法で操作することによって達成することが可能である。画像を縮尺する１つの手法は、各スキャンラインの大きさが減少するにつれて隣接するピクセルを平均化するスキャンラインのフィルタリングを伴う。この手法は、見た目の良い、ピクセル輝度のなめらかな遷移をもたらす。スキャンラインを縮尺する別の方法は、各ラインが正しい大きさになるまで中間のピクセル(interposing pixels)を除去することである。ピクセルの除去はプロセッサ負荷が少ないが、通常この代替手法では上述の平均化手法を用いて得られる滑らかな遷移が得られない。本技術分野の当業者には理解されるであろうが、本発明の精神を離れることなく、様々な、他の周知のフィルタリング手法をスキャンラインの縮尺に用いることができる。
【００１８】
フェーズＡは曲線２３０、２４０の定義及び、曲線２３０、２４０内部に適合するようなウィンドウ２００の縮尺に関係したが、フェーズＢは縮尺したウィンドウ２００の第２ウィンドウ位置２２０への移動に関する。図２Ｄ〜図２Ｆに示すように、ウィンドウ２００は第２位置２２０へ向かって滑るように動いているように見える。このような見た目のスライディングモーションを達成する１つの方法は、曲線２３０、２４０間の対応する距離によって定義されるような、各スキャンラインの縮尺された長さを、第１ウィンドウ位置２１０から第２ウィンドウ位置２２０への方向のパスに沿ってスキャンラインがずらされるのに伴って決定し、第１ウィンドウ位置２１０から第２ウィンドウ位置２２０への過渡期における曲線２３０、２４０間の対応する距離の間に適合するようスキャンラインを縮尺することである。各スキャンラインの縮尺は、上述したピクセル平均化又はピクセル除去手法を用いて達成することができる。さらに、各スキャンラインは他のスキャンラインと調和して移動及び縮尺され、ウィンドウ２００が曲線２３０、２４０の間をその最終的な位置２２０へ向かって滑るように動くような見かけを生成する。
【００１９】
図２Ｆに示される第６のイベントはウィンドウ最小化処理の完了を示している。すなわち、ウィンドウ２００が第１ウィンドウ位置２１０から第２ウィンドウ位置２２０へのその見かけ上のスライディングモーションを完全に終了し、ウィンドウ２００の縮小表示がウィンドウ２５０として示されている。前述の通り、ウィンドウ２５０は元のウィンドウ２００の縮小版でも、アイコンのように全く異なる画像であっても良い。アイコンで表されるウィンドウはアイコン化されたと言われる。
【００２０】
画像を、ウィンドウの最小化形式２５０を表すのに使用可能なアイコンに変化させる手法は様々である。そのような手法の１つは、最小化される画像に関するスキャンラインが、第２位置２２０内部の最終的な位置に達した後消滅し、その位置に対応する、アイコンに関するスキャンラインを残すことを可能にする。このようにして、アイコンの形成は容器を液体で満たすのと似た見かけを与える。本技術分野に属する当業者に明らかな、画像をアイコンに変化させるための他の様々な手法を、本発明の精神を離れることなく用いることが可能である。
【００２１】
最小化された後、ウィンドウは図２Ａ〜図２Ｆに示されたイベントを逆に行って元の大きさ及び位置２１０に復帰することができる。本発明の１つの実施形態においては、オペレーティングシステムが曲線２３０、２４０に関する値をメモリに保持するであろう。その結果、ウィンドウ２００を最小化表示２５０の位置２２０から元の大きさ及び位置２１０に復元する際に、曲線を再計算する必要がない。
【００２２】
図３Ａ〜図３Ｆは、本発明の代表的な実施形態に係る、隠蔽されたウィンドウ３００の復元手法に関する複数のイベントを示す。図３Ａ〜図３Ｆにおいて、隠蔽されたウィンドウ３００はタイトルバー３１０で表されている。しかし、本技術分野における当業者は、隠蔽されたウィンドウがアイコン、サムネイル等の、タイトルバー以外のアイテムによって表されうることを理解するであろう。復元されると、ウィンドウ３００はウィンドウ位置３２０を占有する。
【００２３】
図３Ａに示される第１のイベントにおいて、曲線３３０、３４０が定義される。ここで、曲線３３０、３４０は、図示のように、タイトルバー３１０及びウィンドウ位置３２０を滑らかな連続曲線で結ぶ。曲線３３０、３４０はユーザに見えないことが好ましい。ここでも、曲線は様々な関数で定義可能である。本実施形態では、曲線３３０、３４０は半周期の正弦波関数(half sine wave function)で定義される。図２Ａ〜図２Ｆに示した曲線２３０、２４０とは異なり、曲線３３０、３４０は互いに反転されている（すなわち、πラジアン位相がずれている）ように見える。しかし、本技術分野に属する当業者は、図３Ａ〜図３Ｆに示される実施形態が、同一又は異なる振幅を有する、互いに同相な曲線を用いることが可能であることを理解するであろう。
【００２４】
図３Ｂ〜図３Ｃに示される第２及び第３のイベントの間、ウィンドウ２００は、図２Ａ〜図２Ｆとともに上述したウィンドウ２００の滑らかな移動と似た方法でタイトルバー３１０の後ろから滑らかに移動して現れる。ウィンドウ３００は、図３Ｄに示される第４のイベントに例示されるように、ウインド３００に関する画像全体が見えるようになるまで、一度に１スキャンラインずつ、各スキャンラインが曲線３３０、３４０の間の対応する距離に従って連続的に縮尺されながら滑るように動き続ける。ここでも、上述したピクセル平均化又はピクセル除去手法といったフィルタ手法を実施することにより、スキャンラインの縮尺を達成することができる。
【００２５】
図３Ｅ〜図３Ｆに示される第５及び第６のイベントは、縮尺された画像が完全に視野内にあり、曲線３３０、３４０が最終的にウィンドウ３００の２辺を形成するまで、その振幅が０に向かって徐々に減衰される段階を示している。曲線３３０、３４０が調整されるに伴って、ウィンドウ３００の画像が曲線３３０、３４０の内側に正確に適合するように縮尺される。スキャンラインは様々な手法、例えば、上述したピクセル平均化及び／又はピクセル除去手法をある意味多少逆転させた方法を実行する外挿手法によって、曲線３３０、３４０の内部に適合するように縮尺することが可能である。
【００２６】
図３Ａ〜図３Ｆに示したイベントは逆にも実行することが可能であり、その場合には、例えばタイトルバー３１０の後ろに、ウィンドウ３００を隠すための方法を提供する。上述の例にあったように、曲線３３０、３４０を定義する値は、容易に再利用できるよう、ウィンドウ３００を隠す際にオペレーティングシステムによって保存しておくことができる。
【００２７】
図３Ａ〜図３Ｆに示した実施形態と似た、ウィンドウ復元に関する様々な代替実施形態を実現することが可能である。図４Ａ〜図４Ｆはこのような代替実施形態の１つを示す。図４Ａ〜図４Ｃにおいて、最初隠蔽されているウィンドウ４００は、タイトルバー４１０の後ろから、この例では０の振幅を有する曲線４１５、４２０の間を落下するような見かけで復元される。図４Ｄに示されるようにウィンドウ４００が完全に延ばされると、ウィンドウ４００は図４Ｅ及び図４Ｆに示すように、「展開」されるように見える。
【００２８】
図５Ａ〜図５Ｆは更に別の代替実施形態を示す。この場合、最初隠蔽されているウィンドウ５００は図５Ａ〜図５Ｃに示すように、タイトルバー５１０の後ろから落下するように見える方法で復元される。図５Ｄに示すようにウィンドウ５００が完全に延ばされると、図５Ｅに示すようにウィンドウ５００は水平に拡張され、フルサイズウィンドウとしての定常状態に達するまで、図５Ｆに示すようにバネのような揺れ動き又は縦揺れ効果(bouncing effect)を与えられる。
【００２９】
図６は、例えば、図２Ａ〜図２Ｆに示したウィンドウ最小化／最大化手法の実施に用いられるであろう方法に関するステップを示す。ステップ６０５に示されるように、この方法は、もちろん初期化ステップから始まる。一般に、このステップはカーソル制御装置を用いた、最小化／最大化されるウィンドウに物理的に付随するオンスクリーンボタンの選択、又はキーボードの１つ以上のキーの押下を通じてユーザによって達成される。
【００３０】
ステップ６１０において、曲線のペアが定義される。図２Ａにおいて、これら曲線２３０、２４０はＱＳ及びＲＴによって示される。前述の通り、これら曲線は任意の数の関数で定義できる。上述の例においては、これら曲線は半周期の正弦波関数によって定義される。曲線は当初０の振幅を有し、最小化／最大化されるウィンドウの縁に沿った状態にある。
【００３１】
ステップ６１５の間、図２Ａ〜図２Ｃに示されるように、点Ｓ及びＴが、ウィンドウの所望位置に関する点Ｓ’及びＴ’に向かって水平にずれるように見える一方、ウィンドウの現在位置に関する、点Ｑ及びＲが固定され続けるかのように、各正弦波曲線の振幅が増大される。各曲線の振幅が増加されるに伴い、ウィンドウに関するスキャンラインが、連続的に変化する曲線内部に適合するよう縮尺される。スキャンラインの縮尺に使用可能な様々な手法については前述した。
【００３２】
各曲線の振幅増加及びそれに従ったスキャンラインの縮尺の後、判定ステップ６２０によって示されるように、Ｓ’及びＴ’がそれぞれ各曲線に沿った点となるのに十分な程度、各曲線の振幅が増加されたか否かについての判定がなされる。判定ステップ６２０からの”ＮＯ”経路で示されるように、振幅がまだ十分に増やされていない場合には、ステップ６１５が繰り返される。しかし、判定ステップ６２０からの”ＹＥＳ”経路で示されるように、振幅が十分増やされている場合には、ウィンドウがその所望の位置に向かって移動を開始する。
【００３３】
ステップ６２５に従い、ウィンドウは、所望位置へのスキャンライン毎のウィンドウのずらしを含む処理を通じて所望位置へ動かされる。ウィンドウがずらされるとともに、スキャンラインは各スキャンラインの長さが曲線間の対応する距離に等しくなるよう連続的に縮尺される。これによりウィンドウが所望位置へ向かって曲線の間を滑るように動いているような見かけが生成される。
【００３４】
最終的に、ウィンドウに関する各スキャンラインが所望の位置に達する。従って、スキャンラインがずらされ、かつ縮尺されるに伴い、ウィンドウが所望位置を占めるようにスキャンラインが所定位置に全部ずらされたか否かを判定することが必要である。この判定は判定ステップ６３０に従って行われる。スキャンラインがまだ全部は所定位置にないと判定された場合、判定ステップ６３０からの”ＮＯ”経路に従い、ステップ６２５が繰り返される。しかし、スキャンラインが全て所定位置にあり、ウィンドウが所望位置を完全に占有すると判定された場合には、判定ステップ６２５からの”ＹＥＳ”経路に従い、処理が完了すると共に方法が終了する。
【００３５】
図７は例えば図３Ａ〜図３Ｆに示したウィンドウ復元手法に用いられるであろう方法に関するステップを示す。ステップ７０５に示されるように、この方法は、初期化ステップから始まる。上述した方法と同様、ユーザはこの方法をオンスクリーンボタンの選択、又はキーボードの１つ以上のキーの押下を通じて起動することができる。
【００３６】
ステップ７０８において、曲線のペアが定義される。図３Ａにおいて、それらは曲線３３０、３４０として示される。本例においても、曲線は半周期の正弦波関数によって定義される。しかし、ここで正弦波関数は互いに反転され、互いにπラジアン位相がずらされているかのように見えるが、同一の振幅を有する。上述の例では、２つの曲線が互いに同相であるが、異なる振幅を有するように見えていた。
【００３７】
次のステップ７１０の間、ウィンドウ、例えば図３Ａ〜図３Ｆに示されるウィンドウ３００、に関するスキャンラインは、タイトルバー、アイコン又はサムネイル等の最小化ウィンドウ表示の真下から、２つの曲線の間を滑るように動くように見えるようにずらされると共に縮尺される。各スキャンラインのずらし及び縮尺の後、ウィンドウが完全に延ばされたか否かについての判定が、判定ステップ７１５に示すように行われる。ステップ７１５からの”ＮＯ”経路によって示されるように、ウィンドウがまだ完全に延ばされていないと判断された場合、ステップ７１０が繰り返される。しかし、ステップ７１５からの”ＹＥＳ”経路によって示されるように、ウィンドウが完全に延ばされたと判定された場合、ステップ７２０に示されるように、曲線に関する振幅が削減される。
【００３８】
曲線に関する振幅が削減された後、ウィンドウが完全に展開されたか否かに関する判定が行われる。これは曲線の振幅が０に達した際に発生する。この判定は判定ステップ７２５に従ってなされる。曲線の振幅が０に達していない場合には、判定ステップ７２５の”ＮＯ”経路で示されるように、ステップ７２０が繰り返される。しかし、判定ステップ７２５から終了ステップ７３０への”ＹＥＳ”経路によって示されるように、曲線の振幅が０であれば、ウィンドウが完全に展開されており、方法を終了可能である。
【００３９】
本技術分野に属する当業者は、本発明の精神又は本質的な特性を離れることなく、他の特定の形式で本発明を実施可能であることを理解するであろう。例えば、本発明はその間を画像が縮尺され、それに沿って第１位置から第２位置へ画像が滑らされる曲線を用いて説明されてきたが、曲線の利用には直線を含む任意の曲線の使用が予期されている。さらに、ここで説明された実施形態はコンピュータ画面上での縦方向における移動を示したが、本発明はコンピュータ画面上の任意に方向に実施することが可能である。加えて、複数の縮尺効果を画像の縮尺及び滑らかな移動に用いることが可能であり、それは本技術分野に属する当業者が、本発明の精神を離れることなく上述した遷移の芸術的効果を高めるためになし得る範囲のことであろう。
【００４０】
従って、本明細書で開示された実施形態はいかなる観点からも限定的ではなく、例示であると見なされる。本発明の範囲は上述の説明ではなく添付された特許請求の範囲によって示され、その意味に含まれるか、等価である範囲のいかなる変更も本発明に包含されることが意図されている。
【図面の簡単な説明】
【図１】  本発明を実施可能な汎用コンピュータシステムを示す図である。
【図２Ａ】、
【図２Ｂ】、
【図２Ｃ】、
【図２Ｄ】、
【図２Ｅ】、
【図２Ｆ】  本発明の代表的な実施形態に係る、ウィンドウの最小化及び最大化手法を示す図である。
【図３Ａ】、
【図３Ｂ】、
【図３Ｃ】、
【図３Ｄ】、
【図３Ｅ】、
【図３Ｆ】  本発明の代表的な実施形態に係る、ウィンドウの復元及び隠蔽手法を示す図である。
【図４Ａ】、
【図４Ｂ】、
【図４Ｃ】、
【図４Ｄ】、
【図４Ｅ】、
【図４Ｆ】  本発明の代表的な実施形態に係る、別のウィンドウの復元及び隠蔽手法を示す図である。
【図５Ａ】、
【図５Ｂ】、
【図５Ｃ】、
【図５Ｄ】、
【図５Ｅ】、
【図５Ｆ】  本発明の代表的な実施形態に係る、更に別のウィンドウの復元及び隠蔽手法を示す図である。
【図６】  本発明の代表的な実施形態に係る、ウィンドウの最小化及び最大化方法を説明するフローチャートである。
【図７】  本発明の代表的な実施形態に係る、ウィンドウの復元及び隠蔽方法を説明するフローチャートである。
【図１】
0004447812.tif 000002
【図２Ａ】
0004447812.tif 000003
【図２Ｂ】
0004447812.tif 000004
【図２Ｃ】
0004447812.tif 000005
【図２Ｄ】
0004447812.tif 000006
【図２Ｅ】
0004447812.tif 000007
【図２Ｆ】
0004447812.tif 000008
【図３Ａ】
0004447812.tif 000009
【図３Ｂ】
0004447812.tif 000010
【図３Ｃ】
0004447812.tif 000011
【図３Ｄ】
0004447812.tif 000012
【図３Ｅ】
0004447812.tif 000013
【図３Ｆ】
0004447812.tif 000014
【図４Ａ】
0004447812.tif 000015
【図４Ｂ】
0004447812.tif 000016
【図４Ｃ】
0004447812.tif 000017
【図４Ｄ】
0004447812.tif 000018
【図４Ｅ】
0004447812.tif 000019
【図４Ｆ】
0004447812.tif 000020
【図５Ａ】
0004447812.tif 000021
【図５Ｂ】
0004447812.tif 000022
【図５Ｃ】
0004447812.tif 000023
【図５Ｄ】
0004447812.tif 000024
【図５Ｅ】
0004447812.tif 000025
【図５Ｆ】
0004447812.tif 000026
【図６】
0004447812.tif 000027
【図７】
0004447812.tif 000028